mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
(MESS) atari400.c progress: [Fabio Priuli]
- Rewritten cart emulation to use slot devices (many "mappers" do not fully work) and unified cart handling among 8bit home computers, XEGS and Atari 5200 - Added support for loading carts with bankswitch to all XL/XE models - Added support for loading XEGS carts in Atari 8bits home computers (XEGS instead will only load XEGS games until support for the keyboard add-on is included) - Big clean up of the driver, simplifying memory map, removing writes to ROM, etc. - Changed NOT_WORKING flag to IMPERFECT_GRAPHICS in 600XL, 65XE, 800XE and XEGS since they should now be working to the same extent of the 800XL, and bugs shall be reported. as a consequence of the above changes, the new softlists a800.xml, a5200.xml and xegs.xml are not compatible anymore with 0.154: keep the old xmls until 0.155 if you don't compile your own exe
This commit is contained in:
parent
2851a8ae56
commit
991bcbd1e5
9
.gitattributes
vendored
9
.gitattributes
vendored
@ -485,6 +485,15 @@ src/emu/bus/a7800/rom.c svneol=native#text/plain
|
||||
src/emu/bus/a7800/rom.h svneol=native#text/plain
|
||||
src/emu/bus/a7800/xboard.c svneol=native#text/plain
|
||||
src/emu/bus/a7800/xboard.h svneol=native#text/plain
|
||||
src/emu/bus/a800/a800_carts.h svneol=native#text/plain
|
||||
src/emu/bus/a800/a800_slot.c svneol=native#text/plain
|
||||
src/emu/bus/a800/a800_slot.h svneol=native#text/plain
|
||||
src/emu/bus/a800/oss.c svneol=native#text/plain
|
||||
src/emu/bus/a800/oss.h svneol=native#text/plain
|
||||
src/emu/bus/a800/rom.c svneol=native#text/plain
|
||||
src/emu/bus/a800/rom.h svneol=native#text/plain
|
||||
src/emu/bus/a800/sparta.c svneol=native#text/plain
|
||||
src/emu/bus/a800/sparta.h svneol=native#text/plain
|
||||
src/emu/bus/abcbus/abc890.c svneol=native#text/plain
|
||||
src/emu/bus/abcbus/abc890.h svneol=native#text/plain
|
||||
src/emu/bus/abcbus/abcbus.c svneol=native#text/plain
|
||||
|
355
hash/a5200.xml
355
hash/a5200.xml
@ -103,7 +103,8 @@ Possible Undumped protos: -
|
||||
<description>5200 Menu (Prototype)</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="5200menu.bin" size="8192" crc="0de2db48" sha1="e64fb1a353c72b87c5483bb88cb3523ea5d37b59" offset="0" />
|
||||
</dataarea>
|
||||
@ -114,7 +115,8 @@ Possible Undumped protos: -
|
||||
<description>A.E. (Prototype)</description>
|
||||
<year>1982</year>
|
||||
<publisher>Brøderbund Software Inc</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="aep.bin" size="16384" crc="35484751" sha1="e18a603b18b85e24f9c938b33b6077a767c1fa9c" offset="0" />
|
||||
</dataarea>
|
||||
@ -126,7 +128,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FC-008" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="decathln.bin" size="16384" crc="f43e7cd0" sha1="db203973df13b071da46d52fdb078a76f4db428d" offset="0" />
|
||||
</dataarea>
|
||||
@ -138,7 +141,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5201" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="asteroid.bin" size="8192" crc="38480891" sha1="18697dd8e640fa1578b3b4ae09af484c14fb8410" offset="0" />
|
||||
</dataarea>
|
||||
@ -150,8 +154,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9560" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="astrchse.bin" size="16384" crc="4019ecec" sha1="67e405c37e55dec4071018e8166ab4faf9f21df5" offset="0" />
|
||||
</dataarea>
|
||||
@ -163,7 +167,8 @@ Possible Undumped protos: -
|
||||
<year>1986</year>
|
||||
<publisher>Atari / Lucasfilm</publisher>
|
||||
<info name="serial" value="CX5255" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="ballblze.bin" size="32768" crc="94d97d14" sha1="ed92ffd21abd50339f5be0cbff9bdcc8fafbc67f" offset="0" />
|
||||
</dataarea>
|
||||
@ -174,7 +179,8 @@ Possible Undumped protos: -
|
||||
<description>Barroom Baseball (Prototype)</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="barbball.bin" size="32768" crc="21d19c8f" sha1="510ccb20df2ecdbe7f8373de6a9fc11493e8c3f2" offset="0" />
|
||||
</dataarea>
|
||||
@ -186,8 +192,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5239" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="bzone.bin" size="16384" crc="b3b8e314" sha1="a339cddfc28477c21c58783d2d3b0cf0f4626ddf" offset="0" />
|
||||
</dataarea>
|
||||
@ -199,7 +205,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-009" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="beamrid.bin" size="16384" crc="9bae58dc" sha1="b75d555d059ad61992f9f5a234129ecbf9504c35" offset="0" />
|
||||
</dataarea>
|
||||
@ -211,7 +218,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5221" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="berzerk.bin" size="16384" crc="be3cd348" sha1="e56ccc6bf427a832ce00540b02d065a2688260dc" offset="0" />
|
||||
</dataarea>
|
||||
@ -223,7 +231,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5231" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="blckbelt.bin" size="32768" crc="ed47b0d8" sha1="9b7ecd444b6239442ef1f54cd8e14c294c064da2" offset="0" />
|
||||
</dataarea>
|
||||
@ -234,7 +243,8 @@ Possible Undumped protos: -
|
||||
<description>Blaster (Prototype)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="blaster.bin" size="16384" crc="c8f9c094" sha1="ab3130256d16af09cac8b11749dfaff6aaaa3ea3" offset="0" />
|
||||
</dataarea>
|
||||
@ -246,7 +256,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>CBS Electronics / Bally Midway MFG. Co.</publisher>
|
||||
<info name="serial" value="80033" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="blueprnt.bin" size="16384" crc="0624e6e7" sha1="1e1a20c104bf4d55eca0ca1e72dc5dc64fa6b1b5" offset="0" />
|
||||
</dataarea>
|
||||
@ -257,7 +268,8 @@ Possible Undumped protos: -
|
||||
<description>Bounty Bob Strikes Back!</description>
|
||||
<year>1984</year>
|
||||
<publisher>Big Five Software</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_bbsb" />
|
||||
<dataarea name="rom" size="40960">
|
||||
<rom name="bbstrksb.bin" size="40960" crc="7873c6dd" sha1="cfdd2f8dabb03d8784f336bb0c804270dc3a8a6c" offset="0" />
|
||||
</dataarea>
|
||||
@ -269,8 +281,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Sega</publisher>
|
||||
<info name="serial" value="005-02" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="buckrog.bin" size="16384" crc="04807705" sha1="bc7c81f758dd3e224e42ac8a16c1a12d69aed722" offset="0" />
|
||||
</dataarea>
|
||||
@ -282,8 +294,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5212" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="centiped.bin" size="16384" crc="536a70fe" sha1="eb343b90d3de696e69b1f039d4fb2c6afb0d80c0" offset="0" />
|
||||
@ -296,7 +308,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5253" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="choplift.bin" size="16384" crc="9ad53bbc" sha1="9f1ee191319ef0261cc7074a81c0e6d6b7464cd2" offset="0" />
|
||||
</dataarea>
|
||||
@ -308,8 +321,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Sega</publisher>
|
||||
<info name="serial" value="006-02" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="congo.bin" size="16384" crc="f1f42bbd" sha1="e0203c2124127eba2d679be548fa257ecc5b2607" offset="0" />
|
||||
</dataarea>
|
||||
@ -322,8 +335,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5210" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="cntrmsre.bin" size="16384" crc="fd541c80" sha1="fa6d77e6e9afd0ea42fc9f9807932bf9e8fb170e" offset="0" />
|
||||
</dataarea>
|
||||
@ -335,7 +348,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-011" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="pitfall2.bin" size="16384" crc="4b910461" sha1="b051f0fb2e816787ab6eed0cb008b9f8cc9963dc" offset="0" />
|
||||
</dataarea>
|
||||
@ -347,8 +361,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5218" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="defender.bin" size="16384" crc="bd52623b" sha1="44f6dbf5013a70e646d5c5232981d517069fc449" offset="0" />
|
||||
</dataarea>
|
||||
@ -360,8 +374,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5211" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="digdug.bin" size="16384" crc="6a687f9c" sha1="387a76ba5912251e2285b7722004ad75e9ede523" offset="0" />
|
||||
</dataarea>
|
||||
@ -373,7 +387,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-005" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="dredfctr.bin" size="8192" crc="460def2d" sha1="ea7b40ce1106378e1d409cab6634fb2e483ff238" offset="0" />
|
||||
</dataarea>
|
||||
@ -385,7 +400,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5256" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="finalleg.bin" size="16384" crc="d3bd3221" sha1="48625af4f3e9fe538dab2a0b463887fc8c6b138d" offset="0" />
|
||||
</dataarea>
|
||||
@ -396,8 +412,8 @@ Possible Undumped protos: -
|
||||
<description>Frisky Tom (Prototype)</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="friskyt.bin" size="16384" crc="04b299a4" sha1="69dcc8f59ca449f13dc896b4b29b534762d97064" offset="0" />
|
||||
</dataarea>
|
||||
@ -409,7 +425,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9530" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="frogger.bin" size="8192" crc="ae7e3444" sha1="d9a695757f0494aee92a50ab8a49558745e0cedf" offset="0" />
|
||||
</dataarea>
|
||||
@ -421,8 +438,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9090" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="frogger2.bin" size="16384" crc="0af19345" sha1="3d815594cf674694b04bb0ff90bf635d7d402fc2" offset="0" />
|
||||
</dataarea>
|
||||
@ -434,7 +451,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5206" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="galaxian.bin" size="8192" crc="3ef4a23f" sha1="0df0d7f11d89e2c5b59cc9f98d67d98e203831aa" offset="0" />
|
||||
@ -447,7 +465,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>CBS Electronics / Bally Midway MFG. Co.</publisher>
|
||||
<info name="serial" value="80013" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="gorf.bin" size="8192" crc="e955db74" sha1="80926bb270ea66cb5cacc379de1fc16d8a3d814b" offset="0" />
|
||||
</dataarea>
|
||||
@ -459,7 +478,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5257" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="gremlins.bin" size="32768" crc="063ec2c4" sha1="f3c32b39580d589799dcead98bb206fbf3df0504" offset="0" />
|
||||
</dataarea>
|
||||
@ -471,8 +491,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9080" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="gyruss.bin" size="16384" crc="cfd4a7f9" sha1="d0d8650eb07d1679004d491360c2c041e37c61cd" offset="0" />
|
||||
</dataarea>
|
||||
@ -484,7 +504,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-007" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="hero.bin" size="16384" crc="18a73af3" sha1="d286ecb6793a0dda9c9c68f6355dbe3ade6922f9" offset="0" />
|
||||
</dataarea>
|
||||
@ -496,8 +517,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9100" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="jamesbnd.bin" size="16384" crc="d9ae4518" sha1="ae765943ae8d909b6ca6ff1560ba027adeeaa515" offset="0" />
|
||||
</dataarea>
|
||||
@ -509,8 +530,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5240" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="joust.bin" size="16384" crc="bfd30c01" sha1="0f74125edac90ffd1274a128df2970c239348fb5" offset="0" />
|
||||
</dataarea>
|
||||
@ -522,8 +543,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5251" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="jrpacman.bin" size="16384" crc="59983c40" sha1="a3e760d09e4dc6053286967576b5b7d42ee2fd38" offset="0" />
|
||||
</dataarea>
|
||||
@ -535,8 +556,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5222" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="jungleh.bin" size="16384" crc="2c676662" sha1="fa02ee04cfad90c6ccf9d9b984e3b7b3327fec12" offset="0" />
|
||||
</dataarea>
|
||||
@ -548,7 +569,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>CBS Electronics / Kay Enterprizes Co.</publisher>
|
||||
<info name="serial" value="80503" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="krazysht.bin" size="8192" crc="ee702214" sha1="c7eb2b4a46a197adfedf33c2ccc17d8424d681c4" offset="0" />
|
||||
</dataarea>
|
||||
@ -560,7 +582,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-001" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="4096">
|
||||
<rom name="kaboom.bin" size="4096" crc="420f5d0b" sha1="a80f876a89a8ceacc71da5d9c02b546970b17730" offset="0" />
|
||||
@ -573,8 +596,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5229" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="kangaroo.bin" size="16384" crc="ecfa624f" sha1="c3dbeed7adc0e282bf76332ab5a3209550e26d02" offset="0" />
|
||||
</dataarea>
|
||||
@ -586,7 +609,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-006" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="keystone.bin" size="8192" crc="8fe3bb2c" sha1="9f31c85a13e919135438590601e33bef11a8df8a" offset="0" />
|
||||
</dataarea>
|
||||
@ -598,7 +622,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5260" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="laststar.bin" size="16384" crc="83517703" sha1="4046f60602254a7d86d2a6efd1a330455eaec119" offset="0" />
|
||||
</dataarea>
|
||||
@ -609,8 +634,8 @@ Possible Undumped protos: -
|
||||
<description>Looney Tunes Hotel (Prototype)</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="loontoon.bin" size="16384" crc="84df4925" sha1="bc4a536616ac45689b3ad790f6b1394ebbd8cc7e" offset="0" />
|
||||
</dataarea>
|
||||
@ -622,7 +647,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5247" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="mario.bin" size="32768" crc="873742f1" sha1="a293b6b06050e11029d97137f2b1b36059567273" offset="0" />
|
||||
</dataarea>
|
||||
@ -633,7 +659,8 @@ Possible Undumped protos: -
|
||||
<description>Meebzork (Prototype)</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="meebzork.bin" size="32768" crc="9fb13411" sha1="ff0f1d9ed0ae45e3c81b252f3d0a335e03b0aa4b" offset="0" />
|
||||
</dataarea>
|
||||
@ -645,7 +672,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-003" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="megamnia.bin" size="8192" crc="240a1e1a" sha1="f5512460c6b6d3a1baa0b23adf6a3a37fe308eb3" offset="0" />
|
||||
</dataarea>
|
||||
@ -656,7 +684,8 @@ Possible Undumped protos: -
|
||||
<description>Meteorites</description>
|
||||
<year>1983</year>
|
||||
<publisher>Electra Concepts</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="meteorit.bin" size="16384" crc="ab8e035b" sha1="32d86a381feff43149b66336dcc4ba2523273228" offset="0" />
|
||||
</dataarea>
|
||||
@ -667,8 +696,8 @@ Possible Undumped protos: -
|
||||
<description>Microgammon SB (Prototype)</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="microgam.bin" size="16384" crc="931a454a" sha1="2f152a857a8a58d602b3c717612d9744423ee495" offset="0" />
|
||||
</dataarea>
|
||||
@ -680,7 +709,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5248" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="milliped.bin" size="16384" crc="969cfe1a" sha1="1243a8ecfc02a74ae4e1f4fcda38502776f45cb0" offset="0" />
|
||||
@ -693,7 +723,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Big Five Software</publisher>
|
||||
<info name="serial" value="BF1912" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="mine2049.bin" size="16384" crc="7df1adfb" sha1="0564b1867a0b570d66dfcbc11adc3e51a2c6f28c" offset="0" />
|
||||
</dataarea>
|
||||
@ -705,8 +736,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5230" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="minigolf.bin" size="16384" crc="c597c087" sha1="ef4d3ee7b4da2ef79c6f4d0d1833f10c1eb7725e" offset="0" />
|
||||
</dataarea>
|
||||
@ -718,7 +749,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5202" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="missile.bin" size="8192" crc="44d3ff6f" sha1="5c8ec22e131810ccac08066ca96e9944ccfa4ecb" offset="0" />
|
||||
@ -731,8 +763,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9460" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="montezum.bin" size="16384" crc="2a640143" sha1="7e2a05625598c7e6615f969aa695e64315cd9846" offset="0" />
|
||||
</dataarea>
|
||||
@ -744,7 +776,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5241" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="mpatrol.bin" size="16384" crc="d0b2f285" sha1="02dd5b9278c06ae8cbb6dacc094e238fbacf08d2" offset="0" />
|
||||
</dataarea>
|
||||
@ -756,7 +789,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>CBS Electronics</publisher>
|
||||
<info name="serial" value="80083" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="mntnking.bin" size="8192" crc="0f24243c" sha1="2e7ae57260624d1f5710d445a0936f0c280a6655" offset="0" />
|
||||
</dataarea>
|
||||
@ -768,7 +802,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9420" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="docastle.bin" size="8192" crc="aa55f9be" sha1="002e6f8c7533b03f8041e7f1896589c0ab0e17a6" offset="0" />
|
||||
</dataarea>
|
||||
@ -780,8 +815,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5243" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="mspacman.bin" size="16384" crc="752f5efd" sha1="f93d72444d76075273e508555423936530875148" offset="0" />
|
||||
</dataarea>
|
||||
@ -793,8 +828,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5208" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="pacman.bin" size="16384" crc="8873ef51" sha1="ee4b3c6f08aa9fdfab532eec98136306b6923f75" offset="0" />
|
||||
</dataarea>
|
||||
@ -806,7 +841,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5236" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="pengo.bin" size="32768" crc="e4f8ba8c" sha1="19ff7622dbbc2915e3e98d8d966340e7e893ff34" offset="0" />
|
||||
</dataarea>
|
||||
@ -818,7 +854,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-004" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="pitfall.bin" size="8192" crc="b2887833" sha1="d1c7dc3de097a4bfab82235acec69a97e6e05f18" offset="0" />
|
||||
</dataarea>
|
||||
@ -830,8 +867,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5217" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="polepos.bin" size="16384" crc="abc2d1e4" sha1="d504764c5894ee99c0b5e2024cbe833ebba3ab17" offset="0" />
|
||||
@ -844,8 +881,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9510" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="popeye.bin" size="16384" crc="a18a9a40" sha1="e615aaa0c1d56ac83b91f6087970fa708d6433bf" offset="0" />
|
||||
</dataarea>
|
||||
@ -857,7 +894,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9500" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="qbert.bin" size="8192" crc="3fe4a401" sha1="e6966bde5cd4167020c9d21bab613af1648b4d75" offset="0" />
|
||||
</dataarea>
|
||||
@ -869,8 +907,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5221" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="qix.bin" size="16384" crc="aea6d2c2" sha1="786cdf54d1625e0d3ea8814506fdeeba5e4ece48" offset="0" />
|
||||
</dataarea>
|
||||
@ -882,7 +920,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Sunrise</publisher>
|
||||
<info name="serial" value="1603" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="questroo.bin" size="16384" crc="b5f3402b" sha1="17a41c5f9a32f8a71939cfaa0e96807b951aedad" offset="0" />
|
||||
</dataarea>
|
||||
@ -894,7 +933,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5209" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="rsbsebll.bin" size="32768" crc="44166592" sha1="a94d06739fa19453fa586a836eaacae11fe93989" offset="0" />
|
||||
@ -907,7 +947,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5219" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="rsbktbll.bin" size="32768" crc="dd217276" sha1="9b21ac7fec8d556585c6970231318ef1f501b2b5" offset="0" />
|
||||
</dataarea>
|
||||
@ -919,7 +960,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5219" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="rsbktbll1.bin" size="32768" crc="c90196fa" sha1="9edb066a37ca7657979952c946ab89be7926f4f8" offset="0" />
|
||||
</dataarea>
|
||||
@ -931,7 +973,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5219" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="rsbktbll2.bin" size="16384" crc="0f996184" sha1="2b43f74db4833272d2048de8fa32b857af8e090f" offset="0" />
|
||||
</dataarea>
|
||||
@ -944,8 +987,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5207" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="rsftball.bin" size="16384" crc="4336c2cc" sha1="a0dbd654ed3ba2583ca175a1356924d9529884df" offset="0" />
|
||||
@ -959,8 +1002,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5213" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="rssoccer.bin" size="16384" crc="ecbd1853" sha1="c911cc914f3923d5aeb1a897e6dc4a551a9a53da" offset="0" />
|
||||
@ -973,8 +1016,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5214" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="rstennis.bin" size="16384" crc="10f33c90" sha1="2e6c7472e37926cdfd3d855a4bd37a18fa83d8cf" offset="0" />
|
||||
</dataarea>
|
||||
@ -987,7 +1030,8 @@ Possible Undumped protos: -
|
||||
<year>1986</year>
|
||||
<publisher>Atari / Lucasfilm</publisher>
|
||||
<info name="serial" value="CX5254" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="fractal.bin" size="32768" crc="762c591b" sha1="9253d7286cf87999474b37df242ba23b4358ef4a" offset="0" />
|
||||
</dataarea>
|
||||
@ -999,7 +1043,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-002" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="riveraid.bin" size="8192" crc="09fc7648" sha1="ce9bd3b0847c5e187c3e8f667c8f5ea771c49965" offset="0" />
|
||||
</dataarea>
|
||||
@ -1011,8 +1056,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5242" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="roadrun.bin" size="16384" crc="a97606ab" sha1="0a7aaef5b0ede927cea13e724906207e1db48068" offset="0" />
|
||||
</dataarea>
|
||||
@ -1024,7 +1069,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5225" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="robotron.bin" size="16384" crc="4252abd9" sha1="9175e6daca58102ac8b9729d7b0336cf09977d12" offset="0" />
|
||||
</dataarea>
|
||||
@ -1036,8 +1082,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5232" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="spcedngn.bin" size="16384" crc="b68d61e8" sha1="127ed1c31c3e85d10212eee7b9e6d71aef7dd891" offset="0" />
|
||||
</dataarea>
|
||||
@ -1049,7 +1095,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5204" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="spaceinv.bin" size="8192" crc="de5c354a" sha1="cf411db770217b5af5fcfa32725cc587a8b9e710" offset="0" />
|
||||
@ -1062,7 +1109,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-012" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="spceshut.bin" size="16384" crc="387365dc" sha1="5ae20e767d9819fe601f3b1ea6d4506ae2f2ceef" offset="0" />
|
||||
</dataarea>
|
||||
@ -1073,7 +1121,8 @@ Possible Undumped protos: -
|
||||
<description>Spitfire (Prototype)</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="spitfire.bin" size="32768" crc="3c311303" sha1="688133761c462d6865bf673ed298b4d828120940" offset="0" />
|
||||
</dataarea>
|
||||
@ -1085,8 +1134,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5237" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="sprtgoof.bin" size="16384" crc="73b5b6fb" sha1="5f0354d8792d652313e5a0fa5d395e091c801d97" offset="0" />
|
||||
</dataarea>
|
||||
@ -1098,8 +1147,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5202" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="starraid.bin" size="16384" crc="7d819a9f" sha1="57dfc22c9805555f957ed51a2dc7bf35ad00c9d9" offset="0" />
|
||||
</dataarea>
|
||||
@ -1111,8 +1160,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Sega</publisher>
|
||||
<info name="serial" value="004-02" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="startrek.bin" size="16384" crc="69f23548" sha1="19801454ab86f2a5cf691fcd577a71ad2b8dc7d5" offset="0" />
|
||||
</dataarea>
|
||||
@ -1124,7 +1173,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9060" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="starwars.bin" size="8192" crc="0675f0a5" sha1="bf77048abc36ba2cba5eeeac812802d6a0eba891" offset="0" />
|
||||
</dataarea>
|
||||
@ -1136,8 +1186,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9040" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="swa.bin" size="16384" crc="75f566df" sha1="ab676ffe054b23bdd43cee2498afefaabbf9355b" offset="0" />
|
||||
</dataarea>
|
||||
@ -1149,7 +1199,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5252" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="stargate.bin" size="16384" crc="1d1cee27" sha1="09d192a3598cdadfb61eceb430b3d5892e40962f" offset="0" />
|
||||
</dataarea>
|
||||
@ -1161,7 +1212,8 @@ Possible Undumped protos: -
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5203" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<feature name="peripheral" value="trackball" /> <!-- Works with Trackball controller -->
|
||||
<dataarea name="rom" size="4096">
|
||||
<rom name="sprbreak.bin" size="4096" crc="a0642110" sha1="f5f9c7f97bf09e5647e808d892b656f3ee1e19e0" offset="0" />
|
||||
@ -1174,7 +1226,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Parker Brothers</publisher>
|
||||
<info name="serial" value="9550" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="scobra.bin" size="8192" crc="97debcd2" sha1="8205093f5fb1fdf0ccb71d667ea0a3849fb0a0f2" offset="0" />
|
||||
</dataarea>
|
||||
@ -1185,7 +1238,8 @@ Possible Undumped protos: -
|
||||
<description>Super Pac-Man (Prototype)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="spacman.bin" size="16384" crc="0a4ddb1e" sha1="238cb448555d8bb5c96aa0354718411e8777c613" offset="0" />
|
||||
</dataarea>
|
||||
@ -1197,7 +1251,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5220" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="tempest.bin" size="16384" crc="1187342f" sha1="85fcea0a4d4d1f22437801c96229ba96e0f6b711" offset="0" />
|
||||
</dataarea>
|
||||
@ -1209,7 +1264,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5258" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="trackfld.bin" size="16384" crc="0ba22ece" sha1="9dfbb5d8b77504c66ce3ac4382daf79820393dd8" offset="0" />
|
||||
</dataarea>
|
||||
@ -1221,7 +1277,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5216" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="vanguard.bin" size="32768" crc="caaea0a4" sha1="6c633de50e6cc0c0c40061cd24e6f78f552a438f" offset="0" />
|
||||
</dataarea>
|
||||
@ -1233,7 +1290,8 @@ Possible Undumped protos: -
|
||||
<year>1983</year>
|
||||
<publisher>CBS Electronics</publisher>
|
||||
<info name="serial" value="80003" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="wow.bin" size="16384" crc="d6f7ddfd" sha1="49debdf3c133fde9905d6d9137da5d8dff8d6283" offset="0" />
|
||||
</dataarea>
|
||||
@ -1244,8 +1302,8 @@ Possible Undumped protos: -
|
||||
<description>Xari Arena (Prototype)</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="xariarna.bin" size="16384" crc="b8faaec3" sha1="8b5512d3d2a952c99b9377919f0e06481161d81e" offset="0" />
|
||||
</dataarea>
|
||||
@ -1257,7 +1315,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CX5246" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="xevious.bin" size="32768" crc="382634dc" sha1="c3cf33216dfa484309b923f21829d040486bc481" offset="0" />
|
||||
</dataarea>
|
||||
@ -1268,7 +1327,8 @@ Possible Undumped protos: -
|
||||
<description>Yellow Sub Demo</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="4096">
|
||||
<rom name="yllowsub.bin" size="4096" crc="f47bc091" sha1="e58e1f257923694dbeb586c860f385e74e460f90" offset="0" />
|
||||
</dataarea>
|
||||
@ -1280,7 +1340,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Sega</publisher>
|
||||
<info name="serial" value="008-02" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="zaxxon.bin" size="32768" crc="741746d1" sha1="4a4c4a25c8ed1b0ae79ca22684d7d311a564a7b5" offset="0" />
|
||||
</dataarea>
|
||||
@ -1292,7 +1353,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-010" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="zenji.bin" size="8192" crc="da228530" sha1="55da563b4394508c23d866fb1e543262fb45536d" offset="0" />
|
||||
</dataarea>
|
||||
@ -1304,7 +1366,8 @@ Possible Undumped protos: -
|
||||
<year>1984</year>
|
||||
<publisher>Activision</publisher>
|
||||
<info name="serial" value="FZ-101" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="znerangr.bin" size="16384" crc="2959d827" sha1="18315bec1e62102290feeb77fb290e1266cf5bfc" offset="0" />
|
||||
</dataarea>
|
||||
@ -1315,7 +1378,8 @@ Possible Undumped protos: -
|
||||
<description>PAM: Pete's Test (USA)</description>
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="petetest.bin" size="8192" crc="28278cd6" sha1="d3ff99e080985c9c8e25389dfa74835e8c9be508" offset="0" />
|
||||
</dataarea>
|
||||
@ -1326,8 +1390,8 @@ Possible Undumped protos: -
|
||||
<description>PAM Diag 2.0</description>
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="pamdiag2.bin" size="16384" crc="e8b130c4" sha1="5cc3b4245faf01c30f77ac20b0b4940f4f8f83d8" offset="0" />
|
||||
</dataarea>
|
||||
@ -1338,8 +1402,8 @@ Possible Undumped protos: -
|
||||
<description>Atari PAM Diagnostics (Rev 2.3)</description>
|
||||
<year>1983</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<feature name="cart_type" value="A13MIRRORING" />
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200_2chips" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="pamdg23.bin" size="16384" crc="ce07d9ad" sha1="e086e9868aa913e87f94676fd600f003892e73a1" offset="0" />
|
||||
</dataarea>
|
||||
@ -1350,7 +1414,8 @@ Possible Undumped protos: -
|
||||
<description>Atari PAM Final System Test (Rev 1.0)</description>
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="8192">
|
||||
<rom name="finaltst.bin" size="8192" crc="7ea86e87" sha1="af81c400f1af0ee13a24da5e8b642442a0fc9479" offset="0" />
|
||||
</dataarea>
|
||||
@ -1361,7 +1426,8 @@ Possible Undumped protos: -
|
||||
<description>Boogie (Demo)</description>
|
||||
<year>1982</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="4096">
|
||||
<rom name="boogie.bin" size="4096" crc="3bd5fdd6" sha1="5236bc13e4b06d2e16d70b0a0c98588e1726da0c" offset="0" />
|
||||
</dataarea>
|
||||
@ -1373,7 +1439,8 @@ Possible Undumped protos: -
|
||||
<year>2002</year>
|
||||
<publisher><unlicensed></publisher>
|
||||
<info name="developer" value="Ronen Habot" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="cblast.bin" size="32768" crc="7c988054" sha1="c1a56a1fc51e09b1d8e93af40ddd7596847e6164" offset="0" />
|
||||
</dataarea>
|
||||
@ -1385,7 +1452,8 @@ Possible Undumped protos: -
|
||||
<year>2004</year>
|
||||
<publisher><unlicensed></publisher>
|
||||
<info name="developer" value="Bryan Edewaard" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="ccrisis.bin" size="32768" crc="d50e4061" sha1="4e022e101d7346a0a8618018372740e7333b4a36" offset="0" />
|
||||
</dataarea>
|
||||
@ -1397,7 +1465,8 @@ Possible Undumped protos: -
|
||||
<year>2002</year>
|
||||
<publisher><unlicensed></publisher>
|
||||
<info name="developer" value="Ron Lloyd" />
|
||||
<part name="cart" interface="a5200_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="a5200" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="koffiyk.bin" size="32768" crc="917be656" sha1="9547c56e2951e1b3a713b0b99d3edb43c9d3cdd8" offset="0" />
|
||||
</dataarea>
|
||||
|
1716
hash/a800.xml
1716
hash/a800.xml
File diff suppressed because it is too large
Load Diff
132
hash/xegs.xml
132
hash/xegs.xml
@ -30,7 +30,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8099" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="ace of aces (atari)(1988)(rx8099).rom" size="131072" crc="ebad3ddb" sha1="7d87658412d983b368b9f6c75d3d6be05485acf9" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -42,7 +43,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8109" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="airball (atari)(1988)(rx8109).rom" size="131072" crc="a0ccb3c1" sha1="e397ec3fd8ebfb9626c56e63c9186846f87ad57b" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -54,7 +56,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8092" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="archon (atari)(1987)(rx8092).rom" size="32768" crc="2636829f" sha1="bfb2782a117cf3efd5b71e225052f737658864c4" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -66,7 +69,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8064" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="ballblazer (atari)(1987)(rx8064).rom" size="65536" crc="820e5ce5" sha1="16820a57a10fd779ed160e8a25471882e23a719b" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -78,7 +82,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8086" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<feature name="peripheral" value="lightgun" /> <!-- Uses Lightgun -->
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="barnyard blaster (atari)(1987)(rx8086).rom" size="131072" crc="13ae30ed" sha1="e4b22790fce8e2e0f7c972960aec692b7fd5e016" offset="0" /> <!-- Verified -->
|
||||
@ -92,7 +97,8 @@ Compiled by K1W1
|
||||
<year>2005</year>
|
||||
<publisher><homebrew></publisher>
|
||||
<info name="developer" value="Ken Siders" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="beef drop (wip 2005-02-16).rom" size="32768" crc="6dd9e838" sha1="e95467917f873820580b5aca6b683bd0d13f1df6" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -103,7 +109,8 @@ Compiled by K1W1
|
||||
<description>Bruce Lee (Reproduction)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Video 61 / Datasoft</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="bruce lee (proto).rom" size="65536" crc="255dfc59" sha1="cad3ca79d8233df5068f3af99666889603c6dab2" offset="0" />
|
||||
</dataarea>
|
||||
@ -115,7 +122,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8077" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="battlezone (atari)(1987)(rx8077).rom" size="65536" crc="692515f2" sha1="de57b3d79a5bb44e7d0af66abe3b9d643865b360" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -127,7 +135,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8081" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="blue max (atari)(1987)(rx8081).rom" size="32768" crc="003f41ac" sha1="e25be072ae435588724ac9c5d314baf77efd3d96" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -139,7 +148,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8087" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<feature name="peripheral" value="lightgun" /> <!-- Uses Lightgun -->
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="bug hunt (atari)(1987)(rx8087).rom" size="65536" crc="246f3872" sha1="48eeec190dbb27e1311938498b087088077dd530" offset="0" /> <!-- Verified -->
|
||||
@ -151,7 +161,8 @@ Compiled by K1W1
|
||||
<description>Castle Crisis</description>
|
||||
<year>2003</year>
|
||||
<publisher>Atari Age</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="castle crisis.rom" size="32768" crc="7bc6e6dc" sha1="a8e73ef44a1a95ff21e763c9118a1ef49f178132" offset="0" />
|
||||
</dataarea>
|
||||
@ -163,7 +174,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8096" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="choplifter! (atari)(1987)(rx8096).rom" size="65536" crc="d426eccc" sha1="03600f288ecedaa61fe7976dfe32ce9a6fdfe03e" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -174,7 +186,8 @@ Compiled by K1W1
|
||||
<description>Commando (Prototype)</description>
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="commando (atari)(1988)(proto).rom" size="131072" crc="28288df4" sha1="fe546d4a7be4644e85dd1eef55a8cf273f6b2aaa" offset="0" />
|
||||
</dataarea>
|
||||
@ -186,7 +199,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8104" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<feature name="peripheral" value="lightgun" /> <!-- Uses Lightgun -->
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="crime buster (atari)(1988)(rx8104).rom" size="131072" crc="143fbad9" sha1="d936dee2676d4fb8ea84960bf6c7cef707dc45a2" offset="0" /> <!-- Verified -->
|
||||
@ -199,7 +213,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8088" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<feature name="peripheral" value="lightgun" /> <!-- Uses Lightgun -->
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="crossbow (atari)(1988)(rx8088).rom" size="131072" crc="0557a91f" sha1="7778002227315ab9fa3410b3a686634877cdd22e" offset="0" /> <!-- Verified -->
|
||||
@ -212,7 +227,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8102" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="crystal castles (atari)(1988)(rx8102).rom" size="32768" crc="998fa803" sha1="be8532d6f1c4024bc13bf7ea01832f07d387623d" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -224,7 +240,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8101" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="dark chambers (atari)(1988)(rx8101).rom" size="65536" crc="fa2f132c" sha1="cc602bee2c589e78332f729dfe08832763aec714" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -236,7 +253,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8083" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="david's midnight magic (atari)(1987)(rx8083).rom" size="65536" crc="b7ca61a2" sha1="cf7b224a4477597c872da00aebb3dcf11955b569" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -247,7 +265,8 @@ Compiled by K1W1
|
||||
<description>Deflektor (Prototype)</description>
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="deflektor (atari)(1988)(proto).rom" size="65536" crc="e4ed154e" sha1="44949d6ac68b3c155a58461292cccbe9bded5a21" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -259,7 +278,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8089" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="desert falcon (atari)(1988)(rx8089).rom" size="65536" crc="a8f9324d" sha1="fd4666796a4498339835d75ddb63c7b99d1d93bb" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -271,7 +291,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8085" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="fight night (atari)(1987)(rx8085).rom" size="131072" crc="4440d167" sha1="e6d26417365c6ed89b84683a73b31a7423b1a1fb" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -283,7 +304,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8091" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="flight simulator 2 (atari)(1987)(rx8091).rom" size="131072" crc="10cfc489" sha1="2b3a785d134251272ab606e6b9b2cd9eb25f6714" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -295,7 +317,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="CA400201" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="flight simulator 2 (demo).rom" size="65536" crc="5133a213" sha1="d1087e8d47a106555670d0aa40d97e90d0cd407a" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -307,7 +330,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8079" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="food fight (atari)(1987)(rx8079).rom" size="32768" crc="4236f0ea" sha1="79aafc04d41d5167502b4ea74c531f9c2e706580" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -319,7 +343,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8090" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="gato (atari)(1987)(rx8090).rom" size="131072" crc="ab06a3f5" sha1="cabb1effa554d915521b2a49961d8e61b67ec9b3" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -331,7 +356,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8084" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="hardball! (atari)(1987)(rx8084).rom" size="65536" crc="bf0c6df2" sha1="8a8556b2398168a557bc04e37f1f3a26bc066147" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -343,7 +369,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8114" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="into the eagle's nest (atari)(1988)(rx8114).rom" size="32768" crc="f31321c2" sha1="61d6f9264947481bc49cd47441e8fa5c8ed5fc55" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -355,7 +382,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8095" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="karateka (atari)(1988)(rx8095).rom" size="131072" crc="97646f16" sha1="23d1ab351201d5a7aaeade45bd64860ff3af90f5" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -367,7 +395,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8082" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="lode runner (atari)(1987)(rx8082).rom" size="65536" crc="b9a89bbd" sha1="9c59cf69f1c248fb673a3712ec7e35b1a0c42523" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -379,7 +408,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8103" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="mario bros. (atari)(1988)(rx8103).rom" size="65536" crc="7ba07c34" sha1="7acfd4a8205cbfe9528ab86bb53c2bb791a69bd6" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -390,7 +420,8 @@ Compiled by K1W1
|
||||
<description>Mean 18 (Prototype)</description>
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="mean 18 (atari)(1988)(proto).rom" size="131072" crc="0ee74a89" sha1="4597d669cd1551a4459cba8e023a7fae8e9a9c18" offset="0" />
|
||||
</dataarea>
|
||||
@ -401,7 +432,8 @@ Compiled by K1W1
|
||||
<description>MIDI Maze (Reproduction)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Video 61 / Atari</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="midi maze.rom" size="131072" crc="4695522f" sha1="8ed0e6b7afad565ea3adc8844a2e6840f7393b73" offset="0" />
|
||||
</dataarea>
|
||||
@ -412,7 +444,8 @@ Compiled by K1W1
|
||||
<description>MIDI Maze (Prototype)</description>
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="midi maze (atari)(1988)(proto).rom" size="131072" crc="193a53f6" sha1="9748bd366a8b79a2c962104098b03916501d005e" offset="0" />
|
||||
</dataarea>
|
||||
@ -424,7 +457,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8108" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="necromancer (atari)(1988)(rx8108).rom" size="16384" crc="39250ff2" sha1="995d78c380697118b4e2a030844994015385262a" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -436,7 +470,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8093" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="one-on-one (atari)(1987)(rx8093).rom" size="32768" crc="ab060567" sha1="d7eb0ed496db4de878c0f1688aa06ade2e3a4bb2" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -448,7 +483,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8063" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="rescue on fractalus! (atari)(1987)(rx8063).rom" size="65536" crc="1ca549ad" sha1="36bc00b2e4452855d0681c50cdec2403ffb2a6bb" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -459,7 +495,8 @@ Compiled by K1W1
|
||||
<description>Sinistar (Reproduction)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Video 61 / Atari</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="sinistar.rom" size="32768" crc="6092c611" sha1="3993362cc0efa2325a5d72484bb05bb398e2655a" offset="0" />
|
||||
</dataarea>
|
||||
@ -471,7 +508,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8078" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="star raiders ii (atari)(1987)(rx8078).rom" size="32768" crc="737d4196" sha1="7e04d33d17a5dfcab5e41fca4ae6880730583dce" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -483,7 +521,8 @@ Compiled by K1W1
|
||||
<year>1987</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8098" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="summer games (atari)(1987)(rx8098).rom" size="131072" crc="95e6932d" sha1="7082c5304cfdb2ecc2421a4feb36f4dfc0c62132" offset="0" />
|
||||
</dataarea>
|
||||
@ -494,7 +533,8 @@ Compiled by K1W1
|
||||
<description>Tapper (Reproduction)</description>
|
||||
<year>20??</year>
|
||||
<publisher>Video 61 / Bally Midway</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="tapper.rom" size="65536" crc="eff12440" sha1="f1be77d3b2e8e46a4b8acafe3a599341e308fb46" offset="0" />
|
||||
</dataarea>
|
||||
@ -506,7 +546,8 @@ Compiled by K1W1
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<info name="serial" value="RX8113" />
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="thunderfox (atari)(1988)(rx8113).rom" size="65536" crc="b15ccef2" sha1="6ce6431474d7189f30820768f3cafee54d1ddf6e" offset="0" /> <!-- Verified -->
|
||||
</dataarea>
|
||||
@ -517,7 +558,8 @@ Compiled by K1W1
|
||||
<description>Tower Toppler (Prototype)</description>
|
||||
<year>1988</year>
|
||||
<publisher>Atari</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="tower toppler (atari)(1988)(proto).rom" size="65536" crc="6b5333bd" sha1="adc0fee6f79ac00b357b3cab76fcaa872647f1c9" offset="0" />
|
||||
</dataarea>
|
||||
@ -528,7 +570,8 @@ Compiled by K1W1
|
||||
<description>Vanguard (5200 Conversion)</description>
|
||||
<year>199?</year>
|
||||
<publisher>Video 61 / Atari</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="65536">
|
||||
<rom name="vanguard.rom" size="65536" crc="688ef8bd" sha1="3a47fc61a9f4c1a22c9fe180da3fd5057f186d67" offset="0" />
|
||||
</dataarea>
|
||||
@ -540,7 +583,8 @@ Compiled by K1W1
|
||||
<description>Xenophobe (Reproduction)</description>
|
||||
<year>2010</year>
|
||||
<publisher>Video 61 / Atari</publisher>
|
||||
<part name="cart" interface="xegs_cart">
|
||||
<part name="cart" interface="a8bit_cart">
|
||||
<feature name="slot" value="xegs" />
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="xenophobe (repro).bin" size="131072" crc="68466666" sha1="109271ce4333b6a7d3030ea5c82a5e63eb4a99df" offset="0" />
|
||||
</dataarea>
|
||||
|
41
src/emu/bus/a800/a800_carts.h
Normal file
41
src/emu/bus/a800/a800_carts.h
Normal file
@ -0,0 +1,41 @@
|
||||
#ifndef __A800_CARTS_H
|
||||
#define __A800_CARTS_H
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "rom.h"
|
||||
#include "oss.h"
|
||||
#include "sparta.h"
|
||||
|
||||
static SLOT_INTERFACE_START(a800_left)
|
||||
SLOT_INTERFACE_INTERNAL("a800_8k", A800_ROM)
|
||||
SLOT_INTERFACE_INTERNAL("a800_8k_right", A800_ROM)
|
||||
SLOT_INTERFACE_INTERNAL("a800_16k", A800_ROM)
|
||||
SLOT_INTERFACE_INTERNAL("a800_phoenix", A800_ROM) // not really emulated at this stage
|
||||
SLOT_INTERFACE_INTERNAL("a800_bbsb", A800_ROM_BBSB)
|
||||
SLOT_INTERFACE_INTERNAL("a800_oss034m", A800_ROM_OSS34)
|
||||
SLOT_INTERFACE_INTERNAL("a800_oss043m", A800_ROM_OSS43)
|
||||
SLOT_INTERFACE_INTERNAL("a800_ossm091", A800_ROM_OSS91)
|
||||
SLOT_INTERFACE_INTERNAL("a800_williams", A800_ROM_WILLIAMS)
|
||||
SLOT_INTERFACE_INTERNAL("a800_diamond", A800_ROM_EXPRESS)
|
||||
SLOT_INTERFACE_INTERNAL("a800_express", A800_ROM_EXPRESS)
|
||||
SLOT_INTERFACE_INTERNAL("a800_sparta", A800_ROM_SPARTADOS) // this is a passthru cart with unemulated (atm) subslot
|
||||
SLOT_INTERFACE_INTERNAL("xegs", XEGS_ROM)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
static SLOT_INTERFACE_START(a800_right)
|
||||
SLOT_INTERFACE_INTERNAL("a800_8k_right", A800_ROM)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
static SLOT_INTERFACE_START(xegs_carts)
|
||||
SLOT_INTERFACE_INTERNAL("xegs", XEGS_ROM)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
static SLOT_INTERFACE_START(a5200_carts)
|
||||
SLOT_INTERFACE_INTERNAL("a5200", A800_ROM)
|
||||
SLOT_INTERFACE_INTERNAL("a5200_2chips", A5200_ROM_2CHIPS)
|
||||
SLOT_INTERFACE_INTERNAL("a5200_bbsb", A5200_ROM_BBSB)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
#endif
|
532
src/emu/bus/a800/a800_slot.c
Normal file
532
src/emu/bus/a800/a800_slot.c
Normal file
@ -0,0 +1,532 @@
|
||||
/***********************************************************************************************************
|
||||
|
||||
|
||||
Atari 8 bit cart emulation
|
||||
(through slot devices)
|
||||
|
||||
Emulation of the cartslot(s) for Atari 8bit series of home computers
|
||||
|
||||
Accessors to ROM are typically given in the area 0xa000-0xbfff, but some
|
||||
carts (and the right slot in A800) maps ROM to 0x8000-0x9fff too
|
||||
Bankswitch typically happens by accessing addresses in 0xd500-0xd5ff
|
||||
|
||||
Accordingly, this device offers the following handlers
|
||||
- read_80xx/write_80xx
|
||||
- read_d5xx/write_d5xx
|
||||
Notice that these are installed in different ranges at machine start by
|
||||
the drivers, so that it might well be that offs=0 for read_80xx is 0xa000!
|
||||
|
||||
***********************************************************************************************************/
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "hashfile.h"
|
||||
#include "a800_slot.h"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
const device_type A800_CART_SLOT = &device_creator<a800_cart_slot_device>;
|
||||
const device_type A5200_CART_SLOT = &device_creator<a5200_cart_slot_device>;
|
||||
const device_type XEGS_CART_SLOT = &device_creator<xegs_cart_slot_device>;
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_vcs_cart_interface - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
device_a800_cart_interface::device_a800_cart_interface (const machine_config &mconfig, device_t &device)
|
||||
: device_slot_card_interface(mconfig, device),
|
||||
m_bank_mask(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ~device_a800_cart_interface - destructor
|
||||
//-------------------------------------------------
|
||||
|
||||
device_a800_cart_interface::~device_a800_cart_interface ()
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// rom_alloc - alloc the space for the cart
|
||||
//-------------------------------------------------
|
||||
|
||||
void device_a800_cart_interface::rom_alloc(UINT32 size)
|
||||
{
|
||||
if (m_rom == NULL)
|
||||
{
|
||||
m_rom.resize(size);
|
||||
|
||||
// setup other helpers
|
||||
m_bank_mask = (size / 0x2000) - 1; // code for XEGS carts makes use of this to simplify banking
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// ram_alloc - alloc the space for the on-cart RAM
|
||||
//-------------------------------------------------
|
||||
|
||||
void device_a800_cart_interface::ram_alloc(UINT32 size)
|
||||
{
|
||||
if (m_ram == NULL)
|
||||
{
|
||||
m_ram.resize(size);
|
||||
device().save_item(NAME(m_ram));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ram_alloc - alloc the space for the on-cart RAM
|
||||
//-------------------------------------------------
|
||||
|
||||
void device_a800_cart_interface::nvram_alloc(UINT32 size)
|
||||
{
|
||||
if (m_nvram == NULL)
|
||||
{
|
||||
m_nvram.resize(size);
|
||||
device().save_item(NAME(m_nvram));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// ****_cart_slot_device - constructor
|
||||
//-------------------------------------------------
|
||||
a800_cart_slot_device::a800_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) :
|
||||
device_t(mconfig, type, name, tag, owner, clock, shortname, __FILE__),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_slot_interface(mconfig, *this)
|
||||
{
|
||||
m_type = A800_NOCART;
|
||||
}
|
||||
|
||||
a800_cart_slot_device::a800_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
device_t(mconfig, A800_CART_SLOT, "Atari 8bit Cartridge Slot", tag, owner, clock, "a800_cart_slot", __FILE__),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_slot_interface(mconfig, *this)
|
||||
{
|
||||
m_type = A800_NOCART;
|
||||
}
|
||||
|
||||
|
||||
a5200_cart_slot_device::a5200_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
a800_cart_slot_device(mconfig, A5200_CART_SLOT, "Atari 5200 Cartridge Slot", tag, owner, clock, "a5200_cart_slot", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
xegs_cart_slot_device::xegs_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
a800_cart_slot_device(mconfig, XEGS_CART_SLOT, "Atari XEGS Cartridge Slot", tag, owner, clock, "xegs_cart_slot", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ****_cart_slot_device - destructor
|
||||
//-------------------------------------------------
|
||||
|
||||
a800_cart_slot_device::~a800_cart_slot_device()
|
||||
{
|
||||
}
|
||||
|
||||
a5200_cart_slot_device::~a5200_cart_slot_device()
|
||||
{
|
||||
}
|
||||
|
||||
xegs_cart_slot_device::~xegs_cart_slot_device()
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void a800_cart_slot_device::device_start()
|
||||
{
|
||||
m_cart = dynamic_cast<device_a800_cart_interface *>(get_card_device());
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_config_complete - perform any
|
||||
// operations now that the configuration is
|
||||
// complete
|
||||
//-------------------------------------------------
|
||||
|
||||
void a800_cart_slot_device::device_config_complete()
|
||||
{
|
||||
// set brief and instance name
|
||||
update_names();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
call load
|
||||
-------------------------------------------------*/
|
||||
|
||||
//-------------------------------------------------
|
||||
// A800 PCBs
|
||||
//-------------------------------------------------
|
||||
|
||||
struct a800_slot
|
||||
{
|
||||
int pcb_id;
|
||||
const char *slot_option;
|
||||
};
|
||||
|
||||
// Here, we take the feature attribute from .xml (i.e. the PCB name) and we assign a unique ID to it
|
||||
static const a800_slot slot_list[] =
|
||||
{
|
||||
{ A800_8K, "a800_8k" },
|
||||
{ A800_16K, "a800_16k" },
|
||||
{ A800_OSS034M, "a800_oss034m" },
|
||||
{ A800_OSS043M, "a800_oss043m" },
|
||||
{ A800_OSSM091, "a800_ossm091" },
|
||||
{ A800_PHOENIX, "a800_phoenix" },
|
||||
{ A800_XEGS, "xegs" },
|
||||
{ A800_BBSB, "a800_bbsb" },
|
||||
{ A800_DIAMOND, "a800_diamond" },
|
||||
{ A800_WILLIAMS, "a800_williams" },
|
||||
{ A800_EXPRESS, "a800_express" },
|
||||
{ A800_SPARTADOS, "a800_sparta" },
|
||||
{ A800_8K_RIGHT, "a800_8k_right" },
|
||||
{ A5200_4K, "a5200" },
|
||||
{ A5200_8K, "a5200" },
|
||||
{ A5200_16K, "a5200" },
|
||||
{ A5200_32K, "a5200" },
|
||||
{ A5200_16K_2CHIPS, "a5200_2chips" },
|
||||
{ A5200_32K, "a5200" },
|
||||
{ A5200_BBSB, "a5200_bbsb" },
|
||||
{ A800_NOCART, "empty" },
|
||||
};
|
||||
|
||||
|
||||
static int a800_get_pcb_id(const char *slot)
|
||||
{
|
||||
for (int i = 0; i < ARRAY_LENGTH(slot_list); i++)
|
||||
{
|
||||
if (!core_stricmp(slot_list[i].slot_option, slot))
|
||||
return slot_list[i].pcb_id;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const char *a800_get_slot(int type)
|
||||
{
|
||||
for (int i = 0; i < ARRAY_LENGTH(slot_list); i++)
|
||||
{
|
||||
if (slot_list[i].pcb_id == type)
|
||||
return slot_list[i].slot_option;
|
||||
}
|
||||
|
||||
return "a800_8k";
|
||||
}
|
||||
|
||||
bool a800_cart_slot_device::call_load()
|
||||
{
|
||||
if (m_cart)
|
||||
{
|
||||
UINT8 *ROM;
|
||||
UINT32 len;
|
||||
|
||||
if (software_entry() != NULL)
|
||||
{
|
||||
const char *pcb_name;
|
||||
len = get_software_region_length("rom");
|
||||
|
||||
m_cart->rom_alloc(len);
|
||||
ROM = m_cart->get_rom_base();
|
||||
memcpy(ROM, get_software_region("rom"), len);
|
||||
|
||||
if ((pcb_name = get_feature("slot")) != NULL)
|
||||
m_type = a800_get_pcb_id(pcb_name);
|
||||
else
|
||||
m_type = A800_8K;
|
||||
}
|
||||
else
|
||||
{
|
||||
len = length();
|
||||
|
||||
// check whether there is an header, to identify the cart type
|
||||
if ((len % 0x1000) == 0x10)
|
||||
{
|
||||
UINT8 header[16];
|
||||
fread(header, 0x10);
|
||||
m_type = identify_cart_type(header);
|
||||
len -= 0x10; // in identify_cart_type the first 0x10 bytes are read, so we need to adjust here
|
||||
}
|
||||
else // otherwise try to guess based on size
|
||||
{
|
||||
if (len == 0x8000)
|
||||
m_type = A5200_32K;
|
||||
if (len == 0x4000)
|
||||
m_type = A800_16K;
|
||||
if (len == 0x2000)
|
||||
m_type = A800_8K;
|
||||
if (len == 0x1000)
|
||||
m_type = A5200_4K;
|
||||
}
|
||||
|
||||
m_cart->rom_alloc(len);
|
||||
ROM = m_cart->get_rom_base();
|
||||
fread(ROM, len);
|
||||
}
|
||||
printf("%s loaded cartridge '%s' size %dK\n", machine().system().name, filename(), len/1024);
|
||||
}
|
||||
return IMAGE_INIT_PASS;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
call_unload
|
||||
-------------------------------------------------*/
|
||||
|
||||
void a800_cart_slot_device::call_unload()
|
||||
{
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
call softlist load
|
||||
-------------------------------------------------*/
|
||||
|
||||
bool a800_cart_slot_device::call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry)
|
||||
{
|
||||
load_software_part_region(*this, swlist, swname, start_entry );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
identify_cart_type - code to detect cart type from
|
||||
fullpath
|
||||
-------------------------------------------------*/
|
||||
|
||||
int a800_cart_slot_device::identify_cart_type(UINT8 *header)
|
||||
{
|
||||
int type = A800_8K;
|
||||
|
||||
// check CART format
|
||||
if (strncmp((const char *)header, "CART", 4))
|
||||
fatalerror("Invalid header detected!\n");
|
||||
|
||||
switch ((header[4] << 24) + (header[5] << 16) + (header[6] << 8) + (header[7] << 0))
|
||||
{
|
||||
case 1:
|
||||
type = A800_8K;
|
||||
break;
|
||||
case 2:
|
||||
type = A800_16K;
|
||||
break;
|
||||
case 3:
|
||||
type = A800_OSS034M;
|
||||
break;
|
||||
case 8:
|
||||
type = A800_WILLIAMS;
|
||||
break;
|
||||
case 9:
|
||||
type = A800_DIAMOND;
|
||||
break;
|
||||
case 10:
|
||||
type = A800_EXPRESS;
|
||||
break;
|
||||
case 11:
|
||||
type = A800_SPARTADOS;
|
||||
break;
|
||||
case 12:
|
||||
type = A800_XEGS;
|
||||
break;
|
||||
case 15:
|
||||
type = A800_OSSM091;
|
||||
break;
|
||||
case 18:
|
||||
type = A800_BBSB;
|
||||
break;
|
||||
case 21:
|
||||
type = A800_8K_RIGHT;
|
||||
break;
|
||||
case 39:
|
||||
type = A800_PHOENIX;
|
||||
break;
|
||||
// Atari 5200 CART files
|
||||
case 4:
|
||||
type = A5200_32K;
|
||||
break;
|
||||
case 16:
|
||||
type = A5200_16K;
|
||||
break;
|
||||
case 19:
|
||||
type = A5200_8K;
|
||||
break;
|
||||
case 20:
|
||||
type = A5200_4K;
|
||||
break;
|
||||
case 6:
|
||||
type = A5200_16K_2CHIPS;
|
||||
break;
|
||||
case 7:
|
||||
type = A5200_BBSB;
|
||||
break;
|
||||
default:
|
||||
osd_printf_info("Cart type \"%d\" is currently unsupported.\n", (header[4] << 24) + (header[5] << 16) + (header[6] << 8) + (header[7] << 0));
|
||||
break;
|
||||
}
|
||||
|
||||
return type;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
get default card software
|
||||
-------------------------------------------------*/
|
||||
|
||||
void a800_cart_slot_device::get_default_card_software(astring &result)
|
||||
{
|
||||
if (open_image_file(mconfig().options()))
|
||||
{
|
||||
const char *slot_string = "a800_8k";
|
||||
dynamic_buffer head(0x10);
|
||||
UINT32 len = core_fsize(m_file);
|
||||
int type = A800_8K;
|
||||
|
||||
// check whether there is an header, to identify the cart type
|
||||
if ((len % 0x1000) == 0x10)
|
||||
{
|
||||
core_fread(m_file, head, 0x10);
|
||||
type = identify_cart_type(head);
|
||||
}
|
||||
else // otherwise try to guess based on size
|
||||
{
|
||||
if (len == 0x4000)
|
||||
type = A800_16K;
|
||||
if (len == 0x2000)
|
||||
type = A800_8K;
|
||||
}
|
||||
|
||||
if (type >= A5200_4K)
|
||||
osd_printf_info("This game is not designed for A800. You might want to run it in A5200.\n");
|
||||
|
||||
slot_string = a800_get_slot(type);
|
||||
|
||||
clear();
|
||||
|
||||
result.cpy(slot_string);
|
||||
}
|
||||
else
|
||||
software_get_default_slot(result, "a800_8k");
|
||||
}
|
||||
|
||||
|
||||
void a5200_cart_slot_device::get_default_card_software(astring &result)
|
||||
{
|
||||
if (open_image_file(mconfig().options()))
|
||||
{
|
||||
const char *slot_string = "a5200";
|
||||
dynamic_buffer head(0x10);
|
||||
UINT32 len = core_fsize(m_file);
|
||||
int type = A5200_8K;
|
||||
|
||||
// check whether there is an header, to identify the cart type
|
||||
if ((len % 0x1000) == 0x10)
|
||||
{
|
||||
core_fread(m_file, head, 0x10);
|
||||
type = identify_cart_type(head);
|
||||
|
||||
astring info;
|
||||
if (hashfile_extrainfo(*this, info) && info == "A13MIRRORING")
|
||||
type = A5200_16K_2CHIPS;
|
||||
}
|
||||
if (type < A5200_4K)
|
||||
osd_printf_info("This game is not designed for A5200. You might want to run it in A800 or A800XL.\n");
|
||||
|
||||
slot_string = a800_get_slot(type);
|
||||
|
||||
clear();
|
||||
|
||||
result.cpy(slot_string);
|
||||
}
|
||||
else
|
||||
software_get_default_slot(result, "a5200");
|
||||
}
|
||||
|
||||
|
||||
void xegs_cart_slot_device::get_default_card_software(astring &result)
|
||||
{
|
||||
if (open_image_file(mconfig().options()))
|
||||
{
|
||||
const char *slot_string = "xegs";
|
||||
dynamic_buffer head(0x10);
|
||||
UINT32 len = core_fsize(m_file);
|
||||
int type = A800_8K;
|
||||
|
||||
// check whether there is an header, to identify the cart type
|
||||
if ((len % 0x1000) == 0x10)
|
||||
{
|
||||
core_fread(m_file, head, 0x10);
|
||||
type = identify_cart_type(head);
|
||||
}
|
||||
if (type != A800_XEGS)
|
||||
{
|
||||
osd_printf_info("This game is not designed for XEGS. ");
|
||||
if (type >= A5200_4K)
|
||||
osd_printf_info("You might want to run it in A5200.\n");
|
||||
else
|
||||
osd_printf_info("You might want to run it in A800 or A800XL.\n");
|
||||
}
|
||||
|
||||
slot_string = a800_get_slot(type);
|
||||
|
||||
clear();
|
||||
|
||||
result.cpy(slot_string);
|
||||
}
|
||||
else
|
||||
software_get_default_slot(result, "xegs");
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
read
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a800_cart_slot_device::read_80xx)
|
||||
{
|
||||
if (m_cart)
|
||||
return m_cart->read_80xx(space, offset, mem_mask);
|
||||
else
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
READ8_MEMBER(a800_cart_slot_device::read_d5xx)
|
||||
{
|
||||
if (m_cart)
|
||||
return m_cart->read_d5xx(space, offset, mem_mask);
|
||||
else
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
write
|
||||
-------------------------------------------------*/
|
||||
|
||||
WRITE8_MEMBER(a800_cart_slot_device::write_80xx)
|
||||
{
|
||||
if (m_cart)
|
||||
m_cart->write_80xx(space, offset, data, mem_mask);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(a800_cart_slot_device::write_d5xx)
|
||||
{
|
||||
if (m_cart)
|
||||
m_cart->write_d5xx(space, offset, data, mem_mask);
|
||||
}
|
||||
|
177
src/emu/bus/a800/a800_slot.h
Normal file
177
src/emu/bus/a800/a800_slot.h
Normal file
@ -0,0 +1,177 @@
|
||||
#ifndef __A800_SLOT_H
|
||||
#define __A800_SLOT_H
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
/* PCB */
|
||||
enum
|
||||
{
|
||||
A800_8K = 0,
|
||||
A800_8K_RIGHT,
|
||||
A800_16K,
|
||||
A800_OSS034M,
|
||||
A800_OSS043M,
|
||||
A800_OSSM091,
|
||||
A800_PHOENIX,
|
||||
A800_XEGS,
|
||||
A800_BBSB,
|
||||
A800_DIAMOND,
|
||||
A800_WILLIAMS,
|
||||
A800_EXPRESS,
|
||||
A800_SPARTADOS,
|
||||
A5200_4K,
|
||||
A5200_8K,
|
||||
A5200_16K,
|
||||
A5200_32K,
|
||||
A5200_16K_2CHIPS,
|
||||
A5200_BBSB,
|
||||
A800_NOCART
|
||||
};
|
||||
|
||||
|
||||
// ======================> device_a800_cart_interface
|
||||
|
||||
class device_a800_cart_interface : public device_slot_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
device_a800_cart_interface(const machine_config &mconfig, device_t &device);
|
||||
virtual ~device_a800_cart_interface();
|
||||
|
||||
// memory accessor
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx) { return 0xff; }
|
||||
virtual DECLARE_READ8_MEMBER(read_d5xx) { return 0xff; }
|
||||
virtual DECLARE_WRITE8_MEMBER(write_80xx) {}
|
||||
virtual DECLARE_WRITE8_MEMBER(write_d5xx) {}
|
||||
|
||||
void rom_alloc(UINT32 size);
|
||||
void ram_alloc(UINT32 size);
|
||||
void nvram_alloc(UINT32 size);
|
||||
UINT8* get_rom_base() { return m_rom; }
|
||||
UINT8* get_ram_base() { return m_ram; }
|
||||
UINT8* get_nvram_base() { return m_nvram; }
|
||||
UINT32 get_rom_size() { return m_rom.bytes(); }
|
||||
UINT32 get_ram_size() { return m_ram.bytes(); }
|
||||
UINT32 get_nvram_size() { return m_nvram.bytes(); }
|
||||
|
||||
protected:
|
||||
// internal state
|
||||
dynamic_buffer m_rom;
|
||||
dynamic_buffer m_ram;
|
||||
dynamic_buffer m_nvram; // HiScore cart can save scores!
|
||||
// helpers
|
||||
int m_bank_mask;
|
||||
};
|
||||
|
||||
|
||||
// ======================> a800_cart_slot_device
|
||||
|
||||
class a800_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_slot_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a800_cart_slot_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
a800_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~a800_cart_slot_device();
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_config_complete();
|
||||
|
||||
// image-level overrides
|
||||
virtual bool call_load();
|
||||
virtual void call_unload();
|
||||
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry);
|
||||
|
||||
int get_cart_type() { return m_type; };
|
||||
int identify_cart_type(UINT8 *header);
|
||||
bool has_cart() { return m_cart != NULL; }
|
||||
|
||||
virtual iodevice_t image_type() const { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const { return 1; }
|
||||
virtual bool is_writeable() const { return 0; }
|
||||
virtual bool is_creatable() const { return 0; }
|
||||
virtual bool must_be_loaded() const { return 0; }
|
||||
virtual bool is_reset_on_load() const { return 1; }
|
||||
virtual const option_guide *create_option_guide() const { return NULL; }
|
||||
virtual const char *image_interface() const { return "a8bit_cart"; }
|
||||
virtual const char *file_extensions() const { return "bin,rom,car"; }
|
||||
|
||||
// slot interface overrides
|
||||
virtual void get_default_card_software(astring &result);
|
||||
|
||||
// reading and writing
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_READ8_MEMBER(read_d5xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
|
||||
|
||||
private:
|
||||
device_a800_cart_interface* m_cart;
|
||||
int m_type;
|
||||
};
|
||||
|
||||
|
||||
// The variants below are added to handle the additional formats for a5200, and to give more
|
||||
// clear error messages if you try to load an A5200 game into an A800 or a XEGS, etc.
|
||||
|
||||
// ======================> a5200_cart_slot_device
|
||||
|
||||
class a5200_cart_slot_device : public a800_cart_slot_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a5200_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~a5200_cart_slot_device();
|
||||
|
||||
virtual const char *file_extensions() const { return "bin,rom,car,a52"; }
|
||||
|
||||
// slot interface overrides
|
||||
virtual void get_default_card_software(astring &result);
|
||||
};
|
||||
|
||||
// ======================> xegs_cart_slot_device
|
||||
|
||||
class xegs_cart_slot_device : public a800_cart_slot_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
xegs_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~xegs_cart_slot_device();
|
||||
|
||||
virtual const char *file_extensions() const { return "bin,rom,car"; }
|
||||
|
||||
// slot interface overrides
|
||||
virtual void get_default_card_software(astring &result);
|
||||
};
|
||||
|
||||
// device type definition
|
||||
extern const device_type A800_CART_SLOT;
|
||||
extern const device_type A5200_CART_SLOT;
|
||||
extern const device_type XEGS_CART_SLOT;
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
DEVICE CONFIGURATION MACROS
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_A800_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, A800_CART_SLOT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
||||
|
||||
#define MCFG_A5200_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, A5200_CART_SLOT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
||||
|
||||
#define MCFG_XEGS_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \
|
||||
MCFG_DEVICE_ADD(_tag, XEGS_CART_SLOT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
||||
|
||||
|
||||
#endif
|
200
src/emu/bus/a800/oss.c
Normal file
200
src/emu/bus/a800/oss.c
Normal file
@ -0,0 +1,200 @@
|
||||
/***********************************************************************************************************
|
||||
|
||||
A800 ROM cart emulation
|
||||
|
||||
***********************************************************************************************************/
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "oss.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
const device_type A800_ROM_OSS34 = &device_creator<a800_rom_oss34_device>;
|
||||
const device_type A800_ROM_OSS43 = &device_creator<a800_rom_oss43_device>;
|
||||
const device_type A800_ROM_OSS91 = &device_creator<a800_rom_oss91_device>;
|
||||
|
||||
|
||||
a800_rom_oss34_device::a800_rom_oss34_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, A800_ROM_OSS34, "Atari 800 ROM Carts OSS-034M", tag, owner, clock, "a800_034m", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
a800_rom_oss43_device::a800_rom_oss43_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, A800_ROM_OSS43, "Atari 800 ROM Carts OSS-043M", tag, owner, clock, "a800_043m", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
a800_rom_oss91_device::a800_rom_oss91_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, A800_ROM_OSS91, "Atari 800 ROM Carts OSS-M091", tag, owner, clock, "a800_m091", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
void a800_rom_oss34_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_bank));
|
||||
}
|
||||
|
||||
void a800_rom_oss34_device::device_reset()
|
||||
{
|
||||
m_bank = 1;
|
||||
}
|
||||
|
||||
|
||||
void a800_rom_oss43_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_bank));
|
||||
}
|
||||
|
||||
void a800_rom_oss43_device::device_reset()
|
||||
{
|
||||
m_bank = 0;
|
||||
}
|
||||
|
||||
|
||||
void a800_rom_oss91_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_bank));
|
||||
}
|
||||
|
||||
void a800_rom_oss91_device::device_reset()
|
||||
{
|
||||
m_bank = 0;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
mapper specific handlers
|
||||
-------------------------------------------------*/
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
OSS 034M
|
||||
|
||||
This apparently comes from a dump with the wrong bank order...
|
||||
investigate whether we should remove it!
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a800_rom_oss34_device::read_80xx)
|
||||
{
|
||||
if (offset >= 0x1000)
|
||||
return m_rom[(offset & 0xfff) + 0x3000];
|
||||
else if (m_bank == 3)
|
||||
return 0xff;
|
||||
else
|
||||
return m_rom[(offset & 0xfff) + (m_bank * 0x1000)];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(a800_rom_oss34_device::write_d5xx)
|
||||
{
|
||||
switch (offset & 0x0f)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
m_bank = 0;
|
||||
break;
|
||||
case 2:
|
||||
case 6:
|
||||
m_bank = 3; // in this case the ROM gets disabled and 0xff is returned in 0xa000-0xafff
|
||||
break;
|
||||
case 3:
|
||||
case 7:
|
||||
m_bank = 1;
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
m_bank = 2;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
OSS 043M
|
||||
|
||||
Same as above but with correct bank order
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a800_rom_oss43_device::read_80xx)
|
||||
{
|
||||
if (offset >= 0x1000)
|
||||
return m_rom[(offset & 0xfff) + 0x3000];
|
||||
else if (m_bank == 3)
|
||||
return 0xff;
|
||||
else
|
||||
return m_rom[(offset & 0xfff) + (m_bank * 0x1000)];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(a800_rom_oss43_device::write_d5xx)
|
||||
{
|
||||
switch (offset & 0x0f)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
m_bank = 0;
|
||||
break;
|
||||
case 2:
|
||||
case 6:
|
||||
m_bank = 3; // in this case the ROM gets disabled and 0xff is returned in 0xa000-0xafff
|
||||
break;
|
||||
case 3:
|
||||
case 7:
|
||||
m_bank = 2;
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
m_bank = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
OSS M091
|
||||
|
||||
Simplified banking system which only uses two
|
||||
address lines (A0 & A3)
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a800_rom_oss91_device::read_80xx)
|
||||
{
|
||||
if (offset >= 0x1000)
|
||||
return m_rom[offset & 0xfff];
|
||||
else
|
||||
return m_rom[(offset & 0xfff) + (m_bank * 0x1000)];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(a800_rom_oss91_device::write_d5xx)
|
||||
{
|
||||
switch (offset & 0x09)
|
||||
{
|
||||
case 0:
|
||||
m_bank = 1;
|
||||
break;
|
||||
case 1:
|
||||
m_bank = 3;
|
||||
break;
|
||||
case 9:
|
||||
m_bank = 2;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
74
src/emu/bus/a800/oss.h
Normal file
74
src/emu/bus/a800/oss.h
Normal file
@ -0,0 +1,74 @@
|
||||
#ifndef __A800_OSS_H
|
||||
#define __A800_OSS_H
|
||||
|
||||
#include "rom.h"
|
||||
|
||||
|
||||
// ======================> a800_rom_oss34_device
|
||||
|
||||
class a800_rom_oss34_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a800_rom_oss34_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
|
||||
|
||||
protected:
|
||||
int m_bank;
|
||||
};
|
||||
|
||||
|
||||
// ======================> a800_rom_oss43_device
|
||||
|
||||
class a800_rom_oss43_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a800_rom_oss43_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
|
||||
|
||||
protected:
|
||||
int m_bank;
|
||||
};
|
||||
|
||||
|
||||
// ======================> a800_rom_oss91_device
|
||||
|
||||
class a800_rom_oss91_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a800_rom_oss91_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
|
||||
|
||||
protected:
|
||||
int m_bank;
|
||||
};
|
||||
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type A800_ROM_OSS34;
|
||||
extern const device_type A800_ROM_OSS43;
|
||||
extern const device_type A800_ROM_OSS91;
|
||||
|
||||
|
||||
#endif
|
331
src/emu/bus/a800/rom.c
Normal file
331
src/emu/bus/a800/rom.c
Normal file
@ -0,0 +1,331 @@
|
||||
/***********************************************************************************************************
|
||||
|
||||
A800/A5200/XEGS ROM cart emulation
|
||||
|
||||
Basic carts work the same (in addition of being mostly compatible) for all these systems
|
||||
and thus we deal with them in a single file
|
||||
|
||||
***********************************************************************************************************/
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "rom.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
const device_type A800_ROM = &device_creator<a800_rom_device>;
|
||||
const device_type A800_ROM_BBSB = &device_creator<a800_rom_bbsb_device>;
|
||||
const device_type A800_ROM_WILLIAMS = &device_creator<a800_rom_williams_device>;
|
||||
const device_type A800_ROM_EXPRESS = &device_creator<a800_rom_express_device>;
|
||||
const device_type XEGS_ROM = &device_creator<xegs_rom_device>;
|
||||
const device_type A5200_ROM_2CHIPS = &device_creator<a5200_rom_2chips_device>;
|
||||
const device_type A5200_ROM_BBSB = &device_creator<a5200_rom_bbsb_device>;
|
||||
|
||||
|
||||
a800_rom_device::a800_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
|
||||
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
device_a800_cart_interface( mconfig, *this )
|
||||
{
|
||||
}
|
||||
|
||||
a800_rom_device::a800_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, A800_ROM, "Atari 800 ROM Carts", tag, owner, clock, "a800_rom", __FILE__),
|
||||
device_a800_cart_interface( mconfig, *this )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
a800_rom_bbsb_device::a800_rom_bbsb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, A800_ROM_BBSB, "Atari 800 ROM Cart BBSB", tag, owner, clock, "a800_bbsb", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
xegs_rom_device::xegs_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, XEGS_ROM, "Atari XEGS 64K ROM Carts", tag, owner, clock, "xegs", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
a800_rom_williams_device::a800_rom_williams_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, A800_ROM_WILLIAMS, "Atari 800 64K ROM Carts Williams", tag, owner, clock, "a800_williams", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
a800_rom_express_device::a800_rom_express_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, A800_ROM_EXPRESS, "Atari 800 64K ROM Carts Express/Diamond", tag, owner, clock, "a800_express", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
a5200_rom_2chips_device::a5200_rom_2chips_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, A5200_ROM_2CHIPS, "Atari 5200 ROM Cart 16K in 2 Chips", tag, owner, clock, "a5200_16k2c", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
a5200_rom_bbsb_device::a5200_rom_bbsb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, A5200_ROM_BBSB, "Atari 5200 ROM Cart BBSB", tag, owner, clock, "a5200_bbsb", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void a800_rom_device::device_start()
|
||||
{
|
||||
}
|
||||
|
||||
void a800_rom_device::device_reset()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void a800_rom_bbsb_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_banks));
|
||||
}
|
||||
|
||||
void a800_rom_bbsb_device::device_reset()
|
||||
{
|
||||
m_banks[0] = 0;
|
||||
m_banks[1] = 0;
|
||||
}
|
||||
|
||||
|
||||
void xegs_rom_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_bank));
|
||||
}
|
||||
|
||||
void xegs_rom_device::device_reset()
|
||||
{
|
||||
m_bank = 0;
|
||||
}
|
||||
|
||||
|
||||
void a800_rom_williams_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_bank));
|
||||
}
|
||||
|
||||
void a800_rom_williams_device::device_reset()
|
||||
{
|
||||
m_bank = 0;
|
||||
}
|
||||
|
||||
|
||||
void a800_rom_express_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_bank));
|
||||
}
|
||||
|
||||
void a800_rom_express_device::device_reset()
|
||||
{
|
||||
m_bank = 0;
|
||||
}
|
||||
|
||||
|
||||
void a5200_rom_bbsb_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_banks));
|
||||
}
|
||||
|
||||
void a5200_rom_bbsb_device::device_reset()
|
||||
{
|
||||
m_banks[0] = 0;
|
||||
m_banks[1] = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
mapper specific handlers
|
||||
-------------------------------------------------*/
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Carts with no bankswitch (8K, 16K)
|
||||
|
||||
The cart accessors are mapped in the correct
|
||||
range at driver start
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a800_rom_device::read_80xx)
|
||||
{
|
||||
return m_rom[offset & (m_rom.bytes() - 1)];
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Bounty Bob Strikes Back! cart (40K)
|
||||
|
||||
Area 0xa000-0xbfff always point to last 8K bank
|
||||
Areas 0x8000-0x8fff and 0x9000-0x9fff are
|
||||
separate banks of 4K mapped either in the first
|
||||
16K chunk or in the second 16K chunk
|
||||
Bankswitch is controlled by data written in
|
||||
0x8000-0x8fff and 0x9000-0x9fff respectively
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a800_rom_bbsb_device::read_80xx)
|
||||
{
|
||||
if (offset < 0x1000)
|
||||
return m_rom[(offset & 0xfff) + (m_banks[0] * 0x1000) + 0];
|
||||
else if (offset < 0x2000)
|
||||
return m_rom[(offset & 0xfff) + (m_banks[1] * 0x1000) + 0x4000];
|
||||
else
|
||||
return m_rom[(offset & 0x1fff) + 0x8000];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(a800_rom_bbsb_device::write_80xx)
|
||||
{
|
||||
UINT16 addr = offset & 0xfff;
|
||||
if (addr >= 0xff6 && addr <= 0xff9)
|
||||
m_banks[BIT(offset, 12)] = (addr - 0xff6);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
XEGS carts (32K, 64K or 128K)
|
||||
|
||||
Bankswitch is controlled by data written in
|
||||
0xd500-0xd5ff
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(xegs_rom_device::read_80xx)
|
||||
{
|
||||
if (offset < 0x2000)
|
||||
return m_rom[(offset & 0x1fff) + (m_bank * 0x2000)];
|
||||
else
|
||||
return m_rom[(offset & 0x1fff) + (m_bank_mask * 0x2000)]; // always last 8K bank
|
||||
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(xegs_rom_device::write_d5xx)
|
||||
{
|
||||
m_bank = data & m_bank_mask;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Williams 64K
|
||||
|
||||
The rom is accessed in 8K chunks at 0xa000-0xbfff
|
||||
Bankswitch is controlled by writing to 7 diff
|
||||
offsets (their location varies with the cart type):
|
||||
offs 0 points to bank 0, offs 1 points to bank 1,
|
||||
and so on... the rom can be disabled by writing to
|
||||
the offsets 0x8-0xf of the same range as the bankswitch
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a800_rom_williams_device::read_80xx)
|
||||
{
|
||||
return m_rom[(offset & 0x1fff) + (m_bank * 0x2000)];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(a800_rom_williams_device::write_d5xx)
|
||||
{
|
||||
m_bank = (offset & 0x07);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Express 64K / Diamond 64K carts
|
||||
|
||||
The rom is accessed in 8K chunks at 0xa000-0xbfff
|
||||
Bankswitch is the same as above, but writes trigger
|
||||
banks in reverse order: offs 7 points to bank 0, offs 6
|
||||
points to bank 1, and so on... the rom can be disabled
|
||||
by writing to the offsets 0x8-0xf of the same range
|
||||
as the bankswitch
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a800_rom_express_device::read_80xx)
|
||||
{
|
||||
return m_rom[(offset & 0x1fff) + (m_bank * 0x2000)];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(a800_rom_express_device::write_d5xx)
|
||||
{
|
||||
m_bank = (offset ^ 0x07) & 0x0f;
|
||||
}
|
||||
|
||||
|
||||
// Atari 5200
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Carts with no bankswitch (4K, 8K, 16K, 32K)
|
||||
|
||||
Same as base carts above
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Carts with 2x8K (16K) with A13 line not connected
|
||||
|
||||
Range 0x4000-0x7fff contains two copies of the low
|
||||
8K, range 0x8000-0xbfff contains two copies of the
|
||||
high 8K
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a5200_rom_2chips_device::read_80xx)
|
||||
{
|
||||
if (offset < 0x4000)
|
||||
return m_rom[offset & 0x1fff];
|
||||
else
|
||||
return m_rom[(offset & 0x1fff) + 0x2000];
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
Bounty Bob Strikes Back! cart (40K)
|
||||
|
||||
Similar to the A800 version, but:
|
||||
Area 0x8000-0xbfff always point to last 8K bank
|
||||
(repeated twice)
|
||||
Areas 0x4000-0x4fff and 0x5000-0x5fff are
|
||||
separate banks of 4K mapped either in the first
|
||||
16K chunk or in the second 16K chunk
|
||||
Bankswitch is controlled by data written in
|
||||
0x4000-0x4fff and 0x5000-0x5fff respectively
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a5200_rom_bbsb_device::read_80xx)
|
||||
{
|
||||
if (offset < 0x1000)
|
||||
return m_rom[(offset & 0xfff) + (m_banks[0] * 0x1000) + 0];
|
||||
else if (offset < 0x2000)
|
||||
return m_rom[(offset & 0xfff) + (m_banks[1] * 0x1000) + 0x4000];
|
||||
else if (offset >= 0x4000)
|
||||
return m_rom[(offset & 0x1fff) + 0x8000];
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(a5200_rom_bbsb_device::write_80xx)
|
||||
{
|
||||
UINT16 addr = offset & 0xfff;
|
||||
if (addr >= 0xff6 && addr <= 0xff9)
|
||||
m_banks[BIT(offset, 12)] = (addr - 0xff6);
|
||||
}
|
||||
|
148
src/emu/bus/a800/rom.h
Normal file
148
src/emu/bus/a800/rom.h
Normal file
@ -0,0 +1,148 @@
|
||||
#ifndef __A800_ROM_H
|
||||
#define __A800_ROM_H
|
||||
|
||||
#include "a800_slot.h"
|
||||
|
||||
|
||||
// ======================> a800_rom_device
|
||||
|
||||
class a800_rom_device : public device_t,
|
||||
public device_a800_cart_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a800_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
a800_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
};
|
||||
|
||||
|
||||
// ======================> a800_rom_bbsb_device
|
||||
|
||||
class a800_rom_bbsb_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a800_rom_bbsb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_80xx);
|
||||
|
||||
protected:
|
||||
int m_banks[2];
|
||||
};
|
||||
|
||||
|
||||
// ======================> a800_rom_williams_device
|
||||
|
||||
class a800_rom_williams_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a800_rom_williams_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
|
||||
|
||||
protected:
|
||||
int m_bank;
|
||||
};
|
||||
|
||||
|
||||
// ======================> a800_rom_express_device
|
||||
|
||||
class a800_rom_express_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a800_rom_express_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
|
||||
|
||||
protected:
|
||||
int m_bank;
|
||||
};
|
||||
|
||||
|
||||
// ======================> xegs_rom_device
|
||||
|
||||
class xegs_rom_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
xegs_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
|
||||
|
||||
protected:
|
||||
int m_bank;
|
||||
};
|
||||
|
||||
|
||||
// ======================> a5200_rom_2chips_device
|
||||
|
||||
class a5200_rom_2chips_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a5200_rom_2chips_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
};
|
||||
|
||||
|
||||
// ======================> a5200_rom_bbsb_device
|
||||
|
||||
class a5200_rom_bbsb_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a5200_rom_bbsb_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_80xx);
|
||||
|
||||
protected:
|
||||
int m_banks[2];
|
||||
};
|
||||
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type A800_ROM;
|
||||
extern const device_type A800_ROM_BBSB;
|
||||
extern const device_type A800_ROM_WILLIAMS;
|
||||
extern const device_type A800_ROM_EXPRESS;
|
||||
extern const device_type XEGS_ROM;
|
||||
extern const device_type A5200_ROM_2CHIPS;
|
||||
extern const device_type A5200_ROM_BBSB;
|
||||
|
||||
|
||||
#endif
|
70
src/emu/bus/a800/sparta.c
Normal file
70
src/emu/bus/a800/sparta.c
Normal file
@ -0,0 +1,70 @@
|
||||
/***********************************************************************************************************
|
||||
|
||||
A800 SpartaDOS cart emulation
|
||||
|
||||
***********************************************************************************************************/
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "sparta.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
const device_type A800_ROM_SPARTADOS = &device_creator<a800_rom_spartados_device>;
|
||||
|
||||
|
||||
a800_rom_spartados_device::a800_rom_spartados_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: a800_rom_device(mconfig, A800_ROM_SPARTADOS, "Atari 800 SpartaDOS ROM Carts", tag, owner, clock, "a800_sparta", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
void a800_rom_spartados_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_bank));
|
||||
save_item(NAME(m_subslot_enabled));
|
||||
}
|
||||
|
||||
void a800_rom_spartados_device::device_reset()
|
||||
{
|
||||
m_bank = 0;
|
||||
m_subslot_enabled = 0;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
mapper specific handlers
|
||||
-------------------------------------------------*/
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
||||
SpartaDOS 64K carts
|
||||
|
||||
Similar to Express / Diamond carts, because
|
||||
bankswitch is controlled by writing to 7 diff
|
||||
offsets in reverse order, but writes to offsets
|
||||
0x8-0xf also enable/disable subslot
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
READ8_MEMBER(a800_rom_spartados_device::read_80xx)
|
||||
{
|
||||
if (!m_subslot_enabled)
|
||||
return m_rom[(offset & 0x1fff) + (m_bank * 0x2000)];
|
||||
else
|
||||
return 0xff; // subslot, currently not implemented
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(a800_rom_spartados_device::write_d5xx)
|
||||
{
|
||||
if (offset & 0x08)
|
||||
m_subslot_enabled = !BIT(offset, 2);
|
||||
else
|
||||
m_bank = (offset ^ 0x07) & 0x0f;
|
||||
|
||||
}
|
||||
|
32
src/emu/bus/a800/sparta.h
Normal file
32
src/emu/bus/a800/sparta.h
Normal file
@ -0,0 +1,32 @@
|
||||
#ifndef __A800_SPARTA_H
|
||||
#define __A800_SPARTA_H
|
||||
|
||||
#include "rom.h"
|
||||
|
||||
|
||||
// ======================> a800_rom_spartados_device
|
||||
|
||||
class a800_rom_spartados_device : public a800_rom_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a800_rom_spartados_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
virtual DECLARE_READ8_MEMBER(read_80xx);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_d5xx);
|
||||
|
||||
protected:
|
||||
int m_bank, m_subslot_enabled;
|
||||
};
|
||||
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type A800_ROM_SPARTADOS;
|
||||
|
||||
|
||||
#endif
|
@ -28,6 +28,20 @@ BUSOBJS += $(BUSOBJ)/a7800/xboard.o
|
||||
endif
|
||||
|
||||
|
||||
#-------------------------------------------------
|
||||
#
|
||||
#@src/emu/bus/a800/a800_slot.h,BUSES += A800
|
||||
#-------------------------------------------------
|
||||
|
||||
ifneq ($(filter A800,$(BUSES)),)
|
||||
OBJDIRS += $(BUSOBJ)/a800
|
||||
BUSOBJS += $(BUSOBJ)/a800/a800_slot.o
|
||||
BUSOBJS += $(BUSOBJ)/a800/rom.o
|
||||
BUSOBJS += $(BUSOBJ)/a800/oss.o
|
||||
BUSOBJS += $(BUSOBJ)/a800/sparta.o
|
||||
endif
|
||||
|
||||
|
||||
#-------------------------------------------------
|
||||
#
|
||||
#@src/emu/bus/abcbus/abcbus.h,BUSES += ABCBUS
|
||||
|
@ -43,6 +43,7 @@ public:
|
||||
UINT8 m_tdr;
|
||||
UINT8 m_tcr;
|
||||
timer_device *m_mcu_timer;
|
||||
void mmu(UINT8 new_mmu);
|
||||
DECLARE_READ8_MEMBER(mcu_portA_r);
|
||||
DECLARE_WRITE8_MEMBER(mcu_portA_w);
|
||||
DECLARE_READ8_MEMBER(mcu_portB_r);
|
||||
@ -60,7 +61,7 @@ public:
|
||||
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
|
||||
DECLARE_READ8_MEMBER(maxaflex_atari_pia_pa_r);
|
||||
DECLARE_READ8_MEMBER(maxaflex_atari_pia_pb_r);
|
||||
WRITE8_MEMBER(a600xl_pia_pb_w) { a600xl_mmu(data); }
|
||||
WRITE8_MEMBER(a600xl_pia_pb_w) { mmu(data); }
|
||||
WRITE_LINE_MEMBER(atari_pia_cb2_w) { } // This is used by Floppy drive on Atari 8bits Home Computers
|
||||
DECLARE_DRIVER_INIT(a600xl);
|
||||
DECLARE_MACHINE_RESET(supervisor_board);
|
||||
@ -73,6 +74,23 @@ public:
|
||||
};
|
||||
|
||||
|
||||
void maxaflex_state::mmu(UINT8 new_mmu)
|
||||
{
|
||||
/* check if self-test ROM changed */
|
||||
if ( new_mmu & 0x80 )
|
||||
{
|
||||
logerror("%s MMU SELFTEST RAM\n", machine().system().name);
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).nop_readwrite(0x5000, 0x57ff);
|
||||
}
|
||||
else
|
||||
{
|
||||
logerror("%s MMU SELFTEST ROM\n", machine().system().name);
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_bank(0x5000, 0x57ff, "bank2");
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).unmap_write(0x5000, 0x57ff);
|
||||
machine().root_device().membank("bank2")->set_base(machine().root_device().memregion("maincpu")->base() + 0x5000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Supervisor board emulation */
|
||||
|
||||
|
@ -23,8 +23,6 @@ public:
|
||||
: driver_device(mconfig, type, tag),
|
||||
tv_artifacts(0) { }
|
||||
|
||||
void a600xl_mmu(UINT8 new_mmu);
|
||||
|
||||
/* This is needed in MESS as well for Atari 8bit drivers */
|
||||
void atari_machine_start();
|
||||
|
||||
|
@ -52,30 +52,6 @@ void atari_interrupt_cb(pokey_device *device, int mask)
|
||||
device->machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
|
||||
}
|
||||
|
||||
/**************************************************************
|
||||
*
|
||||
* Memory banking
|
||||
*
|
||||
**************************************************************/
|
||||
|
||||
void atari_common_state::a600xl_mmu(UINT8 new_mmu)
|
||||
{
|
||||
/* check if self-test ROM changed */
|
||||
if ( new_mmu & 0x80 )
|
||||
{
|
||||
logerror("%s MMU SELFTEST RAM\n", machine().system().name);
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).nop_readwrite(0x5000, 0x57ff);
|
||||
}
|
||||
else
|
||||
{
|
||||
logerror("%s MMU SELFTEST ROM\n", machine().system().name);
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_bank(0x5000, 0x57ff, "bank2");
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).unmap_write(0x5000, 0x57ff);
|
||||
machine().root_device().membank("bank2")->set_base(machine().root_device().memregion("maincpu")->base() + 0x5000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**************************************************************
|
||||
*
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -562,6 +562,7 @@ MACHINES += DIABLO_HD
|
||||
BUSES += A1BUS
|
||||
BUSES += A2BUS
|
||||
BUSES += A7800
|
||||
BUSES += A800
|
||||
BUSES += ABCBUS
|
||||
BUSES += ABCKB
|
||||
BUSES += ADAM
|
||||
|
Loading…
Reference in New Issue
Block a user