CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

m72.c

0.36b6 [Nicola Salmoria]


TODO:

- majtitle_gfx_ctrl_w is unknown, it seems to be used to disable rowscroll, and maybe other things.

- Maybe there is a layer enable register, e.g. nspirit shows (for an instant) incomplete screens with bad colors when you start a game.

- A lot of unknown I/O writes from the sound CPU in Pound for Pound.

- The sprite chip triggers IRQ1 when it has finished copying the sprite RAM to its private buffer. This isn't implemented (all games have an empty IRQ1 handler). The cpu board also has support for IRQ3 and IRQ4, coming from the external connectors, but I don't think they are used by any game.


NOTES:

- Driver by Nicola Salmoria and protection information by Nao.

- The driver supported IREM M72, M73, M81, M82, M84 and M85 board games. X Multiply (M72) has different addressing PALs, so different memory map. rtype2j has M84 written on the board, but it's the same hardware as rtype2. For Gallop (IREM M73) there is also a M84 version.

- Sample playback: In the later IREM games, the sound CPU can program the start offset of the PCM samples, but it seems the earlier games have them hardcoded somewhere (maybe a PROM?). MAME uses tables with the start offset precomputed. They could be built automatically for the most part (00 marks the end of a sample), but some games have holes in the numbering so we would have to do some alterations anyway. The table for Gallop is most likely wrong, and it doesn't play anything anyway, because the NMI handler of the sound CPU consists of just RETN - so it must be using different hardware.


SOUND HARDWARE NOTES:

- All games have a YM2151 for music, and most of them also samples. Samples are not handled consistently by all the games, some use a high frequency NMI handler to push them through a DAC, others use external hardware. In the following table, the NMI column indicates with a No the games whose NMI handler only consists of RETN. R-Type is an exception, it doesn't have a valid NMI handler at all.


Bugs:

- R-Type 2 and Dragon Breed and possible the rest in M72.c: play samples too slow, i have recorded examples from my Dragon Breed(m81) and R-Type 2(M84) for comparison. But the music is played at correct speed? m72_0106u11gre Stefan Lindberg


WIP:

- 0.105u4: More dipswitch improvements to the M72 driver [Twisty].

- 0.100u2: Aaron Giles changed M72 video updating to use partial updates.

- 0.77u2: Added 'Stop Mode' and 'Invulnerability' dipswitches.

- 20th November 2003: Curt Coder fixed dipswitch settings in the IREM M-72 driver.

- 0.67: Nicola Salmoria fixed sample playback in the M72 games.

- 0.66: Changed V30 CPU1 clock speed to 8MHz.

- 20th September 2002: Angelo Salese submitted cocktail mode and flip screen support for the M-72 driver, but the support is not yet perfect.

- 0.54: Changed palettesize from 1024 to 512 colors.

- 12th August 2001: Nicola Salmoria fixed the sprites in M-72 games fixing for example the Game Over text in R-Type.

- 26th July 2001: Nicola Salmoria fixed the M-72 driver which was broken.

- 10th November 2000: Gerardo Oporto fixed the dipswitch settings in the M72 driver.

- 0.37b1: Changed Z80 CPU2 clock speed to 3579545 MHz.

- 3rd April 2000: Tormod Tjaberg added correct dipswitches to R-Type 2.

- 30th March 2000: Roberto Fresca fixed some Pound for Pound and Air Duel dipswitches.

- 27th March 2000: Nicola Salmoria added Air Duel to the M72 driver.

- 23rd March 2000: Nicola Salmoria added Pound for Pound to the M72 driver.

- 0.36RC1: Struct GfxLayout can now be parametric on the size of the memory region it refers to. This way the same gfx definition can be used for games with the same layout but different number of tiles. See drivers/m72.c, drivers/dec0.c for usage examples [Nicola Salmoria].

- 0.36b9: Added dipswitches 'Lives', 'Coinage', 'Flip Screen', 'Cabinet', 'Coin Mode', 'Allow Continue', 'Invulnerability'.

- 0.36b6: Added m72.c driver. Most of the non working games are protected, at least some of them have a 8751 mcu. bchopper, nspirit, imgfight, loht are patched to get into service mode. Major Title is supposed to disable rowscroll after a shot, but Nicola haven't found how. Sprite/tile priorities are not completely understood. Sample playback works only in R-Type II and Hammerin' Harry. The other games have similar hardware but Nicola don't understand how the sound CPU is supposed to get the command to play a sample.

- 28th September 1999: Nicola sent in an M72 update with priorities fixed and Major Title added.

- 25th September 1999: Nicola added Gallop to the M72 driver, but the rest of the M72 games need their i8751 MCU emulated before they work.

- 21st September 1999: Nicola sent in an M72 driver supporting R-Type, R-Type II and Hammerin' Harry.