PCEngineFans.com - The PC Engine and TurboGrafx-16 Community Forum

Tech and Homebrew => Turbo/PCE Game/Tool Development => Topic started by: dshadoff on November 04, 2012, 01:24:33 PM

Title: HuVideo
Post by: dshadoff on November 04, 2012, 01:24:33 PM
I finally got a chance to look into some really cool information that tomaitheous had put together previously on the subject of HuVideo.
http://pastebin.com/raw.php?i=EejMA7jF

I was thinking that since the data is uncompressed, it'd be possible to hardsub the cinemas.
I got as far as identifying all of the HuVideos; the next steps were going to be:
- extract the ADPCM for each video for somebody to translate into English
- identify whether any palette sets are relatively consistent across entire videos, in order to imprint the hardsubs into the frame, using existing palette entries

So I thought I'd share the initial information below, since I found it.
Note that Gulliver Boy has over 30 minutes of HuVideo in it (!)


Gulliver Boy:

filesize = 436518912
Found video at  A801000, 2319 frames (231 seconds)
Found video at  C330000, 394 frames (39 seconds)
Found video at  C7D0000, 466 frames (46 seconds)
Found video at  CD48000, 95 frames (9 seconds)
Found video at  CE67000, 276 frames (27 seconds)
Found video at  D1A5000, 152 frames (15 seconds)
Found video at  D36F000, 495 frames (49 seconds)
Found video at  D93E000, 201 frames (20 seconds)
Found video at  DB9B000, 1019 frames (101 seconds)
Found video at  E78E000, 1412 frames (141 seconds)
Found video at  F81C000, 509 frames (50 seconds)
Found video at  FE15000, 162 frames (16 seconds)
Found video at  FFFD000, 558 frames (55 seconds)
Found video at 10689000, 192 frames (19 seconds)
Found video at 108CB000, 128 frames (12 seconds)
Found video at 10A4D000, 155 frames (15 seconds)
Found video at 10C20000, 180 frames (18 seconds)
Found video at 10E3E000, 514 frames (51 seconds)
Found video at 11446000, 143 frames (14 seconds)
Found video at 115F5000, 364 frames (36 seconds)
Found video at 11A3B000, 233 frames (23 seconds)
Found video at 11CF8000, 237 frames (23 seconds)
Found video at 11FC1000, 214 frames (21 seconds)
Found video at 12245000, 868 frames (86 seconds)
Found video at 12C73000, 265 frames (26 seconds)
Found video at 12F90000, 617 frames (61 seconds)
Found video at 136CD000, 136 frames (13 seconds)
Found video at 13867000, 277 frames (27 seconds)
Found video at 13BA8000, 236 frames (23 seconds)
Found video at 13E6E000, 702 frames (70 seconds)
Found video at 146AA000, 349 frames (34 seconds)
Found video at 14AC3000, 467 frames (46 seconds)
Found video at 1503E000, 1439 frames (143 seconds)
Found video at 1611D000, 943 frames (94 seconds)
Found video at 16C2C000, 992 frames (99 seconds)
Found video at 177CE000, 216 frames (21 seconds)
Found video at 17A58000, 240 frames (24 seconds)
Found video at 17D9D000, 240 frames (24 seconds)
ending...  Total HuVideo = 18405 frames (1840 seconds), in 38 videos


Yuna HuVideo:

filesize = 404658176
Found video at  B83F000, 710 frames (71 seconds)
Found video at 17933800, 710 frames (71 seconds)
ending...  Total HuVideo = 1420 frames (142 seconds), in 2 videos



Yuna 2 - Eien no Princess:

filesize = 202635264
Found video at  B83F000, 710 frames (71 seconds)
ending...  Total HuVideo = 710 frames (71 seconds), in 1 videos
Title: Re: HuVideo
Post by: Sadler on November 04, 2012, 01:38:08 PM
Very happy to see you posting. Looking forward to what you come up with! While early FMV is an easy whipping boy, I think there's a lot of potential here. Let's face it, this is were quick time events came from.  
Title: Re: HuVideo
Post by: BigusSchmuck on November 05, 2012, 01:30:19 AM
I finally got a chance to look into some really cool information that tomaitheous had put together previously on the subject of HuVideo.
http://pastebin.com/raw.php?i=EejMA7jF

I was thinking that since the data is uncompressed, it'd be possible to hardsub the cinemas.
I got as far as identifying all of the HuVideos; the next steps were going to be:
- extract the ADPCM for each video for somebody to translate into English
- identify whether any palette sets are relatively consistent across entire videos, in order to imprint the hardsubs into the frame, using existing palette entries

So I thought I'd share the initial information below, since I found it.
Note that Gulliver Boy has over 30 minutes of HuVideo in it (!)


Gulliver Boy:

filesize = 436518912
Found video at  A801000, 2319 frames (231 seconds)
Found video at  C330000, 394 frames (39 seconds)
Found video at  C7D0000, 466 frames (46 seconds)
Found video at  CD48000, 95 frames (9 seconds)
Found video at  CE67000, 276 frames (27 seconds)
Found video at  D1A5000, 152 frames (15 seconds)
Found video at  D36F000, 495 frames (49 seconds)
Found video at  D93E000, 201 frames (20 seconds)
Found video at  DB9B000, 1019 frames (101 seconds)
Found video at  E78E000, 1412 frames (141 seconds)
Found video at  F81C000, 509 frames (50 seconds)
Found video at  FE15000, 162 frames (16 seconds)
Found video at  FFFD000, 558 frames (55 seconds)
Found video at 10689000, 192 frames (19 seconds)
Found video at 108CB000, 128 frames (12 seconds)
Found video at 10A4D000, 155 frames (15 seconds)
Found video at 10C20000, 180 frames (18 seconds)
Found video at 10E3E000, 514 frames (51 seconds)
Found video at 11446000, 143 frames (14 seconds)
Found video at 115F5000, 364 frames (36 seconds)
Found video at 11A3B000, 233 frames (23 seconds)
Found video at 11CF8000, 237 frames (23 seconds)
Found video at 11FC1000, 214 frames (21 seconds)
Found video at 12245000, 868 frames (86 seconds)
Found video at 12C73000, 265 frames (26 seconds)
Found video at 12F90000, 617 frames (61 seconds)
Found video at 136CD000, 136 frames (13 seconds)
Found video at 13867000, 277 frames (27 seconds)
Found video at 13BA8000, 236 frames (23 seconds)
Found video at 13E6E000, 702 frames (70 seconds)
Found video at 146AA000, 349 frames (34 seconds)
Found video at 14AC3000, 467 frames (46 seconds)
Found video at 1503E000, 1439 frames (143 seconds)
Found video at 1611D000, 943 frames (94 seconds)
Found video at 16C2C000, 992 frames (99 seconds)
Found video at 177CE000, 216 frames (21 seconds)
Found video at 17A58000, 240 frames (24 seconds)
Found video at 17D9D000, 240 frames (24 seconds)
ending...  Total HuVideo = 18405 frames (1840 seconds), in 38 videos


Yuna HuVideo:

filesize = 404658176
Found video at  B83F000, 710 frames (71 seconds)
Found video at 17933800, 710 frames (71 seconds)
ending...  Total HuVideo = 1420 frames (142 seconds), in 2 videos



Yuna 2 - Eien no Princess:

filesize = 202635264
Found video at  B83F000, 710 frames (71 seconds)
ending...  Total HuVideo = 710 frames (71 seconds), in 1 videos


That would be really cool to see some subs for that game. At the very least maybe someone out there will finally translate it.
Title: Re: HuVideo
Post by: SamIAm on November 05, 2012, 02:33:39 AM
Hey Dave. :)

The thing about Gulliver Boy, and Anearth Fantasy Stories as well for that matter, is that the Saturn versions are probably far easier to hack. I could be wrong, but I suspect they had way more memory than they needed when they ported them, which means the scripts are probably stored in more straightforward ways and there's more room to shoehorn in the English.

I read that Gulliver Boy in particular is a very straight port, and the FMV is higher quality and would probably re-encode with hardsubs more cleanly.

It'd be worth a comparison, anyway. Of course, it all comes down to what the people doing that hacking want to do.
Title: Re: HuVideo
Post by: Keranu on November 05, 2012, 06:14:37 AM
Holy shit, a half hour of FMV! Anyone know how much the Sherlock Holmes games have by comparison? Or It Came From the Desert! for that matter?
Title: Re: HuVideo
Post by: esteban on November 05, 2012, 01:47:51 PM
Holy shit, a half hour of FMV! Anyone know how much the Sherlock Holmes games have by comparison? Or It Came From the Desert! for that matter?


Keranu, you, of all people, should know that It Came From the Desert is not FMV but FMC (Full Motion Cinemascope). It supports two widescreen televisions side-by-side.

(http://junk.tg-16.com/images/cinemascope_ICFTD.html)
Title: Re: HuVideo
Post by: Keranu on November 05, 2012, 02:11:17 PM
Are those Bonk hearts!?!?
Title: Re: HuVideo
Post by: esteban on November 05, 2012, 05:52:16 PM
Are those Bonk hearts!?!?


Damn, you're good! Yes, indeed, they are. (http://junk.tg-16.com/images/pcgs.html)




BACK ON TOPIC:

I was thinking that since the data is uncompressed, it'd be possible to hardsub the cinemas.
I got as far as identifying all of the HuVideos; the next steps were going to be:
- extract the ADPCM for each video for somebody to translate into English
- identify whether any palette sets are relatively consistent across entire videos, in order to imprint the hardsubs into the frame, using existing palette entries



This is a promising development (http://junk.tg-16.com/images/pcgs.html). Good to see you posting!

Title: Re: HuVideo
Post by: kazekirifx on November 05, 2012, 07:08:32 PM
How hard could it really be to port Dragon's Lair or something to the Duo with Huvideo?
Or perhaps it doesn't really support rapid access between different clips?
Title: Re: HuVideo
Post by: Necromancer on November 06, 2012, 01:24:08 AM
Yuna 2 has HuVideo too?  I gotta add that to the ol' wish list.  :D
Title: Re: HuVideo
Post by: nodtveidt on November 06, 2012, 07:19:03 AM
How hard could it really be to port Dragon's Lair or something to the Duo with Huvideo?
Or perhaps it doesn't really support rapid access between different clips?
I'm going to go out on a limb and assert that as long as the huvideo clips are on the same track of the CD, I doubt that there will be much of a problem.
Title: Re: HuVideo
Post by: BigusSchmuck on November 08, 2012, 03:39:45 AM
How hard could it really be to port Dragon's Lair or something to the Duo with Huvideo?
Or perhaps it doesn't really support rapid access between different clips?
I'm going to go out on a limb and assert that as long as the huvideo clips are on the same track of the CD, I doubt that there will be much of a problem.
Makes you wonder if you really need a arcade card in order to attempt this..
Title: Re: HuVideo
Post by: nodtveidt on November 08, 2012, 06:31:57 AM
You don't need an arcade card to stream from the CD, which is what huvideo does. You could preload into the ACD RAM to stream from there, but that seems rather pointless imo.
Title: Re: HuVideo
Post by: Black Tiger on November 08, 2012, 06:42:27 AM
Has anyone been able to make HuVideo with more than one palette?
Title: Re: HuVideo
Post by: nodtveidt on November 08, 2012, 08:10:17 AM
Am I right in assuming that the tile map is really just a list of palette indexes? That is, each nybble in the tile map is really just an indicator of the palette the tile uses? Since the palette index in the BAT requires 4 bits, this seems logical, especially when you consider that you don't really *need* to map out *tile* indexes since they would be contiguous, but the palette that each tile uses could change from frame to frame.
Title: Re: HuVideo
Post by: Arkhan on November 08, 2012, 08:55:04 AM
Am I right in assuming that the tile map is really just a list of palette indexes? That is, each nybble in the tile map is really just an indicator of the palette the tile uses? Since the palette index in the BAT requires 4 bits, this seems logical, especially when you consider that you don't really *need* to map out *tile* indexes since they would be contiguous, but the palette that each tile uses could change from frame to frame.

something like that.

Theres a doc that shows you that a portion of the cell contains palette info.   I think it comes with HuC, IIRC.


The palette that a tile uses could probably change every frame, but it would be a pain in the ass to do, and may not perform as good as desired.

 
Title: Re: HuVideo
Post by: Bonknuts on November 08, 2012, 10:50:36 AM
Am I right in assuming that the tile map is really just a list of palette indexes? That is, each nybble in the tile map is really just an indicator of the palette the tile uses? Since the palette index in the BAT requires 4 bits, this seems logical, especially when you consider that you don't really *need* to map out *tile* indexes since they would be contiguous, but the palette that each tile uses could change from frame to frame.

 Correct. There is no compression via tilemap on the VDC side (most streaming video wouldn't benefit from it, plus it's kind of useless, unless you do a variable frame rate and buffer/cache system). So storing the tile indexes is redundant. Just the palette index is stored in raster map order (horizontal). Every frame contains a new palette for the BG.

 The huvideo player uses custom CD routines to access the drive. It bypasses the system card. The system card functions aren't really optimal for doing such streaming. Plus, the normal system card cd_read function is slower than it needs to be. About 90k per second IIRC. Huvideo requires 122k a second transfer. Some the late gen SuperCD games also use custom CD read functions as well for faster access. I ripped the one from Seiya Monogatari game and it worked great for all my tests using it (disassembled thanks to MooZ's proggy). There's other stuff in the lib too, like LZSS decompressors (with all kinds of source/destination setups. Even LZSS decompress from ADPCM ram to VRAM, etc). Cool stuffs.