CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

pacland.c

0.33b1 [Ernesto Corvi]


NOTES:

- Protection: The game uses a Hitachi HD63701 MCU. The program is divided in two parts, the first is contained in a rom of the MCU and the other one is in an external ROM.

- Is there a service mode Easter egg? Maybe with this game they stopped putting them in, because I haven't found them in the later games either (skykid, drgnbstr, etc.)

- Sprites cover the top and bottom non-scrolling portions of the fg. This includes the cookie cut light in round 19, which makes text disappear from those areas. This looks odd, but it's the correct behaviour verified on the real hardware.


VIDEO HARDWARE NOTES:

- Sprite/tile priority is quite complex in this game: it is handled both internally to the CUS29 chip, and externally to it. The bg tilemap is always behind everything. The CUS29 mixes two 8-bit inputs, one from sprites and one from the fg tilemap. 0xff is the transparent color. CUS29 also takes a PRI input, telling which of the two color inputs has priority. Additionally, sprite pixels of color >= 0xf0 always have priority. The priority bit comes from the tilemap RAM, but through an additional filter: sprite pixels of color < 0x80 act as a "cookie cut" mask, handled externally, which overload the PRI bit, making the sprite always have priority. The external RAM that holds this mask contains the OR of all sprite pixels drawn at a certain position, therefore when sprites overlap, it is sufficient for one of them to have color < 0x80 to promote priority of the frontmost sprite. This is used to draw the light in round 19. The CUS29 outputs an 8-bit pixel color, but only the bottom 7 bits are externally checked to determine whether it is transparent or not; therefore, both 0xff and 0x7f are transparent. This is again used to draw the light in round 19, because sprite color 0x7f will erase the tilemap and force it to be transparent.

- Pacland has one 1024x8 and one 1024x4 palette PROM; and three 1024x8 lookup table PROMs (sprites, bg tiles, fg tiles). The palette has 1024 colors, but it is bank switched (4 banks) and only 256 colors are visible at a time. So, instead of creating a static palette, we modify it when the bank switching takes place.


WIP:

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

- 14th April 1999: Nicola fixed Pacland graphics priorities.

- 7th April 1999: Nicola Salmoria has updated Pac Land driver to work on the new 6800 (not 68000 ;-) core, but music speed is still sometimes screwed.

- 0.33b1: Added pacland.c driver.