CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

bublbobl.c

0.35b3 [Marcelo de G. Malheiros]

0.27 [Chris Moore, Nicola Salmoria, Oliver White]


TODO:

- The MCU is actually a 6801U4, which has additional features like internal timers (similar to the HD63701). I've just mapped the I/O ports since that's the only thing required for normal operation, but the program does use some of the additional features in its special "test" mode.

- Emulate the CPU #1 <-> sound CPU communication status flags (which are not used)

- Why does emulating the sound CPU reset port (fa03) cause sound to stop working?

- tokio: doesn't work due to missing MCU protection emulation.

- tokio: sound support is probably incomplete. There are a couple of unknown accesses done by the CPU, including to the YM2203 I/O ports. At the very least, there should be some filters.


NOTES:

- The coin inputs are handled by a custom called PC030. It would be responsible of handling the coin counters.

- There is a weird dip switch in Bubble Bobble (SWB #7). When it is on, the game takes the player score and the level number (increased by 1) and writes them, byte by byte, to $F7FE and $F7FF ($F7FF receives the same data but with the bit order reversed). After doing that, it sometimes hangs because it expects the value at $F7FF to change. This is done by routines $0F26 (player 1) and $0F74 (player 2). Frankly I don't know what this could be. The schematics don't show anything special there. A debug feature seems unlikely - why care about the score? Could it be provision for some kind of externally controlled redemption scheme?

- "Attract Sound" in Tokio is a very relative term - it just plays a very short sound every four rounds of demo play.


VIDEO HARDWARE NOTES:

- Bubble Bobble doesn't have a real video RAM. All graphics (characters and sprites) are stored in the same memory region, and information on the background character columns is stored in the area dd00-dd3f.


WIP:

- 0.88u7: Curt Coder cleaned the bublbobl driver.

- 0.35b3: Merged tokio.c with bublbobl.c driver.

- 0.34b4: Added tokio.c driver.

- 0.27: Added bublbobl.c driver (Marcelo de G. Malheiros, Fredrik Sjostedt, Victor Trucco).