FB Alpha

CPS-1 WIP 4/4 (Dai Makai-Mura bootleg)

 

CPS-1 WIP 4/4 (Dai Makai-Mura bootleg)

Posted by barry on 11 April 2012 at 10:52:00

I looked at the Dai Makai-Mura bootleg which we currently have (daimakb). Previously, the sound worked only (the sound command moved to port 6). The first thing I noticed was that we didn't seem to have a palette. I logged the reads and writes and noticed a write of 0x3f to 0x880000. Immediately, that jumped out at me, as looking very much the Palette Control register. Passing the value wrote here to the Palette ontrol register got me a palette and the sprites appeared, no scroll layers though.

I looked at the writes some more, eventually I figured out that the scroll layers scroll values are written between 0x980000 and 0x98000a. This still didn't get me any scroll layers though.

The game doesn't appear to ever write any value that looks like a Layer Enable register at any time. I forced the layers to draw at all times, and they were on-screen. Eventually, I noticed that any time the layer order or enable should change, the game wrote a value to 0x98000c. The value wrote is either a 0, 1, 2 or 6 (observed so far). This looks it sets the harware into a layer enable "mode", that changes priority and/or enable depending on the value wrote. I understand this value enough for the game to be fully playable, and the demo's to play correctly. I can't claim it to be 100% accurate, but it's definitely close.

Dai Makai-Mura bootleg title screenDai Makai-Mura bootleg in-game
OlderNewer