Kinda I Want to
February 16th, 2011Today I’ve gave a look at the Sony SMC-777 HW again. The system uses a “timed” bankswitch, presumably involving instruction pre-fetching.
For example (this is BIOS ROM code, located at 0x0000-0x3fff):
3BF3: 3E 10 ld a,$10
3BF5: D3 1C out ($1C),a ;enables RAM bankswitch
3BF7: C7 rst $00 ;executes this, then switches to RAM mode
Enabling this and adding the unimplemented features makes all of the available programs / games to boot properly with sketchy keyboard and some games with imperfect colors (presumably missing clut):
Take the Red pill
February 13th, 2011Fixed address readback in rf5c68 and added a preliminary audio redbook support in Mega CD / Sega CD driver … results are shown in this YT video:
The Phantom of the Opera
January 2nd, 2011Ok, guess that at this point people is interested in knowing what’s the current state of the Legionnaire / Raiden 2 driver. I’ll do a recap now for every single game for both drivers.
Denjin Makai
The only fully working game so far, mainly because it doesn’t call any macro command. It has minor gfx glitches (wrong backplane color in later levels, shown in pic) plus uses an unemulated DMA brightness mode so no fade in/out effects for this at the moment. You can try it in MAME 0.141 if you didn’t already.
Heated Barrel
Almost there, minus the collision detection, random 68k crashes and shot speeds needs tweaking. The collision is the major blocker of almost all of these games, the macro command used are more or less worked out but the extra hit-box parameters have basically no sense. For a quick example, player-1 and player-2 have DIFFERENT hit-box parameters (+0x40 for p2). That doesn’t make any sense bit-wise so it seems related to a table, but this table is nowhere to be found in ROM/RAM …
Right now the game is somehow playable until stage 4 boss, then the boss is blocked by something non-macro related that I haven’t yet checked so far.
SD Gundam Rainbow Tairiku No Senki
Recently reimplemented the sprite DMA and improved it, and while at it, I’ve also fixed various implementation bugs in there (stage 2 boss correctly shoots in the right direction now). Also I’ve implemented a preliminary 0x6200 macro command, it’s used for homing missiles weapon there and (unsurprisingly) for the purple ray weapon in Raiden 2 (pic 1).
It has the same collision problems as Heated Barrel, plus various sprite gfx glitches here and there due of the imperfect sprite DMA emulation (check pic 2).
Amusingly, this is the only game that the DMA brightness gives problems, there should be a per-layer dim effects but palette table almost surely contains invalid data.
Legionnaire
Collision detections are a pain even more there, it seems that we are missing a Z-value in addition to all the other flaws described in Heated Barrel, so right now you can flying kick in the air and hit 99% of the times. Also, first stage boss is really weird, it starts with a damaged energy bar AND nothing actually hurts him … and NO macro command is called … unless this is just a design choice, if anybody knows let me know.
Godzilla
Guru redumped the sprite roms, so the game looks a lot nicer now. It has collision detection (the only macro command used there, shrug) DMA timing problems (game flickers a lot) and a weird one-shot kill possible bug or design choice that happens from time to time.
Seibu Cup Soccer
This looks like the more protected game of all, it uses lots of macro commands unused by anything else. It’s the first game of the system so they abused the hell out of the system protection capabilities (including a fancy sort-DMA for the sprites and an annoying macro command for the radar positions!). Right now it shows the two captains, scrolls down, shows players that runs on the place and gets stuck there.
X Se Dae Quiz
Fixed the sprite DMA src address and implemented macro command 0x904, so it’s finally playable on a public tree. Bad news is that I’ve realized that it uses some unemulated macros, so I don’t really feel into marking it as working as per now.
Zero Team
Like X Se Dae, it uses 0x904. Implementing it allowed this game to be somehow input controllable but then it uses collision detection in the same fashion as Legionnaire. Also, gfx are still encrypted, so blobs of random garbage are shown for now.
Raiden 2
OG recently fixed the ROM banking in it, and I’ve recently fixed the ROM program bank read-back and a tilemap banking. It’s finally showing some signs of life but it’s not really playable (bullets are completely missing for instance, it uses a completely unhandled feature of the system). Also sprites flickers like no tomorrow, but it’s the first time I could actually be mildly positive about this.
Raiden DX
OG fixed the initial ROM bank in this too, but it dies as soon as you try to check some gameplay because it needs ROM banking (it has a bigger ROM than anything else in this HW, so presumably it uses a different hook-up too). There are also gfx issues not yet checked out.
Take Me to Your Leader
December 26th, 2010Still continuing with Seibu COP. Right now I’m trying to figure out how the protection interacts with Godzilla. Having this to boot makes us understand a couple of new features extensively used by this. (NB: again blobs of nothing are due of badly dumped sprite roms, and wrongly faced fighters … well, do you need a response to this? :P)