mquake: MAME ROM Information. History:
Moonquake (c) 1987 Sente.
- TECHNICAL -
Main CPU : 68000 (@ 7.15909 Mhz)
Sound Chips : Custom (@ 3.579545 Mhz), ES5503 (@ 7.15909 Mhz)
Screen orientation : Horizontal
Video resolution : 671 x 216 pixels
Screen refresh : 60.00 Hz
Palette colors : 4096
Players : 2
Control : 8-way Joystick
Buttons : 1
- SOURCES -
Game's rom.
Machine's picture.
MAME Info:
0.93 [Mariusz Wojcieszek]
WIP:
- 0.145: R. Belmont cleared all ES5503 oscillator params on reset. This fixed Moonquake exception in debug build. Note: I couldn't reproduce the crash reported under any build on any OS, but Valgrind indicated out-of-bounds reads without this change and none with it.
- 0.143u3: smf fixed Moonquake crash before OK,
- 0.142u2: Properly mask ES5503 oscillator enable bits when setting [R. Belmont].
- 0.141u3: Amiga fixes [Roberto Zandona]: Removed additional 2 cycles, in move operation, for non-Agnus registers. Set to #0 the start cycle in the copper operation.
- 0.139u4: Atari Ace converted Amiga drivers to use driver_devices. Merged common code between legacy Amiga and AGA video systems.
- 0.136u2: Curt Coder refactored the CIA 6526 interface, adding SP/CNT callbacks. Fixed serial transfer.
- 0.135u4: Curt Coder fixed CIA6526 FLAG handling and slight interface cleanup.
- 0.134: Robiza fixed 6526 CIA PRA, PRB, DDRA and DDRB ports and added partial fix to 6526 CIA timer: Avoid timer's desync in read count operation.
- 0.133u5: Robiza added different TOD implementation for CIA6526 and CIA8520.
- 0.129u5: Dirk Best added support for the /PC output pin to the CIA emulation.
- 0.129u4: Nathan Woods changed 6526cia to use devcb.
- 0.129u1: Nathan Woods added a validity check to the 6526 CIA emulation.
- 0.128u7: Nathan Woods added running_machine callbacks for the Amiga code.
- 0.128u5: Made the 6526/8520 CIA implementations be devices [Nathan Woods]: Added differentiation between the r1 and r2 versions of the 6526; not acting on it yet.
- 0.125u1: Robiza added feature to the cia6526: In READ operation the value can be forced by a external circuit; this feature is necessary for MESS.
- 0.123u4: Zsolt Vasvari converted Amiga based games to partial updating and proper scanline based timers.
- 0.122u4: Updated Amiga driver to use formal XTALs [Dirk Best].
- 0.121u1: Nathan Woods added an API to access the current amiga_machine_interface.
- 0.118u5: Amiga updates [Ernesto Corvi]: Systems with the AGA chipset no longer connect bit 0 of the CIA that was previously connected to the Overlay pin not connected. Made BLTDDAT return it's value. This is a readable register which we were not handling. Initialized the SERDATR register upon reset to reflect that the transfer buffer/shift reg is empty.
- 0.118u4: Amiga updates [Erneso Corvi]: Implemented ECS-Only BLTCON0L register. Modified the amiga_interface structure to add a NMI callback and a flags variable. Added AGA chipmem mask definition. Added 32 bit data bus support to chipram. It's automatically used if the chipset is AGA. Added clock chip constants in machine\amiga.h for 68k PAL and NTSC, and 68EC00 NTSC. Updates drivers to use those constants. Added convenience macros to determine wether we're running with an ECS chipset, AGA chipset, or 'ECS or AGA chipset'. Changed autoconfig reads to return 0x0000 instead of 0xffff. Fixed MSB value timer reads on the 8520 cia. We were previously only updating the count for the timer when the LSB value was read.
- 0.118u3: Amiga system updates [Ernesto Corvi]: Implemented the ECS-only BLTSIZV and BLTSIZH custom registers, and modified BLTSIZE and the blitter to use them. Properly implemented the bit in VPOSR that indicates if we're running on a PAL or NTSC Amiga. Atari Ace added new AM_READ_PORT() macro which lets you define an input port read callback based on a port tag. This is now preferred over the previous technique of calling port_tag_to_handler() within an AM_READ() macro. Updated Moonquake that uses the latter pattern to the new system.
- 0.117: Peter Rittwage reverted patch to the 6526CIA as it was causing issues with Amiga/Arcadia emulation.
- 0.115u3: Peter Rittwage fixed bit calculation in 6526cia.c which broke joysticks in the MESS C64 driver.
- 0.114: R. Belmont made behavior of ES5503 IRQ status register more accurate.
- 0.113u4: ES5503 updates [R. Belmont]: Major fixes to IRQ semantics and end-of-sample handling. Sample memory now configurable. Added state save support. Calculates output rate properly based on the input clock. Hooked up properly to Moonquake.
- 0.113u3: ES5503 improvements [R. Belmont]: Fixed extraneous click at end of samples. Improved timing behavior. Fixes music tempo in many Apple IIgs apps and games in MESS.
- 0.113u2: Changed VSync to 59.997000 Hz.
- 0.111u6: Ernesto Corvi fixed the data fetch and scrolling calculation for almost all video modes in the Amiga driver.
- 0.111u5: Nathan Woods updated the Amiga video driver to use the new BITMAP_ADDR* macros instead of using the line[] array.
- 0.111u4: Ernesto Corvi fixed system time counters in the Amiga code.
- 0.111u3: Another Amiga update [Ernesto Corvi]: Fixed blitter in line mode. Modified Copper to run on odd memory bus cycles. Fixed screen delay offset when display data fetch is not word aligned.
- 0.111u2: Amiga core system updates [Ernesto Corvi]: Updated 6526/8520 CIA to be able to set the value of the SP pin. This is needed to emulate the Amiga keyboard. Updated the custom chips emulation to delay for about 24 cycles the issuing of interrupts after a write to INTENA or INTREQ. Fixed a bug where if INTREQ got cleared programatically, it would 'forget' about pending CIA interrupts, causing the CIA to stop sending further interrupts. Fixed the interrupt delay logic. Now it properly delays firing the irqs, not the masking/disabling. Fixed return value for unused/invalid custom registers reads. Added Denise ID custom register to properly identify OCS, ECS and AGA. Added reset to custom, autoconfig and cia when a RESET opcode is found. Resetting the custom chips will now clear INTENA, preventing further interrupts. Fixed a bug in the RBF interrupt request code check. Fixed a bug on the 6526/8520 CIA that prevented chained counters from working. Added support for the 'blitter-nasty' bit on the blitter. Fixes many games that displayed wrong graphics.
- 0.111u1: Ernesto Corvi reimplemented one-shot timer modes in the 6526 CIA (Amiga) emulation.
- 0.110u5: Aaron Giles added serial in/out support to the Amiga hardware. Added hooks for output pins and light pen positioning. Also fixed the horrible static at startup in the debug build.
- 0.109u2: Nathan Woods improved timer accuracy and added save state support to the 6526 CIA module.
- 0.109: R. Belmont fixed ES5503 behavior for voice volumes > 127 (cures missing sounds/music notes in several Apple IIgs demos and games).
- 0.107u2: Nathan Woods implemented CNT pin and some serial features of the 6526 CIA chip.
- 0.105u5: Dirk Best added some Amiga enhancements needed for MESS Amiga and CDTV drivers.
- 0.105u3: More Amiga cleanups [Aaron Giles]: Fixed dual playfield mode. Rewrote blitter code (fixes glitches in ar_bowl and others). Changed Arcadia boot loading to use ROMtags instead of autoconfig. Swapped Kickstart 1.2 in for Arcadia BIOS. Nathan Woods refactored the 8530 CIA code from the Amiga into a separate module and made it support both the 6526 and 8530 variants. ES5503 emulation [R. Belmont]. Added ES5503 (7159090 Hz) sound, fixed input and added dipswitches 'SWx.x', 'I/O SWxx' and 'Service Mode'.
- 0.105u2: More Amiga/Arcadia system updates [Aaron Giles]: Rewrote autoconfig system to be more generically useful, cleaned up/rewrote the CIA emulation to be more complete, added dual playfield and sprite priority support, added collision detection support and tweaked COPPER timing. Fixed number of players + buttons, input and VSync to 59.997002 Hz.
- 16th March 2005: R. Belmont - I submitted first-pass working ES5503 emulation to MESS for their now-in-CVS Apple IIgs driver.
- 0.93: Mariusz Wojcieszek added Moonquake (Sente 1987).
Romset: 1280 kb / 17 files / 984.0 zip
MAME XML Output:
   | <game name="mquake" sourcefile="mquake.c"> |
   |    | <description>Moonquake</description> |
   |    | <year>1987</year> |
   |    | <manufacturer>Sente</manufacturer> |
   |    | <rom name="kick12.rom" size="262144" crc="a6ce1636" sha1="11f9e62cf299f72184835b7b2a70a16333fc0d88" region="user1" offset="0"/> |
   |    | <rom name="rom0l.bin" size="65536" crc="60c35ec3" sha1="84fe88af54903cbd46044ef52bb50e8f94a94dcd" region="user2" offset="0"/> |
   |    | <rom name="rom0h.bin" size="65536" crc="11551a68" sha1="bc17e748cc7a4a547de230431ea08f0355c0eec8" region="user2" offset="1"/> |
   |    | <rom name="rom1l.bin" size="65536" crc="0128c423" sha1="b0465069452bd11b67c9a2f2b9021c91788bedbb" region="user2" offset="20000"/> |
   |    | <rom name="rom1h.bin" size="65536" crc="95119e65" sha1="29f3c32ca110c9687f38fd03ccb979c1e7c7a87e" region="user2" offset="20001"/> |
   |    | <rom name="rom2l.bin" size="65536" crc="f8b8624a" sha1="cb769581f78882a950be418dd4b35bbb6fd78a34" region="user2" offset="40000"/> |
   |    | <rom name="rom2h.bin" size="65536" crc="46e36e0d" sha1="0813430137a31d5af2cadbd712a418e9ff339a21" region="user2" offset="40001"/> |
   |    | <rom name="rom3l.bin" size="65536" crc="c00411a2" sha1="960d3539914f587c2186ec6eefb81b3cdd9325a0" region="user2" offset="60000"/> |
   |    | <rom name="rom3h.bin" size="65536" crc="4540c681" sha1="cb0bc6dc506ed0c9561687964e57299a472c5cd8" region="user2" offset="60001"/> |
   |    | <rom name="rom4l.bin" size="65536" crc="f48d0730" sha1="703a8ed47f64b3824bc6e5a4c5bdb2895f8c3d37" region="user2" offset="80000"/> |
   |    | <rom name="rom4h.bin" size="65536" crc="eee39fec" sha1="713e24fa5f4ba0a8bc7bf67ed2d9e079fd3aa5d6" region="user2" offset="80001"/> |
   |    | <rom name="rom5l.bin" size="65536" crc="7b6ec532" sha1="e19005269673134431eb55053d650f747f614b89" region="user2" offset="a0000"/> |
   |    | <rom name="rom5h.bin" size="65536" crc="ed8ec9b7" sha1="510416bc88382e7a548635dcba53a2b615272e0f" region="user2" offset="a0001"/> |
   |    | <rom name="qrom0.bin" size="65536" crc="753e29b4" sha1="4c7ccff02d310c7c669aa170e8efb6f2cb996432" region="es5503" offset="0"/> |
   |    | <rom name="qrom1.bin" size="65536" crc="e9e15629" sha1="a0aa60357a13703f69a2a13e83f2187c9a1f63c1" region="es5503" offset="10000"/> |
   |    | <rom name="qrom2.bin" size="65536" crc="837294f7" sha1="99e383998105a63896096629a51b3a0e9eb16b17" region="es5503" offset="20000"/> |
   |    | <rom name="qrom3.bin" size="65536" crc="530fd1a9" sha1="e3e5969f0880de0a6cdb443a82b85d34ab8ff4f8" region="es5503" offset="30000"/> |
   |    | <chip type="cpu" tag="maincpu" name="68000" clock="7159090"/> |
   |    | <chip type="audio" tag="lspeaker" name="Speaker"/> |
   |    | <chip type="audio" tag="rspeaker" name="Speaker"/> |
   |    | <chip type="audio" tag="amiga" name="Amiga Paula" clock="3579545"/> |
   |    | <chip type="audio" tag="es5503" name="Ensoniq ES5503" clock="7159090"/> |
   |    | <display tag="screen" type="raster" rotate="0" width="671" height="216" refresh="59.997000" /> |
   |    | <sound channels="2"/> |
   |    | <input players="2" buttons="1" coins="3"> |
   |    |    | <control type="joy" ways="8"/> |
   |    | </input> |
   |    | <dipswitch name="SW3.1" tag="SW.LO" mask="1"> |
   |    |    | <dipvalue name="Off" value="1" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW3.2" tag="SW.LO" mask="2"> |
   |    |    | <dipvalue name="Off" value="2" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW3.3" tag="SW.LO" mask="4"> |
   |    |    | <dipvalue name="Off" value="4" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW3.4" tag="SW.LO" mask="8"> |
   |    |    | <dipvalue name="Off" value="8" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW2.1" tag="SW.LO" mask="16"> |
   |    |    | <dipvalue name="Off" value="16" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW2.2" tag="SW.LO" mask="32"> |
   |    |    | <dipvalue name="Off" value="32" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW2.3" tag="SW.LO" mask="64"> |
   |    |    | <dipvalue name="Off" value="64" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW2.4" tag="SW.LO" mask="128"> |
   |    |    | <dipvalue name="Off" value="128" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW1.1" tag="SW.LO" mask="256"> |
   |    |    | <dipvalue name="Off" value="256" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW1.2" tag="SW.LO" mask="512"> |
   |    |    | <dipvalue name="Off" value="512" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW1.3" tag="SW.LO" mask="1024"> |
   |    |    | <dipvalue name="Off" value="1024" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW1.4" tag="SW.LO" mask="2048"> |
   |    |    | <dipvalue name="Off" value="2048" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="I/O SW00" tag="SW.LO" mask="4096"> |
   |    |    | <dipvalue name="Off" value="4096" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="I/O SW01" tag="SW.LO" mask="8192"> |
   |    |    | <dipvalue name="Off" value="8192" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="I/O SW02" tag="SW.LO" mask="16384"> |
   |    |    | <dipvalue name="Off" value="16384" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Service Mode" tag="SW.LO" mask="32768"> |
   |    |    | <dipvalue name="Off" value="32768" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW3.5" tag="SW.HI" mask="1"> |
   |    |    | <dipvalue name="Off" value="1" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW3.6" tag="SW.HI" mask="2"> |
   |    |    | <dipvalue name="Off" value="2" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW3.7" tag="SW.HI" mask="4"> |
   |    |    | <dipvalue name="Off" value="4" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW3.8" tag="SW.HI" mask="8"> |
   |    |    | <dipvalue name="Off" value="8" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW2.5" tag="SW.HI" mask="16"> |
   |    |    | <dipvalue name="Off" value="16" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW2.6" tag="SW.HI" mask="32"> |
   |    |    | <dipvalue name="Off" value="32" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW2.7" tag="SW.HI" mask="64"> |
   |    |    | <dipvalue name="Off" value="64" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW2.8" tag="SW.HI" mask="128"> |
   |    |    | <dipvalue name="Off" value="128" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW1.5" tag="SW.HI" mask="256"> |
   |    |    | <dipvalue name="Off" value="256" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW1.6" tag="SW.HI" mask="512"> |
   |    |    | <dipvalue name="Off" value="512" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW1.7" tag="SW.HI" mask="1024"> |
   |    |    | <dipvalue name="Off" value="1024" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="SW1.8" tag="SW.HI" mask="2048"> |
   |    |    | <dipvalue name="Off" value="2048" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="I/O SW20" tag="SW.HI" mask="4096"> |
   |    |    | <dipvalue name="Off" value="4096" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="I/O SW21" tag="SW.HI" mask="8192"> |
   |    |    | <dipvalue name="Off" value="8192" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="I/O SW22" tag="SW.HI" mask="16384"> |
   |    |    | <dipvalue name="Off" value="16384" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="I/O SW23" tag="SW.HI" mask="32768"> |
   |    |    | <dipvalue name="Off" value="32768" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <driver status="preliminary" emulation="preliminary" color="good" sound="preliminary" graphic="imperfect" savestate="unsupported" palettesize="4096"/> |
|
|