CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

mappy.c

0.78u4 [Nicola Salmoria]

0.26 [Aaron Giles, Mirko Buffoni]


TODO:

- Phozon: there appear to be two palette banks (sprites are the same, but characters change from a blue background to brown background). It is not known if and when the alternate palette should be used. The palette select bit might be at address 500E/500F; if that's the case, it is set to 0 on startup and I don't think it's ever set to 1 - which would mean the second bank is not used and colors are right as they are.

- Phozon: one unknown PROM, I don't know what it could be.


NOTES:

- Hardware: The games supported by this driver all run on similar hardware. They can be divided in three "families": 1) Super Pacman, the first version of the board. Pac & Pal and Grobda run on seemingly identical hardware. The hardware consists of two 6809, and several Namco custom ICs that provide a static tilemap and 2bpp sprites. Grobda is the only Namco game of this era that has speech (just a short sample). At this time, it is still unknown whether the DAC used to play the speech is part of the standard Namco sound hardware, or a quick addition to the base board. 2) Phozon. This game runs on an unique board: the large number of sprites on screen at the same time required a 3rd 6809 to help with the calculations. The sprite hardware is also different from Super Pacman, featuring 8x8 sprites. Despite the hardware differences, the memory map is almost identical to Super Pacman, and that's why it's included in this driver. There is no information about the custom ICs used by this board. The video section is probably more similar to Gaplus than to Supr Pacman: the sprite generator might be a 21XX (though Gaplus doesn't use 8x8 sprites), and the 00XX and 04XX address generators are probably replaced by the single CUS20 (which also handles the flip screen flag). 3) Mappy runs on a revised design of the Super Pacman board, where the 00XX custom is replaced by a 17XX, which provides a scrolling tilemap. The larger tilemap requires more RAM, so the memory map is slightly different. Also, sprites are 4bpp instead of 2bpp, so the final stage of video generation is a little different as well, though the custom ICs are still the same. Dig Dig II and Motos are almost the same, apart from larger ROMs. Tower of Druaga also has 4x the amount of sprite color combinations so is the most different of the four.

- Phozon: completing level 34 (the second round of world 9) causes the game to crash. This seems to be the correct behaviour: there is no data for levels after that one, and using the level select dip switch to jump to level 35 (="22") causes the same crash. I think being able to complete level 34 is a bug, it should be impossible because there shouldn't be anouth molecules so you would play it forever.

- Phozon: if you enter service mode and press press service coin something like the following is written at the bottom of the screen: 99,99999,9999,9999,9999 - 99,99999,9999,9999,999999 it seems to be a counter decremented while the game is running.

- Mappy: similarly, if you enter service mode and press press P1 button + service coin the following is shown: 99.99.999.9999.9999.9999 - 99.99.999.9999.9999.0000

- Tower of Druaga: keep button 1 pressed while pressing the start button to continue the previous game; you can choose which level to start from.

- Grobda: when the Level Select dip switch is On, after inserting a coin press button + start to be asked the level to start from.

- The only difference between "grobda2" and "grobda3" is a tiny patch to some code related to player shoots handling. Bugfix, I guess.

- Dig Dug II: when the "freeze" dip switch is on, at the beginning of the game select starting level with joystick up/down, then press button 2. During the game, press start to pause/resume.


WIP:

- 0.93: Added clock parameter to Namco 15XX sound (24000 Hz).

- 0.87: 8-way input fix for some mappy.c games (grobda, motos, phozon). These games were set to 4-way input in the previous update.

- 0.78u4: Nicola Salmoria merged grobda.c, phozon.c and superpac.c with mappy.c. Fixed and verified inputs and dipswitches for all games, found and documented the Easter eggs in all games except Toy Pop, fixed interrupt and sub cpu reset handling, which caused some games to report errors when entering test mode without resetting, added detailed memory maps where schematics allowed, all drivers converted to tilemaps, cocktail mode in Phozon, and non-hack implementation in Gaplus, fixed priorities in superpac. With the previos code, ghost eyes had priority over everything else, even other sprites, giving wrong results when two ghosts overlapped, round advance dip switch in Gaplus available & working and fixed a missing sound effect in Phozon that nobody would have ever noticed. Implements the 56XX and 58XX I/O custom chips (machine/namcoio.c) used by all the games. The I/O chips are now accurately simulated, fixing subtle nuances during normal operation and not-so-subtle ones in test mode; e.g. you can now scroll the grid in Mappy's test mode.

- 0.61: Changed M6809 CPU1/2 clock speed to 1536000 Hz.

- 0.37b12: Changed VSync to 60.606060Hz.

- 18th November 2000: Aaron Giles fixed some graphics priority problems in Pac 'n Pal.

- 23rd April 2000: Nicola Salmoria fixed Super Pacman from hanging.

- 27th March 2000: Manuel Abadia added cocktail support to Grobda.

- 16th July 1999: Nicola fixed Grobda's field edge graphics.

- 28th June 1999: Manuel Abadia fixed the custom IO chip reset bugs in the Mappy driver.

- 28th June 1999: Manuel Abadia added coin counters and some little fixes to the same driver, and he also fixed the custom IO chip reset bugs in Mappy driver.

- 0.35b13: Added grobda.c (Manuel Abadia) and phozon.c (Manuel Abadia) driver.

- 13th May 1999: Manuel Abadia sent in a complete Phozon driver.

- 9th May 1999: Manuel Abadia sent in a Grobda driver.

- 0.27: Aaron Giles did a major rewrite of his Super Pac man and Mappy drivers: Support for Dig Dug 2 and Pac & Pal, hiscore save in all games, 100% colors and sound samples (in Super Pac man the siren clicks a bit, but neither I nor jrok can figure it out; the sample data *is* correct), better sound playback frequency (was missing some high bits!), arcade accurate frequency calculation (thanks to jrok!), removed all palette hacks; everything is clean, added loop optimizations for speed and video now properly displayed, including high priority characters.

- 0.26: Added mappy.c driver.

- 0.21: Added superpac.c driver.