SHOOT THEIR PHASERS!
Here's my scouting report for Space Berserker.
As far as the data goes, it's just like an ordinary CD game. In fact, Space Berserker uses the same basic disc read routines as at least one other game: Lethal Enforcers. (There are probably a few others that use that code, but I haven't confirmed that.
EDIT: Snatcher does [NOTE: Konami].) Obviously, the function numbers are different w/ maybe a few tweaks, but that should give you an idea of how the LD BIOS is designed.
The code for Space Berserker is pretty straight forward. A lot simpler than the usual FMV games, as you might expect. Probably true for most other MegaLD titles.
In case you're wondering, the init sequence of LD BIOS calls used by the game:
0131 [02], 0132 [00], 0118
I thought 0118 could be mute, which is undone by 0119, though I expect it would be video related based on the register it sets. Space Berserker sets it on the pause screen, so there's not a lot it could be doing. Maybe it freezes the frame. I don't know exactly what 0131 & 0132 do, but they're used similarly in the BIOS-run sequences. 0130 is related to 0132, and may be used to control volume.
Note, SB uses a couple different methods of disabling the overlay. The obvious one is using the vid faders. But it some cases, it just flips off the VDP display. Seem like that would be preferable if you're operating from the main cpu. Otherwise, I don't see a difference.
Here's something that caught me off guard: it seems the MegaLD uses video interleaving. So in a way, it can display one of two analog video streams at any time (which makes sense after watching the gameplay a few times). I'm not sure about the audio, but one thing to remember: the main audio stream is split into two channels (L/R). SB uses one for Japanese and the other for English.
EDIT: Just found out about Zapping Satsui, which highlights the video split feature. Also, it's multilanguage (Japanese & English), so that would entail 4 audio tracks concurrent with the video.
If you want to mess with this stuff:
Video Select: 012C [00] or 012C [01]
You may want to try 012D, too, as that might disable it?
Audio Select: 0139 [01] or 0139 [02]
If you want stereo, it's 0139 [00]. SB sometimes also sets bit 7. That suppresses an additional audio track? Not sure.
EDIT: 0131 may select the digital track (which that bit disables), and that may play in tandem with the video. Just tossing around ideas. Not completely sure of anything at this point.
One other thing to mention is the frames. Video frames are addressed by frame number in BCD form. So, frame number $10000 comes right after $9999, and the count runs at 30fps NTSC (or 29.97fps, I suppose?). It should be noted that there may be LDs that use a different form of addressing (like HH:MM:SS:FF or whatnot).
Nemesis, one other request of you. At some point if you could dump the LD registers, some of that information may be useful. Just a call to 011D w/ A0 pointing to a buffer of 32 bytes, anytime after the disc is loaded. Thanks.
I'll let you know what else I find. I still want to go over all the LD BIOS functions to try and narrow them down further. It might help to have a capture of the SB video for reference, so I'll be waiting for that.
