CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

gottlieb.c

0.33b3 [Fabrice Frances, Rodimus Prime, Marco Cassili, John Butler, Howie Cohen, Fred Sookiasian]

0.17 [Fabrice Frances, Rodimus Prime, Nicola Salmoria]


NOTES:

- There was a bug in the hardware of the GG1 and GG2 boards, which is not emulated. The bug seems to have disappeared with the later revision of the board, e.g the board used by 3Stooges and Mach3 don't seem to have it). The bug was affecting the first character column (on horizontal games): screen memory could be used, but whatever was stored in this column, always the same character was displayed. This led to two consequences: 1. The image on the monitor had to be stretched so that the column was not visible. 2. Game designers were not using the first column. In fact, when the first column was ejected from the screen, the last one was usually out too, so it wasn't used either...

- The Laser Disc Player games: The machines use Philips 24-bit frame number code. The 4 most significant bits of the code are 1's and these four 1's are used to detect a valid frame number when shifting bits from right to left. From the audio code it seems it's a simple BCD numbering. (what happens when four consecutive 1's are inside the number, eg 00078 ?) Only 19 bits are returned to the game machine, this gives a max frame number of 79999. The size of the audio buffer is 1024 bytes. When it is full, the "audio buffer ready" flag is raised, and the frame decoder tries again to synchronize with a 0x67 pattern Each 1024-byte buffer contains target data for 53 frames; target data for each frame is 19-bytes long including one byte of checksum and the frame number code of the first of these 53 frames is stored at the beginning. This gives a total of 1+3+3+19*53=1014 bytes, the 10 last bytes are ignored.


VIDEO HARDWARE NOTES:

- Gottlieb games dosn't have a color PROM. They use 32 bytes of RAM to dynamically create the palette. Each couple of bytes defines one color (4 bits per pixel; the high 4 bits of the second byte are unused). The RAM is conected to the RGB output.


WIP:

- 0.107u4: Aaron Giles modified the Q*Bert driver to signal a "knocker0" output when the knocker is triggered.

- 26th January 2004: Aaron Giles fixed Cavelon and Gottlieb games.

- 0.78u4: Aaron Giles fixed the memory handlers in gottlieb.c to use address space masking instead of mapping extra mirrored areas.

- 24th September 2002: Stephane Humbert fixed the dipswitch settings in some of the games in the Gottlieb driver.

- 13th May 2000: Aaron Giles sent in another i86 core / Gottlieb drivers update fixing some bugs.

- 23rd January 2000: Zsolt Vasvari fixed Gottlieb driver's graphics bugs.

- 26th March 1999: Juergen Buchmueller fixed the Gottlieb games (Q*Bert, Reactor).

- 0.33b5: Removed 3stooges.c, krull.c, mplanets.c, qbert.c, qbertqub.c and reactor.c driver.

- 0.33b3: Merged 3stooges.c, krull.c, mplanets.c, qbert.c, qbertqub.c and reactor.c to gottlieb.c driver.

- 0.31: The first time you play Q*Bert, Q*Bert Qubes, Krull, Mad PLanets, Three Stooges, the high scores are automatically initialized to the default. Note: your old high scores will be lost, sorry.

- 0.27: Fabrice Frances added hiscore saving support to all Gottlieb drivers.

- 0.26: Added 3stooges.c driver.

- 0.24: Added qbertqub.c driver.

- 0.20: Added krull.c driver.

- 0.19: Added reactor.c driver.

- 0.18: Fabrice Frances fixed the Qbert driver and added support for Reactor.

- 0.17: Added mplanets.c and qbert.c driver.