diff options
-rw-r--r-- | .gitattributes | 10 | ||||
-rw-r--r-- | hash/a2600.xml | 492 | ||||
-rw-r--r-- | src/emu/bus/bus.mak | 31 | ||||
-rw-r--r-- | src/emu/bus/vcs/compumat.c | 51 | ||||
-rw-r--r-- | src/emu/bus/vcs/compumat.h | 33 | ||||
-rw-r--r-- | src/emu/bus/vcs/dpc.c | 282 | ||||
-rw-r--r-- | src/emu/bus/vcs/dpc.h | 93 | ||||
-rwxr-xr-x | src/emu/bus/vcs/rom.c | 1054 | ||||
-rwxr-xr-x | src/emu/bus/vcs/rom.h | 389 | ||||
-rw-r--r-- | src/emu/bus/vcs/scharger.c | 212 | ||||
-rw-r--r-- | src/emu/bus/vcs/scharger.h | 45 | ||||
-rwxr-xr-x | src/emu/bus/vcs/vcs_slot.c | 838 | ||||
-rwxr-xr-x | src/emu/bus/vcs/vcs_slot.h | 154 | ||||
-rw-r--r-- | src/mess/drivers/a2600.c | 1725 |
14 files changed, 3795 insertions, 1614 deletions
diff --git a/.gitattributes b/.gitattributes index 949fcc0ec52..e4df589bace 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1526,6 +1526,16 @@ src/emu/bus/tvc/hbf.c svneol=native#text/plain src/emu/bus/tvc/hbf.h svneol=native#text/plain src/emu/bus/tvc/tvc.c svneol=native#text/plain src/emu/bus/tvc/tvc.h svneol=native#text/plain +src/emu/bus/vcs/compumat.c svneol=native#text/plain +src/emu/bus/vcs/compumat.h svneol=native#text/plain +src/emu/bus/vcs/dpc.c svneol=native#text/plain +src/emu/bus/vcs/dpc.h svneol=native#text/plain +src/emu/bus/vcs/rom.c svneol=native#text/plain +src/emu/bus/vcs/rom.h svneol=native#text/plain +src/emu/bus/vcs/scharger.c svneol=native#text/plain +src/emu/bus/vcs/scharger.h svneol=native#text/plain +src/emu/bus/vcs/vcs_slot.c svneol=native#text/plain +src/emu/bus/vcs/vcs_slot.h svneol=native#text/plain src/emu/bus/vcs_ctrl/ctrl.c svneol=native#text/plain src/emu/bus/vcs_ctrl/ctrl.h svneol=native#text/plain src/emu/bus/vcs_ctrl/joybooster.c svneol=native#text/plain diff --git a/hash/a2600.xml b/hash/a2600.xml index e9b3081be2b..d5b26a1ab84 100644 --- a/hash/a2600.xml +++ b/hash/a2600.xml @@ -15,6 +15,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (black) - challenge, surfing.bin" size="16384" crc="07bfb506" sha1="05664dcc45d02ce585cd79d551c5c20fc2c7a833" offset="0" /> </dataarea> @@ -29,6 +30,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (black) - challenge, surfing (alt).bin" size="16384" crc="e2532342" sha1="f2fa7573b250c804ff2a19da43517687fe310c3f" offset="0" /> </dataarea> @@ -43,6 +45,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (blue)- dungeon master, creature strike.bin" size="16384" crc="c9920339" sha1="96e42866669225c1a8c078c263e16703d080ffdf" offset="0" /> </dataarea> @@ -59,6 +62,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (dark blue) - planet patrol, wall-defender.bin" size="16384" crc="0c8c40f3" sha1="40058f86488c905a67cfb3f6595dbb4d62150011" offset="0" /> </dataarea> @@ -73,6 +77,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special - dolphin, oink.bin" size="16384" crc="ddbc3ed4" sha1="0c5ed716e4477f8e22f6dd5e62756cd618ac154b" offset="0" /> </dataarea> @@ -88,6 +93,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (green) - dolphin, pigs 'n wolf.bin" size="16384" crc="0b8e3332" sha1="e4a26a828572ac877e50862fd92c21315c7f2ed2" offset="0" /> </dataarea> @@ -102,6 +108,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (light green) - hoppy, alien force.bin" size="16384" crc="38c5b48f" sha1="b08c6e94becadd76a7be0d473622a698f00255ef" offset="0" /> </dataarea> @@ -117,6 +124,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (magenta) - cavern blaster, city war.bin" size="16384" crc="00500b31" sha1="bf069a4dd5b65403beea6cc60d91206577ea1c0e" offset="0" /> </dataarea> @@ -132,6 +140,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (orange) - space voyage, fire alert.bin" size="16384" crc="989cd871" sha1="6ad5c412304ef92af37ede1d8fe42ec484dac004" offset="0" /> </dataarea> @@ -147,6 +156,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (red) - motocross, boom bang.bin" size="16384" crc="0a05d00c" sha1="bfcc35feee3713f5028122844d027c88a84772b6" offset="0" /> </dataarea> @@ -162,6 +172,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="2 pak special (yellow) - star warrior, frogger.bin" size="16384" crc="cb78caec" sha1="f4885610503bff2c4ca816f4f28d1fe517b92f35" offset="0" /> </dataarea> @@ -243,6 +254,7 @@ Info from Atariage and Atarimania <info name="serial" value="CX26163P" /> <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> + <feature name="slot" value="a26_32in1" /> <dataarea name="rom" size="65536"> <rom name="32 in 1.bin" size="65536" crc="eaef28ea" sha1="97ffc252438a5c9361096a1151bdbf79bd717cb3" offset="0" /> </dataarea> @@ -255,6 +267,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> + <feature name="slot" value="a26_32in1" /> <dataarea name="rom" size="65536"> <rom name="32 in 1 console rom (prototype) (02-10-1989).bin" size="65536" crc="05438099" sha1="8dccc90be602903a0196e85962eda62f99181a17" offset="0" /> </dataarea> @@ -269,6 +282,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="4in1" /> + <feature name="slot" value="a26_4in1" /> <dataarea name="rom" size="8192"> <rom name="4 in 1 - canyon bomber, home run, night driver, sky diver (02-19-1987) (atari) (cx26137) (prototype).bin" size="8192" crc="8b304851" sha1="bc60987b668d6fa26c49f5aba5815622710140d9" offset="0" /> </dataarea> @@ -283,6 +297,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="4in1" /> + <feature name="slot" value="a26_4in1" /> <dataarea name="rom" size="16384"> <rom name="4 game in one - rodeo champ, open sesame, bobby is going home, festival.bin" size="16384" crc="69ca1a92" sha1="b6193826df511f39077013369e625e56577f2f36" offset="0" /> </dataarea> @@ -296,6 +311,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="4in1" /> + <feature name="slot" value="a26_4in1" /> <dataarea name="rom" size="16384"> <rom name="4 game in one - ice hockey, phantom ufo, spy vs. spy, cosmic avenger.bin" size="16384" crc="caf86fa7" sha1="724c1ce352d0219699892f7c78083f825a71ac1a" offset="0" /> </dataarea> @@ -310,6 +326,7 @@ Info from Atariage and Atarimania <info name="serial" value="CX26193" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="8in1" /> + <feature name="slot" value="a26_8in1" /> <dataarea name="rom" size="65536"> <rom name="8 in 1 (prototype).bin" size="65536" crc="5ddf79f5" sha1="c066942446c3fc7075ee8430a381d5da4adaec41" offset="0" /> </dataarea> @@ -325,6 +342,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="a-team, the (prototype) (3-30-84).bin" size="8192" crc="74ea91dd" sha1="53413577afe7def1d390e3892c45822405513c07" offset="0" /> </dataarea> @@ -340,6 +358,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="a-team, the (prototype) (05-08-84).bin" size="8192" crc="389bd695" sha1="bcbd36389c56e9b408e8fc4bc595dc731aaf0e02" offset="0" /> </dataarea> @@ -355,6 +374,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="a-team, the (prototype) (pal).bin" size="8192" crc="b2fd509a" sha1="a65f487740069640952803218b70580b2fb724b7" offset="0" /> </dataarea> @@ -395,6 +415,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="acid drop.bin" size="16384" crc="14cddac7" sha1="d7c62df8300a68b21ce672cfaa4d0f2f4b3d0ce1" offset="0" /> </dataarea> @@ -424,6 +445,7 @@ Info from Atariage and Atarimania <info name="programmer" value="David Crane" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FE" /> + <feature name="slot" value="a26_fe" /> <dataarea name="rom" size="8192"> <rom name="activision decathlon.bin" size="8192" crc="3feb39b1" sha1="e0d47565df935c064bc4055636f37a0432ab3727" offset="0" /> </dataarea> @@ -682,6 +704,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <feature name="peripheral" value="kidscontroller" /> <dataarea name="rom" size="8192"> <rom name="alpha beam with ernie (pal).bin" size="8192" crc="d1ed3112" sha1="4be3ff4904fc75e047c72ec7e1b1b361c7ae6d50" offset="0" /> @@ -698,6 +721,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <feature name="peripheral" value="kidscontroller" /> <dataarea name="rom" size="8192"> <rom name="alpha beam with ernie.bin" size="8192" crc="27c6b897" sha1="a1f660827ce291f19719a5672f2c5d277d903b03" offset="0" /> @@ -714,6 +738,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <feature name="peripheral" value="kidscontroller" /> <dataarea name="rom" size="8192"> <rom name="alpha beam with ernie (prototype).bin" size="8192" crc="85f1cb08" sha1="7118f2401a0d34996762d9838d2f4bacf745fde3" offset="0" /> @@ -730,6 +755,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <feature name="peripheral" value="kidscontroller" /> <dataarea name="rom" size="8192"> <rom name="alpha beam with ernie (prototype) (pal).bin" size="8192" crc="1651f45e" sha1="ea1124a3eac39133f59d664545c33cc514022067" offset="0" /> @@ -773,6 +799,7 @@ Info from Atariage and Atarimania <info name="programmer" value="Michael Case, Lenny Carlson" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="androman on the moon (prototype).bin" size="8192" crc="18344a20" sha1="3d3623fa0d87ea02f2a080d959a127223e757b3f" offset="0" /> </dataarea> @@ -850,6 +877,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="aquaventure (prototype).bin" size="8192" crc="87a8cb8b" sha1="7d132ab776ff755b86bf4f204165aa54e9e1f1cf" offset="0" /> </dataarea> @@ -865,6 +893,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="aquaventure.bin" size="8192" crc="7fa61fa0" sha1="cb400de2653e125e704abd8b0fe5dddb43e3438b" offset="0" /> </dataarea> @@ -908,6 +937,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="artillery duel.bin" size="8192" crc="1d0f7e8d" sha1="8c249e9eaa83fc6be16039f05ec304efdf987beb" offset="0" /> </dataarea> @@ -924,6 +954,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="artillery duel (pal).bin" size="8192" crc="1708647c" sha1="013142aa1338d132724876c1d55a322a1d049380" offset="0" /> </dataarea> @@ -1006,6 +1037,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="asterix (pal).bin" size="8192" crc="2e3deb79" sha1="ff31d885ea3d96850547fdb8978d12d0965a2c1f" offset="0" /> </dataarea> @@ -1020,6 +1052,7 @@ Info from Atariage and Atarimania <info name="programmer" value="Steve Woita" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="asterix.bin" size="8192" crc="b238706d" sha1="1a094f92e46a8127d9c29889b5389865561c0a6f" offset="0" /> </dataarea> @@ -1035,6 +1068,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="taz.bin" size="8192" crc="c9d7ec9b" sha1="fa4aee79487036656aabb432d7c6e13ec21e3a3c" offset="0" /> </dataarea> @@ -1050,6 +1084,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="NTSC" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="asteroids.bin" size="8192" crc="c7d64c94" sha1="d68937e57a367e61eaa4b44550ae8b9d69456661" offset="0" /> </dataarea> @@ -1065,6 +1100,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="asteroids (pal).bin" size="8192" crc="0a2f8288" sha1="1cb8f057acad6dc65fef07d3202088ff4ae355cd" offset="0" /> </dataarea> @@ -1081,6 +1117,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="asteroids (pal) (older).bin" size="8192" crc="ffcb5e99" sha1="7c0f522d5796c4f307dccf9ce515ab022778b3c7" offset="0" /> </dataarea> @@ -1607,6 +1644,7 @@ Info from Atariage and Atarimania <info name="programmer" value="Michael Feinstein" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="battlezone.bin" size="8192" crc="9155dd1d" sha1="e4134a3b4a065c856802bc935c12fa7e9868110a" offset="0" /> </dataarea> @@ -1621,6 +1659,7 @@ Info from Atariage and Atarimania <info name="programmer" value="Michael Feinstein" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="battlezone (pal).bin" size="8192" crc="5cc921f6" sha1="d33a367fc4890bea8c2d9a7283d84720b20cabf8" offset="0" /> </dataarea> @@ -1635,6 +1674,7 @@ Info from Atariage and Atarimania <info name="programmer" value="Michael Feinstein" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="battlezone (proto).bin" size="8192" crc="c1e6d7cf" sha1="fafd522e36a4888dfc2a40b1d5879ee8a33d7931" offset="0" /> </dataarea> @@ -1649,6 +1689,7 @@ Info from Atariage and Atarimania <info name="programmer" value="Michael Feinstein" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="battlezone (proto 19830512).bin" size="8192" crc="63f31af6" sha1="3e226d8ffa975b937d808f73f79b3f052c3b067e" offset="0" /> </dataarea> @@ -1663,6 +1704,7 @@ Info from Atariage and Atarimania <info name="programmer" value="Dave Rolfe" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="beamrider.bin" size="8192" crc="1618565b" sha1="47619edb352f7f955f811cbb03a00746c8e099b1" offset="0" /> </dataarea> @@ -1677,6 +1719,7 @@ Info from Atariage and Atarimania <info name="programmer" value="Dave Rolfe" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="beamrider (pal).bin" size="8192" crc="6ed2e636" sha1="0ae5d0f01e63e053baba4bdaaed8a82e59334aaf" offset="0" /> </dataarea> @@ -1756,6 +1799,7 @@ Info from Atariage and Atarimania <info name="serial" value="2658" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="berenstain bears.bin" size="8192" crc="29d28baf" sha1="c3afd7909b72b49ca7d4485465b622d5e55f8913" offset="0" /> </dataarea> @@ -1881,6 +1925,7 @@ Info from Atariage and Atarimania <info name="programmer" value="Christopher H. Omarzu" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <feature name="peripheral" value="Kid's Controller" /> <dataarea name="rom" size="8192"> <rom name="big bird's egg catch.bin" size="8192" crc="96dc9a9c" sha1="5e4517db83c061926130ab65975e3b83d9401cc9" offset="0" /> @@ -1908,6 +1953,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FE" /> + <feature name="slot" value="a26_fe" /> <dataarea name="rom" size="8192"> <rom name="activision decathlon, the (1983) (activision, david crane) (ag-930-04, az-030).bin" size="8192" crc="91b8f1b2" sha1="717656f561823edaa69240471c3106963f5c307e" offset="0" /> </dataarea> @@ -1920,6 +1966,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FE" /> + <feature name="slot" value="a26_fe" /> <dataarea name="rom" size="8192"> <rom name="activision decathlon, the - zehnkampf (1983) (activision, david crane - ariola) (eaz-030, eaz-030-04b, eaz-030-04i - 711 030-725) (pal).bin" size="8192" crc="2452adab" sha1="082fc914d6ebf415926fbb6cf781de209a4d052d" offset="0" /> </dataarea> @@ -1976,6 +2023,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="asteroids (1981) (atari, brad stewart - sears) (cx2649 - 49-75163) [no copyright].bin" size="8192" crc="70a59647" sha1="8423f99092b454aed89f89f5d7da658caf7af016" offset="0" /> </dataarea> @@ -2055,6 +2103,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="big bird's egg catch (grover's egg catch) (kid's controller) (children's computer workshop) (1983) (atari, christopher h. omarzu) (cx26104) (pal).bin" size="8192" crc="b0555578" sha1="fd9822ec54add04569b629d631182d9deac7184d" offset="0" /> </dataarea> @@ -2067,6 +2116,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="big bird's egg catch (grover's egg catch) (kid's controller) (children's computer workshop) (05-17-1983) (atari, christopher h. omarzu) (cx26104) (prototype).bin" size="8192" crc="3a4038ac" sha1="e2b0304de695cea7c98344642254b7f181e928d2" offset="0" /> </dataarea> @@ -2079,6 +2129,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="big bird's egg catch (grover's egg catch) (kid's controller) (children's computer workshop) (05-02-1983) (atari, christopher h. omarzu) (cx26104) (prototype).bin" size="8192" crc="eeb65efa" sha1="aafb88ef8f95b1051cb8b6a153b165215c95c7bd" offset="0" /> </dataarea> @@ -2091,6 +2142,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="big bird's egg catch (grover's egg catch) (kid's controller) (children's computer workshop) (12-08-1982) (atari, christopher h. omarzu) (cx26104) (prototype).bin" size="8192" crc="9de03520" sha1="a3ab3699d945ac356aeff637046f197f9d6f7063" offset="0" /> </dataarea> @@ -2125,6 +2177,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="bionic breakthrough (headband - super breakout) (mindlink controller) (06-22-1984) (atari, paul donaldson) (prototype).bin" size="8192" crc="347b9516" sha1="eeed5312b62f9a5c2bce785956bd61c421dd4431" offset="0" /> </dataarea> @@ -2137,6 +2190,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="bionic breakthrough (headband - super breakout) (mindlink controller) (1984) (atari, paul donaldson) (prototype).bin" size="8192" crc="928e4b47" sha1="f6a41507b8cf890ab7c59bb1424f0500534385ce" offset="0" /> </dataarea> @@ -2207,6 +2261,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="blueprint (1983) (cbs electronics, tom didomenico) (4l 2486 5000).bin" size="8192" crc="da7b9dfa" sha1="0fadef01ce28192880f745b23a5fbb64c5a96efe" offset="0" /> </dataarea> @@ -2219,6 +2274,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="blueprint (1983) (cbs electronics, tom didomenico) (4l2477, 4l2482, 4l2485, 4l4171) (pal).bin" size="8192" crc="71139a5e" sha1="1b7bdc477b5b8488fc1c5566ca910297dc81f488" offset="0" /> </dataarea> @@ -2231,6 +2287,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="blueprint (1983) (cbs electronics, tom didomenico) (4l 2486 5000) (prototype).bin" size="8192" crc="5a95a4f4" sha1="66753a7fffaa432bdacdb18e7dcf0976e27d8abe" offset="0" /> </dataarea> @@ -2243,6 +2300,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="bmx air master (1990) (atari) (cx26190).bin" size="16384" crc="b4017ee3" sha1="ff25ed062dcc430448b358d2ac745787410e1169" offset="0" /> </dataarea> @@ -2255,6 +2313,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="bmx air master (1990) (atari) (cx26190) (pal).bin" size="16384" crc="db722dd7" sha1="30d52041c59a240a8ebe2749e4de32bbc74988ee" offset="0" /> </dataarea> @@ -2267,6 +2326,7 @@ Info from Atariage and Atarimania <publisher>TNT Games</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="bmx air master (1989) (tnt games, adam clayton) (26192) (pal).bin" size="16384" crc="02838b54" sha1="b54ab700ec9441aeb72665d095475035a155aa22" offset="0" /> </dataarea> @@ -2461,6 +2521,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="boom bang (aka crackpots) (hes) (pal).bin" size="8192" crc="5979b0f8" sha1="29547a5b632060fbbc935267b709811a77fff127" offset="0" /> </dataarea> @@ -2665,6 +2726,7 @@ Info from Atariage and Atarimania <publisher>Sega</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="buck rogers - planet of zoom (1983) (sega) (005-01).bin" size="8192" crc="2030f686" sha1="a65dea2d9790f3eb308c048a01566e35e8c24549" offset="0" /> </dataarea> @@ -2677,6 +2739,7 @@ Info from Atariage and Atarimania <publisher>Sega</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="buck rogers - planet of zoom (1983) (sega - teldec) (005-01) (pal).bin" size="8192" crc="f8b140fa" sha1="70f6310a522da76c18f3dedc050ef44217efb771" offset="0" /> </dataarea> @@ -2711,6 +2774,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="bugs bunny (08-04-1983) (atari, alan j. murphy, robert c. polaro) (cx26100) (prototype).bin" size="8192" crc="bd164019" sha1="b3ff124891de0fb3d44c35115d838fd7e135ca04" offset="0" /> </dataarea> @@ -2723,6 +2787,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="bugs bunny (1983) (atari, alan j. murphy, robert c. polaro) (cx26100) (prototype).bin" size="8192" crc="272b8856" sha1="9c0e13af336a986c271fe828fafdca250afba647" offset="0" /> </dataarea> @@ -2735,6 +2800,7 @@ Info from Atariage and Atarimania <publisher>M Network</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E7" /> + <feature name="slot" value="a26_e7" /> <dataarea name="rom" size="16384"> <rom name="bump 'n' jump (1983) (m network, david akers, joe 'ferreira' king, patricia lewis du long, jeff ratcliff - intv) (mt7045).bin" size="16384" crc="df2bc303" sha1="1819ef408c1216c83dcfeceec28d13f6ea5ca477" offset="0" /> </dataarea> @@ -2747,6 +2813,7 @@ Info from Atariage and Atarimania <publisher>Telegames</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="bump 'n' jump (1989) (telegames) (7045 a015) (pal).bin" size="8192" crc="194f3576" sha1="35bc4048f58bb170313872a0bce44fb1ca3217cc" offset="0" /> </dataarea> @@ -2781,6 +2848,7 @@ Info from Atariage and Atarimania <publisher>M Network</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E7" /> + <feature name="slot" value="a26_e7" /> <dataarea name="rom" size="16384"> <rom name="burgertime (1983) (m network, patricia lewis du long, ron surratt - intv) (mt4518).bin" size="16384" crc="c183fbbc" sha1="49e01b8048ae344cb65838f6b1c1de0e1f416f29" offset="0" /> </dataarea> @@ -2826,6 +2894,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cbpark0-atari-5-24-65ec-rev1.bin" size="8192" crc="2545ff14" sha1="9b922b590f1ae041f1473336068cdca765a62e6e" offset="0" /> </dataarea> @@ -2838,6 +2907,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cbpark1-atari-6-14-a64d-rev2.bin.bin" size="8192" crc="e6c20f74" sha1="33ee9f36608e9e8bb879a27235d04226121c5f6b" offset="0" /> </dataarea> @@ -2850,6 +2920,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cpkadv-rev2-1-2600-a527.bin" size="8192" crc="0958f84e" sha1="a4ecf3757b78282dac1d16668f3820ca9da41ad9" offset="0" /> </dataarea> @@ -2862,6 +2933,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cbpark2-atari-7-3-ad79-rev3.bin" size="8192" crc="ea375b62" sha1="cd7f18bf865501e7b918522e00ddbe434fd57e21" offset="0" /> </dataarea> @@ -2874,6 +2946,7 @@ Info from Atariage and Atarimania <publisher><unknown></publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cpkadv-rev4-atari-7-27-84-8aed.bin" size="8192" crc="3d5f4684" sha1="159b2ead2e5455c87264565c628396cca997a7f3" offset="0" /> </dataarea> @@ -2886,6 +2959,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cbpark5-atari-8-21.bin" size="8192" crc="bc0462a8" sha1="63ce3795f48a2b1f5988f01d8bf7cc10f311223e" offset="0" /> </dataarea> @@ -2898,6 +2972,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cbpark6-atari-9-4.bin" size="8192" crc="19658587" sha1="8c7e04c6ed084d8dedc1e8eae12b72161c04f536" offset="0" /> </dataarea> @@ -2910,6 +2985,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cbpark7-atari-9-7.bin" size="8192" crc="1aab5dc9" sha1="2a12324f04e22c86fd4f9933a223936c1117bba2" offset="0" /> </dataarea> @@ -2922,6 +2998,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cbpark8-atari-9-13.bin" size="8192" crc="dd46ed32" sha1="521035afc427e4be5c85a5c1a4b84126c49bd10f" offset="0" /> </dataarea> @@ -2934,6 +3011,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cbpark9-atari-9-13.bin" size="8192" crc="7025d30d" sha1="ffdba8ae22784ccc81a5a2e81a236ace09e5b7f4" offset="0" /> </dataarea> @@ -2968,6 +3046,7 @@ Info from Atariage and Atarimania <publisher>Epyx</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="california games (1988) (epyx, steven a. baker, peter engelbrite) (80561-00286).bin" size="16384" crc="e9a3fdc3" sha1="609c20365c3a71ce45cb277c66ec3ce6b2c50980" offset="0" /> </dataarea> @@ -2980,6 +3059,7 @@ Info from Atariage and Atarimania <publisher>Epyx</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="california games (1988) (epyx, steven a. baker, peter engelbrite) (80561-00286) (pal).bin" size="16384" crc="c53d0352" sha1="def9502c5a37700ae03461b2d7cf2f73e91b4cec" offset="0" /> </dataarea> @@ -3118,6 +3198,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="centipede (1982) (atari - gcc) (cx2676).bin" size="8192" crc="77396102" sha1="0b5914bc1526a9beaf54d7fd11408175cd8fcc72" offset="0" /> </dataarea> @@ -3130,6 +3211,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="centipede (1982) (atari - gcc) (cx2676) (pal).bin" size="8192" crc="44d16280" sha1="1841ce27fc14cc2aa741d67e91f64f7924e3bf3e" offset="0" /> </dataarea> @@ -3175,6 +3257,7 @@ Info from Atariage and Atarimania <publisher>HES</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FV" /> + <feature name="slot" value="a26_fv" /> <dataarea name="rom" size="8192"> <rom name="challenge (hes) (pal).bin" size="8192" crc="38902fbc" sha1="1191ed3cac491bab487ab3c3b52ecf56bd817b58" offset="0" /> </dataarea> @@ -3420,6 +3503,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="chuck norris superkicks (1983) (xonox - k-tel software, robert weatherby) (6230, 06002, 06003, 99003).bin" size="8192" crc="96210c6c" sha1="1637b6b9cd1a918339ec054cf95b924e7ce4789a" offset="0" /> </dataarea> @@ -3575,6 +3659,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="combat two (1982) (atari - gcc) (cx26156) (prototype).bin" size="8192" crc="8cabe1fd" sha1="66014de1f8e9f39483ee3f97ca0d97d026ffc3bb" offset="0" /> </dataarea> @@ -3587,6 +3672,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="commando (1988) (activision, mike riedel) (ak-043-04).bin" size="16384" crc="8d3025dc" sha1="68a7cb3ff847cd987a551f3dd9cda5f90ce0a3bf" offset="0" /> </dataarea> @@ -3599,6 +3685,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="commando (1988) (activision, mike riedel) (ak-043-04) [different logo].bin" size="16384" crc="2c698b31" sha1="e47de0536a874a500bd6586eb6ec819e14b47f12" offset="0" /> </dataarea> @@ -3611,6 +3698,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="commando (1988) (activision, mike riedel) (eak-043-04i) (pal).bin" size="16384" crc="b898762d" sha1="de4a12036650577b544c2fc091b981f18f771e34" offset="0" /> </dataarea> @@ -3711,6 +3799,7 @@ Info from Atariage and Atarimania <publisher>Sega</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="congo bongo (1983) (sega, steve beck, phat ho - beck-tech) (006-01).bin" size="8192" crc="3f6e7e0c" sha1="3a77db43b6583e8689435f0f14aa04b9e57bdded" offset="0" /> </dataarea> @@ -3723,6 +3812,7 @@ Info from Atariage and Atarimania <publisher>Sega</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="congo bongo (1983) (sega, steve beck, phat ho - beck-tech) (006-01) [a].bin" size="8192" crc="ff7ed640" sha1="3ec21fcdc14bdb6e9caee1f7d9b81107703da55b" offset="0" /> </dataarea> @@ -3746,6 +3836,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cookie monster munch (cokie monster's maze, cookie monster's garden) (kid's controller) (children's computer workshop) (1983) (atari, gary stark) (cx26102).bin" size="8192" crc="97ba488f" sha1="f4a62ba0ff59803c5f40d59eeed1e126fe37979b" offset="0" /> </dataarea> @@ -3758,6 +3849,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cookie monster munch (cokie monster's maze, cookie monster's garden) (kid's controller) (children's computer workshop) (1983) (atari, gary stark) (cx26102) (pal).bin" size="8192" crc="8ee4c319" sha1="fd47df700820295ead34a9d9cf5c73eccf1101bd" offset="0" /> </dataarea> @@ -3770,6 +3862,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="cookie monster munch (cokie monster's maze, cookie monster's garden) (kid's controller) (children's computer workshop) (1983) (atari, gary stark) (cx26102) (pal) [a].bin" size="8192" crc="cb377c19" sha1="3e03319ac9fdb095ace67ca1586be2cd1dbbbf64" offset="0" /> </dataarea> @@ -4029,6 +4122,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="crack'ed (11-28-1988) (atari, randy bowker) (cx26142) (prototype).bin" size="16384" crc="1b5e52a7" sha1="d226e8af4e38d1d4eb8bb69cdf6bccdad561c804" offset="0" /> </dataarea> @@ -4141,6 +4235,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="crazy climber (1982) (atari, joe gaucher, alex leavens) (cx2683).bin" size="8192" crc="a3a3c009" sha1="70e723aa67d68f8549d9bd8f96d8b1262cbdac3c" offset="0" /> </dataarea> @@ -4197,6 +4292,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="crossbow (1987) (atari) (cx26139).bin" size="16384" crc="1f233140" sha1="5da3d089ccda960ce244adb855975877c670e615" offset="0" /> </dataarea> @@ -4209,6 +4305,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="crossbow (1987) (atari) (cx26139p) (pal).bin" size="16384" crc="d40e0ffc" sha1="1e3326143441f2e6f9709f81781978220555288f" offset="0" /> </dataarea> @@ -4244,6 +4341,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="crystal castles (1984) (atari, michael kosaka, peter c. niday, robert vieira) (cx26110).bin" size="16384" crc="9007b5ac" sha1="2e4ee5ee040b08be1fe568602d1859664e607efb" offset="0" /> </dataarea> @@ -4256,6 +4354,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="crystal castles (01-04-1984) (atari, michael kosaka, peter c. niday, robert vieira) (cx26110) (prototype).bin" size="16384" crc="16f88336" sha1="9d0b6e70de5ba3830f21fa477438be15eac484ed" offset="0" /> </dataarea> @@ -4269,6 +4368,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="crystal castles (1984) (atari, michael kosaka, peter c. niday, robert vieira) (cx26110) (pal).bin" size="16384" crc="d5622d0b" sha1="3311ea53afc8901d665e487036e7da0ae1cdb276" offset="0" /> </dataarea> @@ -4381,6 +4481,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="dark chambers (dungeon, dungeon masters) (1988) (atari, adam clayton, john howard palevich) (cx26151).bin" size="16384" crc="83900281" sha1="fbb4814973fcb4e101521515e04daa6424c45f5c" offset="0" /> </dataarea> @@ -4394,6 +4495,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="dark chambers (dungeon, dungeon masters) (1988) (atari, adam clayton, john howard palevich) (cx26151, cx26151p) (pal).bin" size="16384" crc="844ba468" sha1="0ea0dea570acedc806aae630a92f68b3e1d63868" offset="0" /> </dataarea> @@ -4407,6 +4509,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="dark chambers (dungeon, dungeon masters) (1988) (atari, adam clayton, john howard palevich) (cx26151, cx26151p) (prototype) (pal).bin" size="16384" crc="19e38e50" sha1="72563f872ebfd285ef51b9f2fe7d3a8f55f1b0fa" offset="0" /> </dataarea> @@ -4452,6 +4555,7 @@ Info from Atariage and Atarimania <publisher>HES</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="decathlon (aka activision decathlon, the) (hes) (pal) (16k).bin" size="16384" crc="71afa4d4" sha1="7a89163982d0b3c89ed87371334b6a10c56e1d2a" offset="0" /> </dataarea> @@ -4531,6 +4635,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="defender ii (aka stargate) (1988) (atari, bill aspromonte, andrew fuchs) (cx26120).bin" size="8192" crc="93217704" sha1="d7b506b84f28e1b917a2978753d5a40eb197537a" offset="0" /> </dataarea> @@ -4544,6 +4649,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="defender ii (aka stargate) (1988) (atari, bill aspromonte, andrew fuchs) (cx26120) (pal).bin" size="8192" crc="8d348d62" sha1="aba4e94d01b10cdf9b882f25e620a126dd80df19" offset="0" /> </dataarea> @@ -4756,6 +4862,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="desert falcon (nile flyer, sphinx) (1987) (atari, robert c. polaro) (cx26140).bin" size="16384" crc="caa0054e" sha1="ccea2d5095441d7e1b1468e3879a6ab556dc8b7a" offset="0" /> </dataarea> @@ -4769,6 +4876,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="desert falcon (nile flyer, sphinx) (1987) (atari, robert c. polaro) (cx26140, cx26140p) (pal).bin" size="16384" crc="711d6648" sha1="b6ed9257bd542acfa8c4a3426094f46adbc6a93b" offset="0" /> </dataarea> @@ -4782,6 +4890,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="desert falcon (nile flyer, sphinx) (05-27-1987) (atari, robert c. polaro) (cx26140, cx26140p) (prototype) (pal).bin" size="8192" crc="85a0be98" sha1="5d9619410fd058ab8315f25910a38f4805c4b1c2" offset="0" /> </dataarea> @@ -4894,6 +5003,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="dig dug (1983) (atari - gcc, douglas b. macrae) (cx2677).bin" size="16384" crc="ee7b80d1" sha1="79e746524520da546249149c33614fc23a4f2a51" offset="0" /> </dataarea> @@ -4907,6 +5017,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="dig dug (1983) (atari - gcc, douglas b. macrae) (cx2677, cx2677p) (pal).bin" size="16384" crc="de5c5553" sha1="816abcef9cc8fca5007cc400534e84d00285f199" offset="0" /> </dataarea> @@ -5007,6 +5118,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="donald duck's speedboat (donald duck's regatta) (04-12-1983) (atari) (cx26108) (prototype).bin" size="8192" crc="8db92c76" sha1="4606c0751f560200aede6598ec9c8e6249a105f5" offset="0" /> </dataarea> @@ -5019,6 +5131,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="donald duck's speedboat (donald duck's regatta) (04-18-1983) (atari) (cx26108) (prototype) (pal).bin" size="8192" crc="6f71547f" sha1="b496e540dbc84b19185e2e597d559868cb1b10bc" offset="0" /> </dataarea> @@ -5075,6 +5188,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="donkey kong junior (1987) (atari) (cx26144).bin" size="8192" crc="9ef649e5" sha1="98f98ac0728c68de66afda6500cafbdffe8ab50a" offset="0" /> </dataarea> @@ -5087,6 +5201,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="donkey kong junior (1983) (cbs electronics, harley h. puthuff jr.) (4l1802) (pal).bin" size="8192" crc="ae444f76" sha1="f64d68964bc22b6a4217b779c1d58bc204a54307" offset="0" /> </dataarea> @@ -5099,6 +5214,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="donkey kong jr (aka donkey kong junior) (1983) (cce) (c-1003).bin" size="8192" crc="a1434a22" sha1="3bc35ae032f19f785706330c19ac117674787815" offset="0" /> </dataarea> @@ -5111,6 +5227,7 @@ Info from Atariage and Atarimania <publisher>Tron</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="donkey kong jr. (aka donkey kong junior) (tron).bin" size="8192" crc="0404ea34" sha1="615c74880c48c99b8961642c4e5a96f6c63c6a31" offset="0" /> </dataarea> @@ -5123,6 +5240,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="double dragon (1989) (activision, dan kitchen) (ak-050-04).bin" size="16384" crc="8320bb37" sha1="cc99dba0a78fedd171387f492e9810f3037a5f05" offset="0" /> </dataarea> @@ -5135,6 +5253,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="double dragon (1989) (activision, dan kitchen) (eak-050-04) (pal).bin" size="16384" crc="5b3d8284" sha1="3f482acc1914c6bc92fd1fd823d6ed10c7ca65a8" offset="0" /> </dataarea> @@ -5147,6 +5266,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="double dragon (cce) (pal).bin" size="16384" crc="aa79a0e8" sha1="fc334fede2eb506a6c5b557e0109cd61f7a30919" offset="0" /> </dataarea> @@ -5159,6 +5279,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="double dunk (super basketball) (1989) (atari, matthew l. hubbard) (cx26159).bin" size="16384" crc="208f6c20" sha1="8e2ea320b23994dc87abe69d61249489f3a0fccc" offset="0" /> </dataarea> @@ -5171,6 +5292,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="double dunk (super basketball) (1989) (atari, matthew l. hubbard) (cx26159) (pal).bin" size="16384" crc="c22cd3bc" sha1="78bba6d28b86f5ec080a6eae17d20ee5b25d63d7" offset="0" /> </dataarea> @@ -5271,6 +5393,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="dukes of hazzard (1983) (atari, mark r. hahn) (cx2678).bin" size="16384" crc="2db406dc" sha1="c061d753435dcb7275a8764f4ad003b05fa100ed" offset="0" /> </dataarea> @@ -5294,6 +5417,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="dumbo's flying circus (05-05-1983) (atari, jerome domurat, peter c. niday) (cx26115) (prototype).bin" size="8192" crc="ae915725" sha1="fa8b32359035c51df9baca2881582bb09ab4a3d4" offset="0" /> </dataarea> @@ -5306,6 +5430,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="dumbo's flying circus (1983) (atari, jerome domurat, peter c. niday) (cx26115) (prototype) (pal).bin" size="8192" crc="66b9100a" sha1="97be2338afd40e9092de374ca86a754046dad556" offset="0" /> </dataarea> @@ -5318,6 +5443,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="dumbo's flying circus (07-11-1983) (atari, jerome domurat, peter c. niday) (cx26115) (prototype) (pal).bin" size="8192" crc="47a78fad" sha1="d16eba13ab1313f375e86b488181567f846f1dc4" offset="0" /> </dataarea> @@ -5330,6 +5456,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="dune (07-10-1984) (atari, bruce poehlman, gary stark) (prototype).bin" size="8192" crc="f01f7c55" sha1="5e2b2d07dba3692db0ec0582b0a2cb4c2b6ad31f" offset="0" /> </dataarea> @@ -5353,6 +5480,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="e.t. - the extra-terrestrial (1982) (atari, jerome domurat, howard scott warshaw) (cx2674).bin" size="8192" crc="6d0a475f" sha1="9e34f9ca51573c92918720f8a259b9449a0cd65e" offset="0" /> </dataarea> @@ -5365,6 +5493,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="e.t. - the extra-terrestrial (1982) (atari, jerome domurat, howard scott warshaw) (cx2674) (pal).bin" size="8192" crc="56cacf65" sha1="54828526fc7bb796bb42eb5413e049fcb34e21d7" offset="0" /> </dataarea> @@ -5455,6 +5584,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="elevator action (1983) (atari, dan hitchens) (cx26126) (prototype).bin" size="8192" crc="dc5a9d77" sha1="bab872ee41695cefe41d88e4932132eca6c4e69c" offset="0" /> </dataarea> @@ -5478,6 +5608,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="elk attack (1987) (atari, mark r. hahn) (prototype).bin" size="8192" crc="02ddde9f" sha1="3983e109fc0b38c0b559a09a001f3e5f2bb1dc2a" offset="0" /> </dataarea> @@ -5655,6 +5786,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="espial (1984) (tigervision) (7-012).bin" size="8192" crc="1f95351a" sha1="5db168bb450dc82f618dfa60b9f271ade3a057c7" offset="0" /> </dataarea> @@ -5667,6 +5799,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="espial (1984) (tigervision - teldec) (7-012 - 3.60016 vc) (pal).bin" size="8192" crc="34b80a97" sha1="27d925d482553deff23f0889b3051091977d6920" offset="0" /> </dataarea> @@ -5701,6 +5834,7 @@ Info from Atariage and Atarimania <publisher>Absolute Entertainment</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="f-14 tomcat (1988) (absolute entertainment, dan kitchen) (pal).bin" size="16384" crc="0966e8ed" sha1="684275b22f2bac7d577cf48cf42fa14fa6f69678" offset="0" /> </dataarea> @@ -5813,6 +5947,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F4" /> + <feature name="slot" value="a26_f4" /> <dataarea name="rom" size="32768"> <rom name="fatal run (ultimate driving) (1989) (atari - sculptured software, steve aguirre) (cx26162) (pal).bin" size="32768" crc="991d2348" sha1="d0bb58ea1fc37e929e5f7cdead037bb14a166451" offset="0" /> </dataarea> @@ -5826,6 +5961,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F4" /> + <feature name="slot" value="a26_f4" /> <dataarea name="rom" size="32768"> <rom name="fatal run (ultimate driving) (1989) (atari - sculptured software, steve aguirre) (cx26162) (prototype).bin" size="32768" crc="60b08497" sha1="59d004547e693aa05bb3333f055163ade2c9ea95" offset="0" /> </dataarea> @@ -5838,6 +5974,7 @@ Info from Atariage and Atarimania <publisher>Imagic</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="fathom (1983) (imagic, wilfredo 'willy' aguilar, michael becker, rob fulop) (720111-1a, 03205).bin" size="8192" crc="93da13cc" sha1="686427cc47b69980d292d04597270347942773ff" offset="0" /> </dataarea> @@ -5850,6 +5987,7 @@ Info from Atariage and Atarimania <publisher>Imagic</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="fathom (1983) (imagic, wilfredo 'willy' aguilar, michael becker, rob fulop) (720111-2a, 13205) (pal).bin" size="8192" crc="cd27a95c" sha1="806e3eb977dffe86fb09ad2d8d4e1766fb7aa539" offset="0" /> </dataarea> @@ -5907,6 +6045,7 @@ Info from Atariage and Atarimania <publisher>Video Game Program</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="fire bird (aka phoenix) (video game program) (pal).bin" size="8192" crc="e6bec83c" sha1="e2843b86da000d6e4a6fe683243a7b3e3e160c77" offset="0" /> </dataarea> @@ -6194,6 +6333,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="frog pond (08-27-1982) (atari, nick 'sandy maiwald' turner) (cx2665) (prototype).bin" size="8192" crc="5874385a" sha1="0d6a96f857ae0e813b4d493866e2420cc5c4bad5" offset="0" /> </dataarea> @@ -6206,6 +6346,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="frog pond (1982) (atari, nick 'sandy maiwald' turner) (cx2665) (prototype).bin" size="8192" crc="65a0380d" sha1="de6fc1b51d41b34dcda92f579b2aa4df8eccf586" offset="0" /> </dataarea> @@ -6240,6 +6381,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="frogger ii - threeedeep! (1984) (parker brothers, mark lesser) (pb5590).bin" size="8192" crc="3ba0d9bf" sha1="6b9e591cc53844795725fc66c564f0364d1fbe40" offset="0" /> </dataarea> @@ -6252,6 +6394,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="frogger ii - threeedeep! (1984) (parker brothers, mark lesser) (pb5590) (pal).bin" size="8192" crc="09cdd3ea" sha1="bce92de22fc8950f0eebb643d96fe9fa5dba2b72" offset="0" /> </dataarea> @@ -6286,6 +6429,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="front line (1984) (coleco, ed temple) (2665).bin" size="8192" crc="c352f290" sha1="cf32bfcd7f2c3b7d2a6ad2f298aea2dfad8242e7" offset="0" /> </dataarea> @@ -6408,6 +6552,7 @@ Info from Atariage and Atarimania <publisher>UA Limited</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="UA" /> + <feature name="slot" value="a26_ua" /> <dataarea name="rom" size="8192"> <rom name="funky fish (1983) (ua limited) (prototype).bin" size="8192" crc="b53b33f1" sha1="fba461d2a2d1395945806c883f4dca925712885e" offset="0" /> </dataarea> @@ -6464,6 +6609,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="galaxian (1983) (atari - gcc, mark ackerman, glenn parker) (cx2684).bin" size="8192" crc="4e9fe271" sha1="b081b327ac32d951c36cb4b3ff812be95685d52f" offset="0" /> </dataarea> @@ -6476,6 +6622,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="galaxian (cce).bin" size="8192" crc="7a63690f" sha1="49e3fdc8e48605aa1fab37ce3ec0e26371822fa5" offset="0" /> </dataarea> @@ -6488,6 +6635,7 @@ Info from Atariage and Atarimania <publisher>Digivision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="galaxian (digivision).bin" size="8192" crc="563eeb0f" sha1="ee0b91eec32bd737ac09e3ea1fea8434f0253114" offset="0" /> </dataarea> @@ -6500,6 +6648,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="galaxian (1983) (atari - gcc, mark ackerman, glenn parker) (cx2684, cx2684p) (pal).bin" size="8192" crc="a27cc28e" sha1="fb3b3248d9705a883fcd79c23dc6075976c20646" offset="0" /> </dataarea> @@ -6512,6 +6661,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="galaxian (01-05-1983) (atari - gcc, mark ackerman, glenn parker) (cx2684) (prototype).bin" size="8192" crc="c209c7f9" sha1="6fa526da7173ae77f1d35f197bde5f21c9151fbf" offset="0" /> </dataarea> @@ -6524,6 +6674,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="galaxian (02-04-1983) (atari - gcc, mark ackerman, glenn parker) (cx2684) (prototype).bin" size="8192" crc="6542cc75" sha1="a7c9c525632a8e5c3f7acc5c9b095138a8441f57" offset="0" /> </dataarea> @@ -6591,6 +6742,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="garfield (garfield on the run) (06-21-1984) (atari, mimi nyden, steve woita) (cx26132) (prototype).bin" size="16384" crc="f20cadcf" sha1="bc0d1edc251d8d4db3d5234ec83dee171642a547" offset="0" /> </dataarea> @@ -6669,6 +6821,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="ghost manor (1983) (xonox - k-tel software - beck-tech) (6210, 06002, 06004, 99002).bin" size="8192" crc="6fc46219" sha1="4b533776dcd9d538f9206ad1e28b30116d08df1e" offset="0" /> </dataarea> @@ -6681,6 +6834,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="ghost manor (1983) (xonox - k-tel software - beck-tech) (6210, 06002, 06004, 99002) (pal).bin" size="8192" crc="71367efe" sha1="12d2f7e75e9107093182dfcf3fb74370b0167c42" offset="0" /> </dataarea> @@ -6693,6 +6847,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="ghostbusters (1985) (activision, david crane, dan kitchen) (az-108-04).bin" size="8192" crc="45443d13" sha1="5ed0b2cb346d20720e3c526da331551aa16a23a4" offset="0" /> </dataarea> @@ -6705,6 +6860,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="ghostbusters (1985) (activision, david crane, dan kitchen) (eag-108-04, eaz-108-04b) (pal).bin" size="8192" crc="439fade2" sha1="9a4f19b0eb7f3c76ea0646c6b8e098586369618c" offset="0" /> </dataarea> @@ -6717,6 +6873,7 @@ Info from Atariage and Atarimania <publisher>Salu</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="ghostbusters ii (1992) (salu - avantgarde software, michael buetepage) (460741) (pal).bin" size="16384" crc="a3c342b8" sha1="e032876305647a95b622e5c4971f7096ef72acdb" offset="0" /> </dataarea> @@ -6729,6 +6886,7 @@ Info from Atariage and Atarimania <publisher>Salu</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="ghostbusters ii (1992) (salu - avantgarde software, michael buetepage) (460741) (pal) [different tune].bin" size="16384" crc="34375964" sha1="1bcf03e1129015a46ad7028e0e74253653944e86" offset="0" /> </dataarea> @@ -6917,6 +7075,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="gravitar (1983) (atari, dan hitchens) (cx2685).bin" size="8192" crc="c87fccbe" sha1="a372d4dd3d95b3866553cae2336e4565e00cc25b" offset="0" /> </dataarea> @@ -6929,6 +7088,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="gravitar (04-12-1983) (atari, dan hitchens) (cx2685) (prototype).bin" size="8192" crc="a4cac249" sha1="acf83fcd64b326d7e2f0cd397473e44b6168c10c" offset="0" /> </dataarea> @@ -6941,6 +7101,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="gravitar (cce).bin" size="8192" crc="5a46d197" sha1="afddeef096b770f19c829c0153dc767ec6e274be" offset="0" /> </dataarea> @@ -6964,6 +7125,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="gremlins (gargoyle) (1984) (atari, mimi nyden, scott smith, robert vieira) (cx26127).bin" size="8192" crc="48d5991f" sha1="7a027329309e018b0d51adcb6ae13c9d13e54f4a" offset="0" /> </dataarea> @@ -6976,6 +7138,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="gremlins (gargoyle) (03-12-1984) (atari, mimi nyden, scott smith, robert vieira) (cx26127) (prototype).bin" size="8192" crc="1ff838aa" sha1="df506a506eb333295e56cb9e4204e327ef63127d" offset="0" /> </dataarea> @@ -6999,6 +7162,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="grover's music maker (monkey music) (kid's controller) (children's computer workshop) (01-18-1983) (atari, stephan r. keith, preston stuart) (cx26106) (prototype).bin" size="8192" crc="e1372b28" sha1="b9760ffba05139bca0fac3f7d3dc1e5d57600eda" offset="0" /> </dataarea> @@ -7011,6 +7175,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="grover's music maker (monkey music) (kid's controller) (children's computer workshop) (12-29-1982) (atari, stephan r. keith, preston stuart) (cx26106) (prototype).bin" size="8192" crc="f9e70731" sha1="c90acaee066f97efc6a520deb7fa3e5760a471fa" offset="0" /> </dataarea> @@ -7045,6 +7210,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="gyruss (1984) (parker brothers) (pb5080).bin" size="8192" crc="0d78e8a9" sha1="4bd87ba8b3b6d7850e3ea41b4d494c3b12659f27" offset="0" /> </dataarea> @@ -7057,6 +7223,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="gyruss (1984) (parker brothers) (pb5080) (pal).bin" size="8192" crc="ba14b37b" sha1="598f710b7474ed6e4e7c13cc0294a4deba8faa87" offset="0" /> </dataarea> @@ -7069,6 +7236,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="h.e.r.o. (1984) (activision, john van ryzin) (az-036-04).bin" size="8192" crc="721e95b7" sha1="282f94817401e3725c622b73a0c05685ce761783" offset="0" /> </dataarea> @@ -7081,6 +7249,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="h.e.r.o. (cce).bin" size="8192" crc="272d3860" sha1="9e599284cdc8ad4aa803210a19c0485f1412b35f" offset="0" /> </dataarea> @@ -7093,6 +7262,7 @@ Info from Atariage and Atarimania <publisher>Tron</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="h.e.r.o. (tron).bin" size="8192" crc="9785fe8b" sha1="9d1f48fd30026f84f6c1c08fe69d423fa437f40f" offset="0" /> </dataarea> @@ -7105,6 +7275,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="h.e.r.o. - helicopter-held (1984) (activision, john van ryzin - ariola) (eaz-036-04, eaz-036-04b, eaz-036-04i - 711 036-720) (pal).bin" size="8192" crc="4a5f82ba" sha1="5e4f98210ef5a6682581b60a9fc939fce6b22d97" offset="0" /> </dataarea> @@ -7250,6 +7421,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="holey moley (honker bonker) (kid's controller) (02-29-1984) (atari, robert c. polaro) (cx26130) (prototype).bin" size="8192" crc="3bb2e71d" sha1="8196209ef7048c5494dbdc932adbf1c7abf79f4e" offset="0" /> </dataarea> @@ -7298,6 +7470,7 @@ Info from Atariage and Atarimania <publisher>HES</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="hot action pak - ghostbusters, tennis, plaque attack (1990) (hes - activision) (542) (pal).bin" size="16384" crc="e6862972" sha1="1f369c7676e33a11596fac07620980b9747122d2" offset="0" /> </dataarea> @@ -7431,6 +7604,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="ikari warriors (1989) (atari) (cx26177).bin" size="16384" crc="5b7ce555" sha1="d8f7b908f60fe49667c7c55d48ce15a05ad95a28" offset="0" /> </dataarea> @@ -7443,6 +7617,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="ikari warriors (1989) (atari) (cx26177) (pal).bin" size="16384" crc="f80684a9" sha1="5ced92d13f8becd96d175b38d179e353f8c33660" offset="0" /> </dataarea> @@ -7598,6 +7773,7 @@ Info from Atariage and Atarimania <publisher>Sega</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="ixion (1984) (sega, jeff lorenz) (prototype).bin" size="8192" crc="b311e13f" sha1="a11538157529b42a2840f518b95af5c59143cced" offset="0" /> </dataarea> @@ -7610,6 +7786,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="james bond 007 (james bond agent 007) (1983) (parker brothers, joe gaucher, louis marbel) (pb5110).bin" size="8192" crc="34d3ffc8" sha1="2bbc124cead9aa49b364268735dad8cb1eb6594f" offset="0" /> </dataarea> @@ -7688,6 +7865,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="joust (1983) (atari - gcc, mike feinstein, kevin osborn) (cx2691).bin" size="8192" crc="a07b3304" sha1="cb94dc316cba282a0036871db2417257e960786b" offset="0" /> </dataarea> @@ -7700,6 +7878,7 @@ Info from Atariage and Atarimania <publisher><unknown></publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="joust (1983) (atari - gcc, mike feinstein, kevin osborn) (cx2691, cx2691p) (pal).bin" size="8192" crc="d27a003f" sha1="033fa9ecad9eb4d5cfebf6505cb76a2126de6567" offset="0" /> </dataarea> @@ -7712,6 +7891,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="joust (08-09-1983) (atari - gcc, mike feinstein, kevin osborn) (cx2691) (prototype).bin" size="8192" crc="78a4d4f4" sha1="51881d226c33cad7d429d3a56b7ee644ad053e57" offset="0" /> </dataarea> @@ -7725,6 +7905,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="jr. pac-man (1984) (atari - gcc, ava-robin cohen) (cx26123).bin" size="16384" crc="5c345bac" sha1="cd2cf245d6e924ff2100cc93d20223c4a231e160" offset="0" /> </dataarea> @@ -7738,6 +7919,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="jr. pac-man (1984) (atari - gcc, ava-robin cohen) (cx26123, cx26123p) (pal).bin" size="16384" crc="a1aa87dd" sha1="a343d6553fa0367f49752ff8389116cee3605451" offset="0" /> </dataarea> @@ -7773,6 +7955,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="jungle hunt (1983) (atari - gcc, mike feinstein, john allred) (cx2688).bin" size="8192" crc="9c3e8734" sha1="83a32a2d686355438c915540cfe0bb13b76c1113" offset="0" /> </dataarea> @@ -7785,6 +7968,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="jungle hunt (1983) (cce) (c-1007).bin" size="8192" crc="dcf3dd69" sha1="fe52af1b54e146be187e425fef229751212eeee1" offset="0" /> </dataarea> @@ -7797,6 +7981,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="jungle hunt (1983) (cce) (c-1007) [a].bin" size="8192" crc="86ae30bb" sha1="8903aada563b4f5735274092d4e1b246f3d0f76d" offset="0" /> </dataarea> @@ -7809,6 +7994,7 @@ Info from Atariage and Atarimania <publisher><unknown></publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="jungle hunt (1983) (atari - gcc, mike feinstein, john allred) (cx2688, cx2688p) (pal).bin" size="8192" crc="cce0a94a" sha1="b3ab5b0c1c4929dcca777fe2441f0c8aba03944f" offset="0" /> </dataarea> @@ -7821,6 +8007,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="jungle hunt (02-03-1983) (atari - gcc, mike feinstein, john allred) (cx2688) (prototype).bin" size="8192" crc="35804e38" sha1="304b22919ce4a278fa5560a70901f0af08114e8d" offset="0" /> </dataarea> @@ -7833,6 +8020,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="jungle hunt (02-25-1983) (atari - gcc, mike feinstein, john allred) (cx2688) (prototype).bin" size="8192" crc="a26630cf" sha1="1a911b08c48721e9280e0df07d7df4f7bfecb724" offset="0" /> </dataarea> @@ -7900,6 +8088,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="kangaroo (1983) (atari - gcc, kevin osborn) (cx2689).bin" size="8192" crc="b9ab57e6" sha1="01fd30311e028944eafb6d14bb001035f816ced7" offset="0" /> </dataarea> @@ -7912,6 +8101,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="kangaroo (1983) (atari - gcc, kevin osborn) (cx2689, cx2689p) (pal).bin" size="8192" crc="b3b2a251" sha1="dac53b95626b68d3686430ccfda8c1a10946bad2" offset="0" /> </dataarea> @@ -7924,6 +8114,7 @@ Info from Atariage and Atarimania <publisher>Zirok</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="kanguru (aka kangaroo) (1983) (zirok).bin" size="8192" crc="e81eafe8" sha1="166902bf07013ad2983c11547226d33d72740236" offset="0" /> </dataarea> @@ -8157,6 +8348,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="klax (1990) (atari - axlon, steve defrisco) (cx26192) (pal).bin" size="16384" crc="a8aaf68b" sha1="45623a1c8fb5074de98c37f005edd5b1d0937dae" offset="0" /> </dataarea> @@ -8170,6 +8362,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="klax (08-18-1990) (atari - axlon, steve defrisco) (cx26192) (prototype).bin" size="16384" crc="6bc47721" sha1="3162259c6dbfbb57a2ea41d849155702151ee39b" offset="0" /> </dataarea> @@ -8183,6 +8376,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="klax (06-14-1990) (atari - axlon, steve defrisco) (cx26192) (prototype).bin" size="16384" crc="ce778afd" sha1="991089a63734a859c89eb465f3fc074e57c3ee4d" offset="0" /> </dataarea> @@ -8228,6 +8422,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="krull (1983) (atari, jerome domurat, dave staugas) (cx2682).bin" size="8192" crc="1a67e6ed" sha1="4bdf1cf73316bdb0002606facf11b6ddcb287207" offset="0" /> </dataarea> @@ -8240,6 +8435,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="krull (cce).bin" size="8192" crc="632e5244" sha1="07a1c1b1a2297c4edde0e16f610b5ec23c775217" offset="0" /> </dataarea> @@ -8252,6 +8448,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="krull (05-27-1983) (atari, jerome domurat, dave staugas) (cx2682) (prototype).bin" size="8192" crc="8dcff2e8" sha1="fb7402ff554d32441ea93066288a465a1cc694b9" offset="0" /> </dataarea> @@ -8275,6 +8472,7 @@ Info from Atariage and Atarimania <publisher>Telegames</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="kung fu superkicks - pursuit of the ninja (aka chuck norris superkicks) (1989) (telegames) (6082 a145) (pal).bin" size="8192" crc="b3091531" sha1="061e5196af3b559766d4158a13faef04f7365cd5" offset="0" /> </dataarea> @@ -8287,6 +8485,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="kung-fu master (1987) (activision, dan kitchen) (ag-039-04).bin" size="8192" crc="5fea6e51" sha1="3b93a34ba2a6b7db387ea588c48d939eee5d71a1" offset="0" /> </dataarea> @@ -8299,6 +8498,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="kung fu master (cce).bin" size="8192" crc="b9215ec6" sha1="13240d0decd944f7d5d7a87a7d1b47578f489711" offset="0" /> </dataarea> @@ -8311,6 +8511,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="kung-fu master (1987) (activision, dan kitchen) (eax-039-04b, eax-039-04i) (pal).bin" size="8192" crc="7bb76266" sha1="81abed650600ede00a00e23491b79d46a9b4f173" offset="0" /> </dataarea> @@ -8510,6 +8711,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="last starfighter, the (universe) (solaris beta) (1984) (atari, douglas 'solaris' neubauer) (cx26134) (prototype).bin" size="16384" crc="7e30ddc0" sha1="1ae05ee1954db2a1a586a5922b210622d8063d12" offset="0" /> </dataarea> @@ -8577,6 +8779,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="looping (1983) (coleco, ed temple) (2654) (prototype).bin" size="8192" crc="f9b23f09" sha1="5e04fa0320167434dab932f6b73183daf1a50ec7" offset="0" /> </dataarea> @@ -8589,6 +8792,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="lord of the rings, the - journey to rivendell (the lord of the rings i) (1983) (parker brothers, mark lesser) (pb5950) (prototype).bin" size="8192" crc="59b96db3" sha1="ef02fdb94ac092247bfcd5f556e01a68c06a4832" offset="0" /> </dataarea> @@ -8601,6 +8805,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="lord of the rings, the - journey to rivendell (the lord of the rings i) (1983) (parker brothers, mark lesser) (pb5950) (prototype) [a].bin" size="8192" crc="e735bb54" sha1="9010530904f78ad10a6164174cb657d1f4717337" offset="0" /> </dataarea> @@ -8702,6 +8907,7 @@ Info from Atariage and Atarimania <publisher>CommaVid</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="CV" /> + <feature name="slot" value="a26_cv" /> <dataarea name="rom" size="2048"> <rom name="magicard (keyboard controller) (1981) (computer magic - commavid, john bronstein) (cm-001).bin" size="2048" crc="14f126c0" sha1="4c66b84ab0d25e46729bbcf23f985d59ca8520ad" offset="0" /> </dataarea> @@ -8805,6 +9011,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="mario bros. (1983) (atari, dan hitchens) (cx2697).bin" size="8192" crc="8fbf7e90" sha1="49425ff154b92ca048abb4ce5e8d485c24935035" offset="0" /> </dataarea> @@ -8817,6 +9024,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="mario's bros. (aka mario bros.) (1983) (cce) (c-1004).bin" size="8192" crc="a88ccfa1" sha1="6ae41e84534dbe0c8cffdbf013d136754f239e9f" offset="0" /> </dataarea> @@ -8829,6 +9037,7 @@ Info from Atariage and Atarimania <publisher>Zirok</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="mario bros. (zirok).bin" size="8192" crc="99c20f2d" sha1="6282da81472c2c95f8efc1e20e0eebade7be8cc1" offset="0" /> </dataarea> @@ -8842,6 +9051,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="mario bros. (1983) (atari, dan hitchens) (cx2697, cx2697p) (pal).bin" size="8192" crc="26442d60" sha1="a83f5f9a075ccfee1e7b74c8082ec2ff3d7e1f78" offset="0" /> </dataarea> @@ -8877,6 +9087,7 @@ Info from Atariage and Atarimania <publisher>M Network</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E7" /> + <feature name="slot" value="a26_e7" /> <dataarea name="rom" size="16384"> <rom name="masters of the universe - the power of he-man (1983) (m network, connie goldman, joe king, patricia lewis du long, gerald moore, mike sanders, jossef wagner - intv) (mt4319).bin" size="16384" crc="0603e177" sha1="6db8fa65755db86438ada3d90f4c39cc288dcf84" offset="0" /> </dataarea> @@ -8993,6 +9204,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="mega funpak - gorf, p. patrol, pacman, skeet shoot (hes) (pal).bin" size="16384" crc="b35af763" sha1="864f5c82f055c3d21c3f10b6ee892493b36b835a" offset="0" /> </dataarea> @@ -9005,6 +9217,7 @@ Info from Atariage and Atarimania <publisher>Dynacom</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="DC" /> + <feature name="slot" value="a26_dc" /> <dataarea name="rom" size="65536"> <rom name="megaboy (dynacom).bin" size="65536" crc="26914ce0" sha1="46977baf0e1ee6124b524258879c46f80d624fae" offset="0" /> </dataarea> @@ -9133,6 +9346,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="midnight magic (pinball wizard) (1984) (atari, glenn axworthy) (cx26129).bin" size="16384" crc="5c5447b9" sha1="7fcf95459ea597a332bf5b6f56c8f891307b45b4" offset="0" /> </dataarea> @@ -9146,6 +9360,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="midnight magic (pinball wizard) (1984) (atari, glenn axworthy) (cx26129) (pal).bin" size="16384" crc="6cf038fa" sha1="dfdcbba166396faeab1ffc40f167189498dfc113" offset="0" /> </dataarea> @@ -9170,6 +9385,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="millipede (1984) (atari, jerome domurat, andrew fuchs, dave staugas, robert vieira) (cx26118).bin" size="16384" crc="ccc82dd0" sha1="0616f0dde6d697816dda92ed9e5a4c3d77a39408" offset="0" /> </dataarea> @@ -9183,6 +9399,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="f6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="millipede (01-04-1984) (atari, jerome domurat, andrew fuchs, dave staugas, robert vieira) (cx26118) (prototype).bin" size="16384" crc="82d88744" sha1="6be6c8c8193e43e9fd0fd37e5344848d5a42bb4f" offset="0" /> </dataarea> @@ -9196,6 +9413,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="millipede (1984) (atari, jerome domurat, andrew fuchs, dave staugas, robert vieira) (cx26118) (prototype).bin" size="16384" crc="41332631" sha1="42e97d1ba19781187e605430fd70049f0450ef75" offset="0" /> </dataarea> @@ -9210,6 +9428,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="millipede (1984) (atari, jerome domurat, andrew fuchs, dave staugas, robert vieira) (cx26118, cx26118p) (pal).bin" size="16384" crc="eea33418" sha1="7ba2e2c0b3b66a50692f4dece817368527e29180" offset="0" /> </dataarea> @@ -9224,6 +9443,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="f6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="millipede (1984) (atari - gcc) (cx26118) (prototype) (pal).bin" size="16384" crc="dcb13020" sha1="06092998a30e816a97fe9e4d3f27085b913ec9f9" offset="0" /> </dataarea> @@ -9236,6 +9456,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="mind maze (mind race) (mindlink controller) (10-10-1984) (atari, peter c. niday, howard scott warshaw) (prototype).bin" size="8192" crc="7cc6c991" sha1="3844b79dbec5ffc99eaa2c9f5fa4f0a26c08c06d" offset="0" /> </dataarea> @@ -9248,6 +9469,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="miner 2049er - starring bounty bob (1982) (tigervision) (7-008).bin" size="8192" crc="bd08d915" sha1="0e56b48e88f69d405eabf544e57663bd180b3b1e" offset="0" /> </dataarea> @@ -9260,6 +9482,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="miner 2049er - starring bounty bob (1982) (tigervision) (7-008) (prototype).bin" size="8192" crc="67d2837b" sha1="78606c2f3dd418e903a0760746d11714e74a55a6" offset="0" /> </dataarea> @@ -9272,6 +9495,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="miner 2049er - starring bounty bob (1982) (tigervision - teldec) (7-008 - 3.60006 vg) (pal).bin" size="8192" crc="f9851d21" sha1="c44b2f87695440828d6844ae630d3f975b582385" offset="0" /> </dataarea> @@ -9284,6 +9508,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="miner 2049er volume ii (1983) (tigervision) (7-011).bin" size="8192" crc="71e814e9" sha1="575faad92cb38944b9882ffb69073e0af9460aba" offset="0" /> </dataarea> @@ -9297,6 +9522,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="miner 2049er volume ii (1983) (tigervision - teldec) (7-011 - 3.60015 vg) (pal).bin" size="8192" crc="bfa477cd" sha1="5edbf8a24fcba9763983befe20e2311f61b986d4" offset="0" /> </dataarea> @@ -9368,6 +9594,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="miss pack man (aka ms. pac-man) (video game program) (pal).bin" size="8192" crc="b649c1dc" sha1="1e9443c7e6517f649b47e0081aaa635e271e0aef" offset="0" /> </dataarea> @@ -9380,6 +9607,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="miss piggy's wedding (06-24-1983) (atari, suki lee) (cx26113) (prototype) (8k).bin" size="8192" crc="b1497e10" sha1="f721d1f750e19b9e1788eed5e3872923ab46a91d" offset="0" /> </dataarea> @@ -9555,6 +9783,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="monster cise (kid's controller) (1984) (atari) (cx26131) (prototype).bin" size="8192" crc="ab0f6091" sha1="81a4d56820b1e00130e368a3532c409929aff5fb" offset="0" /> </dataarea> @@ -9567,6 +9796,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="montezuma's revenge - featuring panama joe (1984) (parker brothers, robert jaeger) (pb5760).bin" size="8192" crc="e680a1c9" sha1="7dfeb1a8ec863c1e0f297113a1cc4185c215e81c" offset="0" /> </dataarea> @@ -9579,6 +9809,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (1983) (atari - gcc, mark ackerman, noellie alito) (cx2692).bin" size="8192" crc="d641ef2d" sha1="dce778f397a325113f035722b7769492645d69eb" offset="0" /> </dataarea> @@ -9591,6 +9822,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (1983) (cce) (c-1006).bin" size="8192" crc="82600233" sha1="ab799fcf48946d41f071fc7e2ed2512ef23b07be" offset="0" /> </dataarea> @@ -9603,6 +9835,7 @@ Info from Atariage and Atarimania <publisher>Intellivision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (canal 3 - intellivision) (c 3004).bin" size="8192" crc="2fbab601" sha1="cc6054ffef91ab98fbef24b450a4470b598ec17e" offset="0" /> </dataarea> @@ -9615,6 +9848,7 @@ Info from Atariage and Atarimania <publisher>Tron</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (tron).bin" size="8192" crc="5f774d1d" sha1="7c14ae45ed08c59af7c1c3ee4629d4ed02f6a187" offset="0" /> </dataarea> @@ -9628,6 +9862,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (1983) (atari - gcc, mark ackerman, noellie alito) (cx2692, cx2692p) (pal).bin" size="8192" crc="373c3a82" sha1="723ef7da21660fe75d14d0f84eba5901aadbc4c2" offset="0" /> </dataarea> @@ -9640,6 +9875,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (05-16-1983) (atari - gcc, mark ackerman, noellie alito) (cx2692) (prototype).bin" size="8192" crc="28467ee2" sha1="e082923c89418ce7c49a770369a73a39d2bb1583" offset="0" /> </dataarea> @@ -9652,6 +9888,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (06-15-1983) (atari - gcc, mark ackerman, noellie alito) (cx2692) (prototype).bin" size="8192" crc="85361ff8" sha1="1499f3b78756e0728b9cf66df147d4263a8b61fa" offset="0" /> </dataarea> @@ -9664,6 +9901,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (07-04-1983) (atari - gcc, mark ackerman, noellie alito) (cx2692) (prototype).bin" size="8192" crc="4b2ad69d" sha1="57e1f0989f8a045267b4d1cb9e599b2c155611cd" offset="0" /> </dataarea> @@ -9676,6 +9914,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (07-26-1983) (atari - gcc, mark ackerman, noellie alito) (cx2692) (prototype).bin" size="8192" crc="f6536071" sha1="2286929461dc07bbdc709245011663ba65db9f14" offset="0" /> </dataarea> @@ -9688,6 +9927,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moon patrol (07-31-1983) (atari - gcc, mark ackerman, noellie alito) (cx2692) (prototype).bin" size="8192" crc="c9d631a0" sha1="7c0b22e8dc7a0b85ff6e67b7493684dc652d0e27" offset="0" /> </dataarea> @@ -9700,6 +9940,7 @@ Info from Atariage and Atarimania <publisher>Imagic</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moonsweeper (1983) (imagic, bob smith) (720114-1a, 03207, iz-001-04).bin" size="8192" crc="450b5c57" sha1="05ab04dc30eae31b98ebf6f43fec6793a53e0a23" offset="0" /> </dataarea> @@ -9712,6 +9953,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moonsweeper (1988) (activision) (aiz-001).bin" size="8192" crc="bb513282" sha1="2bb48d52aa43b10cdd29a1ceb2bd0c83aefbf96a" offset="0" /> </dataarea> @@ -9725,6 +9967,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="moonsweeper (1983) (imagic, bob smith) (720114-2a, 13207, eiz-001-04i) (pal).bin" size="8192" crc="b72fc86a" sha1="173d7427d6ab024cc9ef75a0281a85fd4ee013dd" offset="0" /> </dataarea> @@ -9748,6 +9991,7 @@ Info from Atariage and Atarimania <publisher>Joystik</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="motocross (aka motocross racer) (joystik).bin" size="8192" crc="1bd58e61" sha1="d8a1eb094851ff067e0775fd39da5c0b790d8273" offset="0" /> </dataarea> @@ -9784,6 +10028,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="motocross racer (1983) (xonox - k-tel software, anthony r. henderson) (99008, 6240).bin" size="8192" crc="0d1bc1cb" sha1="c4d495d42ea5bd354af04e1f2b68cce0fb43175d" offset="0" /> </dataarea> @@ -9796,6 +10041,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="motorodeo (motor olympics, motor rodeo) (1990) (atari - axlon, steve defrisco) (cx26171).bin" size="16384" crc="89998e29" sha1="dea1506ba107b9544cd9b179f83bc61ced9101ac" offset="0" /> </dataarea> @@ -9820,6 +10066,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FA" /> + <feature name="slot" value="a26_fa" /> <dataarea name="rom" size="12288"> <rom name="mountain king (1983) (cbs electronics, e.f. dreyer, ed salvo) (4l 2738 0000).bin" size="12288" crc="ed778991" sha1="0a84b0a6bd0e79f5fa0b1bb9112160cb564ab836" offset="0" /> </dataarea> @@ -9867,6 +10114,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="mr. do! (1983) (coleco, ed english) (2656).bin" size="8192" crc="860a47a1" sha1="e4c912199779bba25f1b9950007f14dca3d19c84" offset="0" /> </dataarea> @@ -9880,6 +10128,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="mr. do! (1983) (cbs electronics, ed english) (4l4478) (pal).bin" size="8192" crc="9fedc6ae" sha1="85c693ef75fb62f26f9977acf63790a00cc0cb5e" offset="0" /> </dataarea> @@ -9892,6 +10141,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="mr. do!'s castle (1984) (parker brothers) (pb5820).bin" size="8192" crc="044735b9" sha1="330c2c67399e07c40f4101f9e18670fef070475e" offset="0" /> </dataarea> @@ -9949,6 +10199,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="ms. pac-man (1982) (atari - gcc, mark ackerman, glenn parker) (cx2675).bin" size="8192" crc="b2d08fc9" sha1="62b933cdd8844bb1816ce57889203954fe782603" offset="0" /> </dataarea> @@ -9961,6 +10212,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="ms. pac-man (cce).bin" size="8192" crc="215b16b1" sha1="63b79bd237a4f4883320c6726518f6140491cdbd" offset="0" /> </dataarea> @@ -9974,6 +10226,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="ms. pac-man (1982) (atari - gcc, mark ackerman, glenn parker) (cx2675, cx2675p) (pal).bin" size="8192" crc="24cbf34c" sha1="fab9f82ac3f039f787095a915ac7914af04ce7d4" offset="0" /> </dataarea> @@ -9986,6 +10239,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="ms. pac-man (1982) (atari - gcc, mark ackerman, glenn parker) (cx2675) (prototype).bin" size="8192" crc="f0834d11" sha1="ccd4313a8643008581d303185d601ad2fdad3d51" offset="0" /> </dataarea> @@ -10010,6 +10264,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="my golf (1990) (hes, david lubar) (535) (pal).bin" size="8192" crc="5f5da13b" sha1="250fbd63a80f2ddc034b73de7ce60a5ad49a09c7" offset="0" /> </dataarea> @@ -10023,6 +10278,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="my golf (1990) (hes, david lubar) (535) (pal) [fixed].bin" size="8192" crc="0d2cbd53" sha1="b2df23b1bf6df9d253ad0705592d3fce352a837b" offset="0" /> </dataarea> @@ -10036,6 +10292,7 @@ Info from Atariage and Atarimania <sharedfeat name="compatibility" value="PAL" /> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="my golf (cce) (pal).bin" size="8192" crc="e9e0c511" sha1="2c2ceb9f279c8c70db43e6512bc78c6d6342c725" offset="0" /> </dataarea> @@ -10251,6 +10508,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="obelix (1983) (atari, andrew fuchs, jeffrey gusman, dave jolly, suki lee) (cx26117).bin" size="8192" crc="29a51ea4" sha1="9155f7fa57480a12a03c6a84213cc5dc7be739b5" offset="0" /> </dataarea> @@ -10263,6 +10521,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="obelix (1983) (atari, andrew fuchs, jeffrey gusman, dave jolly, suki lee) (cx26117) (pal).bin" size="8192" crc="a835d5c2" sha1="f5f8619035c73ef35a6fa197b39bc504e1a09b88" offset="0" /> </dataarea> @@ -10298,6 +10557,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="off the wall (bizarre breakout, peasant king, zip 'n' zap) (1989) (atari - axlon) (cx26168).bin" size="16384" crc="a09779ea" sha1="3dcfe93399044148561586056288c6f8e5c96e2b" offset="0" /> </dataarea> @@ -10311,6 +10571,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="f6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="off the wall (bizarre breakout, peasant king, zip 'n' zap) (1989) (atari - axlon) (cx26168) (pal).bin" size="16384" crc="182af080" sha1="9ebc01bd86faceef87432597f1fc5fb6ce088ef5" offset="0" /> </dataarea> @@ -10378,6 +10639,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FA" /> + <feature name="slot" value="a26_fa" /> <dataarea name="rom" size="12288"> <rom name="omega race (booster grip) (1983) (cbs electronics) (4l 2737 0000).bin" size="12288" crc="e9876116" sha1="dcaab259e7617c7ac7d349893451896a9ca0e292" offset="0" /> </dataarea> @@ -10412,6 +10674,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="oscar's trash race (kid's controller) (children's computer workshop) (1983) (atari, christopher h. omarzu, preston stuart, bruce williams) (cx26101).bin" size="8192" crc="34721d7b" sha1="7905709fcc85cbcfc28ca2ed543ffa737a5483ae" offset="0" /> </dataarea> @@ -10424,6 +10687,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="oscar's trash race (kid's controller) (children's computer workshop) (1983) (atari, christopher h. omarzu, preston stuart, bruce williams) (cx26101) (pal).bin" size="8192" crc="4cc88058" sha1="98007f26356b4032a2ae4e9fddea5a38a988eb13" offset="0" /> </dataarea> @@ -10436,6 +10700,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="oscar's trash race (kid's controller) (children's computer workshop) (03-30-1983) (atari, christopher h. omarzu, preston stuart, bruce williams) (cx26101) (prototype).bin" size="8192" crc="3b06e5b1" sha1="52028232f4f30800a2131d53fca49b05f6148868" offset="0" /> </dataarea> @@ -10448,6 +10713,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="oscar's trash race (kid's controller) (children's computer workshop) (12-03-1982) (atari, christopher h. omarzu, preston stuart, bruce williams) (cx26101) (prototype).bin" size="8192" crc="06191c30" sha1="de79ef324d63b2bcadfc845f36b6535793a3b260" offset="0" /> </dataarea> @@ -10704,6 +10970,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pengo (1984) (atari, andrew fuchs, courtney granner, jeffrey gusman, mark r. hahn) (cx2690).bin" size="8192" crc="7667e739" sha1="89b991a7a251f78f422bcdf9cf7d4475fdf33e97" offset="0" /> </dataarea> @@ -10716,6 +10983,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pengo (1984) (atari, andrew fuchs, courtney granner, jeffrey gusman, mark r. hahn) (cx2690) (pal).bin" size="8192" crc="f99f2cfb" sha1="5e2a8ae2545091227b024e478c138b341211298b" offset="0" /> </dataarea> @@ -10728,6 +10996,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pengo (1983) (atari, andrew fuchs, courtney granner, jeffrey gusman, mark r. hahn) (cx2690) (prototype).bin" size="8192" crc="46b53f35" sha1="461c2ea3e4d24f86ec02215c1f4743d250796c11" offset="0" /> </dataarea> @@ -10751,6 +11020,7 @@ Info from Atariage and Atarimania <publisher>Absolute Entertainment</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="pete rose baseball (1988) (absolute entertainment, alex demeo) (ag-045-04, ak-045-04).bin" size="16384" crc="d0c6fc32" sha1="19c3ad034466c0433501a415a996ed7155d6063a" offset="0" /> </dataarea> @@ -10895,6 +11165,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="phoenix (1982) (atari - gcc, mike feinstein, john mracek) (cx2673).bin" size="8192" crc="6ae1b66c" sha1="010d51e3f522ba60f021d56819437d7c85897cdd" offset="0" /> </dataarea> @@ -10907,6 +11178,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="phoenix (1983) (cce) (c-1012).bin" size="8192" crc="f43e6ab4" sha1="d14b17841fd2bcbf69140a9978b24820d1e0579a" offset="0" /> </dataarea> @@ -10919,6 +11191,7 @@ Info from Atariage and Atarimania <publisher><unknown></publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="phoenix (unknown).bin" size="8192" crc="d76a8618" sha1="99d3fed58047aa61b49ef0e069f4fa76bc1be18f" offset="0" /> </dataarea> @@ -10931,6 +11204,7 @@ Info from Atariage and Atarimania <publisher>Zirok</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="phoenix (zirok).bin" size="8192" crc="99d5b4bf" sha1="20830d1748ad3f880eb6a4d6b307dc73fec7a01c" offset="0" /> </dataarea> @@ -10943,6 +11217,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="phoenix (1982) (atari - gcc, mike feinstein, john mracek) (cx2673, cx2673p) (pal).bin" size="8192" crc="743cfaac" sha1="837a0f07c4ece7e64bbd088605859f7b6dade57d" offset="0" /> </dataarea> @@ -10955,6 +11230,7 @@ Info from Atariage and Atarimania <publisher>Ubi Soft</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="pick 'n' pile (1990) (salu - ubi soft, dennis m. kiss) (460673) (pal).bin" size="16384" crc="cb76a9d4" sha1="a5917537cf1093aa350903d85d9e271e8a11d2cf" offset="0" /> </dataarea> @@ -11011,6 +11287,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pigs in space - starring miss piggy (1983) (atari, bill aspromonte, john russell, michael sierchio, robert zdybel) (cx26114).bin" size="8192" crc="27673d7c" sha1="d08b30ca2e5e351cac3bd3fb760b87a1a30aa300" offset="0" /> </dataarea> @@ -11023,6 +11300,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pigs in space - starring miss piggy (1983) (atari, bill aspromonte, john russell, michael sierchio, robert zdybel) (cx26114) (pal).bin" size="8192" crc="2adb9a1f" sha1="aee08324bc209f39c14658980fee06343d0d8b63" offset="0" /> </dataarea> @@ -11035,6 +11313,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pigs in space - starring miss piggy (1983) (atari, bill aspromonte, john russell, michael sierchio, robert zdybel) (cx26114) (prototype).bin" size="8192" crc="86a5b934" sha1="21a614365d63ff101af2f9cc9cb5f819229ec8db" offset="0" /> </dataarea> @@ -11058,6 +11337,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="DPC" /> + <feature name="slot" value="a26_dpc" /> <dataarea name="rom" size="10495"> <rom name="pitfall ii - lost caverns (1983) (activision, david crane) (ab-035-04).bin" size="10495" crc="097ce7ad" sha1="920cfbd517764ad3fa6a7425c031bd72dc7d927c" offset="0" /> </dataarea> @@ -11070,6 +11350,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="DPC" /> + <feature name="slot" value="a26_dpc" /> <dataarea name="rom" size="10495"> <rom name="pitfall ii - lost caverns (1984) (activision, david crane) (ab-035-04) [a].bin" size="10495" crc="39918cae" sha1="b307c24c4002a4a1138e44212095ba53e9463aab" offset="0" /> </dataarea> @@ -11082,6 +11363,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="DPC" /> + <feature name="slot" value="a26_dpc" /> <dataarea name="rom" size="10495"> <rom name="pitfall ii - lost caverns (1983) (activision, david crane - ariola) (eab-035-04 - 711 035-720) (pal).bin" size="10495" crc="f29cf61d" sha1="3ee18a1be7155900c2a01a104563657254d3a9a9" offset="0" /> </dataarea> @@ -11381,6 +11663,7 @@ Info from Atariage and Atarimania <publisher>UA Limited</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="UA" /> + <feature name="slot" value="a26_ua" /> <dataarea name="rom" size="8192"> <rom name="pleiades (1983) (ua limited) (prototype).bin" size="8192" crc="35589cec" sha1="63c12146c183bccbf05c0044a961dc40790e3212" offset="0" /> </dataarea> @@ -11404,6 +11687,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="polaris (1983) (tigervision, robert h. o'neil) (7-007).bin" size="8192" crc="25b78f89" sha1="b76ab69118b579ca0acbbb8ebe8003eed5cbcb4a" offset="0" /> </dataarea> @@ -11416,6 +11700,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="polaris (1983) (tigervision, robert h. o'neil - teldec) (7-007 - 3.60005 vg) (pal).bin" size="8192" crc="db376663" sha1="2410931a8a18b915993b6982fbabab0f437967a4" offset="0" /> </dataarea> @@ -11439,6 +11724,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="polaris (1983) (tigervision, robert h. o'neil) (7-007) (prototype).bin" size="8192" crc="acf49e9b" sha1="8727630ca840dd7643bfc5762a6f597194ecdda3" offset="0" /> </dataarea> @@ -11451,6 +11737,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pole position (realsports driving) (1983) (atari - gcc, betty ryan tylko, douglas b. macrae) (cx2694).bin" size="8192" crc="bd822518" sha1="b7122f478a343cffac17b765e9642893587e99a1" offset="0" /> </dataarea> @@ -11463,6 +11750,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pole position (realsports driving) (1983) (atari - gcc, betty ryan tylko, douglas b. macrae) (cx2694) [a].bin" size="8192" crc="a0eb1b3b" sha1="9d334da07352a9399cbbd9b41c6923232d0cdcd3" offset="0" /> </dataarea> @@ -11475,6 +11763,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pole position (1983) (cce) (c-1002).bin" size="8192" crc="7852d5b4" sha1="9afdc3b6756aaf60e4949f414037239c7a4f7fd1" offset="0" /> </dataarea> @@ -11487,6 +11776,7 @@ Info from Atariage and Atarimania <publisher>Tron</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pole position (tron).bin" size="8192" crc="44567b43" sha1="e981b07a3bbce3ea187c7fd21bf4b8bea0630785" offset="0" /> </dataarea> @@ -11499,6 +11789,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pole position (realsports driving) (1983) (atari - gcc, betty ryan tylko, douglas b. macrae) (cx2694, cx2694p) (pal).bin" size="8192" crc="a2a5b071" sha1="bf89876abac4fa300ed6862a0ae87a6c5fe84c13" offset="0" /> </dataarea> @@ -11511,6 +11802,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pole position (realsports driving) (05-15-1983) (atari - gcc, betty ryan tylko, douglas b. macrae) (cx2694) (prototype).bin" size="8192" crc="d16f2a66" sha1="4665c45c83bb64289b35782c3b59afed5ec2150c" offset="0" /> </dataarea> @@ -11578,6 +11870,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="popeye (1983) (parker brothers, joe gaucher) (pb5370).bin" size="8192" crc="7d287f20" sha1="1772a22df3e9a1f3842387ac63eeddff7f04b01c" offset="0" /> </dataarea> @@ -11590,6 +11883,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="popeye (1983) (parker brothers, joe gaucher) (931519) (pal).bin" size="8192" crc="742ac749" sha1="fbfca822962b623c3ac5a4585c8d0404b61d8ccf" offset="0" /> </dataarea> @@ -11602,6 +11896,7 @@ Info from Atariage and Atarimania <publisher>20th Century Fox Video Games</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="porky's (1983) (20th century fox video games - lazer micro systems - dunhill electronic media corp., b. winston hendrickson, randy hyde, mark v. rhoads, john simonds) (11013).bin" size="8192" crc="add0b98a" sha1="70afc2cc870be546dc976fa0c6811f7e01ebc471" offset="0" /> </dataarea> @@ -11614,6 +11909,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pressure cooker (1983) (activision, garry kitchen) (az-032).bin" size="8192" crc="ccf597d8" sha1="8b001373be485060f88182e9a7afcf55b4d07a57" offset="0" /> </dataarea> @@ -11626,6 +11922,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pressure cooker (cce).bin" size="8192" crc="a0a671d9" sha1="bb4ebcb7a2528c5bebf7a9570cf3c20705307c43" offset="0" /> </dataarea> @@ -11638,6 +11935,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="pressure cooker (1983) (activision, garry kitchen - ariola) (eaz-032 - 771 032-712) (pal).bin" size="8192" crc="50aad095" sha1="8116d0ab3585caf1da042907c2a555112d033f49" offset="0" /> </dataarea> @@ -11650,6 +11948,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="private eye (1983) (activision, bob whitehead) (ag-034-04).bin" size="8192" crc="ea3bff1c" sha1="1ea6bea907a6b5607c76f222730f812a99cd1015" offset="0" /> </dataarea> @@ -11662,6 +11961,7 @@ Info from Atariage and Atarimania <publisher><unknown></publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="private eye (cce).bin" size="8192" crc="a21ceceb" sha1="c4de1af8468a8110894f4b080c66dcb452eb4deb" offset="0" /> </dataarea> @@ -11674,6 +11974,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="private eye (1983) (activision, bob whitehead) (eaz-034-04, eaz-034-04i) (pal).bin" size="8192" crc="7bdd9912" sha1="24ab03a51bdd113a9845132476045b73532224dd" offset="0" /> </dataarea> @@ -11763,6 +12064,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="q-bert's qubes (1984) (parker brothers, todd marshall) (pb5550).bin" size="8192" crc="d9f499c5" sha1="a61be3702437b5d16e19c0d2cd92393515d42f23" offset="0" /> </dataarea> @@ -11775,6 +12077,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="quadrun (1983) (atari, frank hausman, steve woita) (cx2686).bin" size="8192" crc="8d3c887b" sha1="b8d6f508edbf713e52f0cbf235d5e17add2fbf2e" offset="0" /> </dataarea> @@ -11798,6 +12101,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="quadrun (1983) (atari, frank hausman, steve woita) (cx2686) (prototype).bin" size="8192" crc="35592d43" sha1="1e634a8733cbc50462d363562b80013343d2fac3" offset="0" /> </dataarea> @@ -11810,6 +12114,7 @@ Info from Atariage and Atarimania <publisher>Sunrise Software</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="quest for quintana roo (1984) (sunrise software) (1603).bin" size="8192" crc="f9f58dd3" sha1="d83c740d2968343e6401828d62f58be6aea8e858" offset="0" /> </dataarea> @@ -11822,6 +12127,7 @@ Info from Atariage and Atarimania <publisher>Telegames</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="quest for quintana roo (1989) (telegames) (6057 a227) (pal).bin" size="8192" crc="929c8065" sha1="6c0b91852314b293f675c889e4cf547eb9497452" offset="0" /> </dataarea> @@ -11856,6 +12162,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="rabbit transit (08-29-1983) (atari) (prototype).bin" size="8192" crc="dd1e5638" sha1="7bf945ea667e683ec24a4ed779e88bbe55dc4b26" offset="0" /> </dataarea> @@ -11945,6 +12252,7 @@ Info from Atariage and Atarimania <publisher>HES</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="rad action pak - kung-fu master, freeway, frostbite (1990) (hes - activision) (559) (pal).bin" size="16384" crc="47c8c308" sha1="f00d108e7f1c7716e8ebee9201599f82103b52ff" offset="0" /> </dataarea> @@ -11969,6 +12277,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="radar lock (dog fight) (1989) (atari, douglas neubauer) (cx26176).bin" size="16384" crc="c29f7285" sha1="33f016c941fab01e1e2d0d7ba7930e3bcd8feaa3" offset="0" /> </dataarea> @@ -11982,6 +12291,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="radar lock (dog fight) (1989) (atari, douglas neubauer) (cx26176) (pal).bin" size="16384" crc="d7c72da0" sha1="cb36828a2a23eaf8d736af4790ffd7e948ebbf1e" offset="0" /> </dataarea> @@ -12005,6 +12315,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="raiders of the lost ark (1982) (atari, jerome domurat, howard scott warshaw) (cx2659).bin" size="8192" crc="e05fe273" sha1="7ae70783969709318e56f189cf03da92320a6aba" offset="0" /> </dataarea> @@ -12017,6 +12328,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="raiders of the lost ark (1982) (atari, jerome domurat, howard scott warshaw) (cx2659) (pal).bin" size="8192" crc="61110158" sha1="66803476a70a527741a35637b99bae3b7d20d00b" offset="0" /> </dataarea> @@ -12073,6 +12385,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="rampage! (1989) (activision, robert c. polaro) (ak-049-04).bin" size="16384" crc="f0b446ac" sha1="7bb7df255829d5fbbee0d944915e50f89a5e7075" offset="0" /> </dataarea> @@ -12085,6 +12398,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="rampage! (1989) (activision, robert c. polaro) (eak-049-04b) (pal).bin" size="16384" crc="5b2c2f22" sha1="c42f6da3aa0c8b5db68dd25ac5d6aa56d59baf48" offset="0" /> </dataarea> @@ -12119,6 +12433,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports baseball (foxbat) (1982) (atari, eric manghise, joseph tung) (cx2640).bin" size="8192" crc="3c5a1b5f" sha1="ace97b89b8b6ab947434dbfd263951c6c0b349ac" offset="0" /> </dataarea> @@ -12131,6 +12446,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports baseball (foxbat) (07-09-1982) (atari, eric manghise, joseph tung) (cx2640) (prototype).bin" size="8192" crc="1257afde" sha1="3a43e03969b01559d424a5d4a7f78dc96799c037" offset="0" /> </dataarea> @@ -12143,6 +12459,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports baseball (foxbat) (1982) (atari, eric manghise, joseph tung) (cx2640) (prototype).bin" size="8192" crc="2e585d2f" sha1="e9b06b567ddf802306d5c83b89d3da802ef2e16f" offset="0" /> </dataarea> @@ -12155,6 +12472,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports basketball (1983) (atari, joe gaucher) (cx2679) (prototype) (pal).bin" size="8192" crc="364feaa6" sha1="bc2e6bdaa950bc06be040899dfeb9ad0938f4e98" offset="0" /> </dataarea> @@ -12167,6 +12485,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="realsports boxing (1987) (atari) (cx26135).bin" size="16384" crc="3398a1b2" sha1="22dedbfce6cc9055a6c4caec013ca80200e51971" offset="0" /> </dataarea> @@ -12179,6 +12498,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="realsports boxing (1987) (atari) (cx26135, cx26135p) (pal).bin" size="16384" crc="36f5b4bb" sha1="6b940d543284c6837a31eaa328ca458cc77c1a73" offset="0" /> </dataarea> @@ -12191,6 +12511,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports football (football ii) (1982) (atari, alan j. murphy, robert zdybel) (cx2668).bin" size="8192" crc="f89f64ef" sha1="200d04c1e7f41a5a3730287ed0c3f9293628f195" offset="0" /> </dataarea> @@ -12203,6 +12524,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports football (football ii) (1982) (atari, alan j. murphy, robert zdybel) (cx2668) (prototype).bin" size="8192" crc="d5e2141d" sha1="0028d8cf46c4205f665ca05ad115c1a54a85aa9f" offset="0" /> </dataarea> @@ -12215,6 +12537,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports soccer - football - realsports soccer (1983) (atari, jerome domurat, michael sierchio) (cx2667).bin" size="8192" crc="02d89819" sha1="e3d964d918b7f2c420776acd3370ec1ee62744ea" offset="0" /> </dataarea> @@ -12228,6 +12551,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports soccer - football - realsports soccer (1983) (atari, jerome domurat, michael sierchio) (cx2667) [no opening tune].bin" size="8192" crc="0cbaa09c" sha1="9c88e0dbb287d27c0e2c32f6e85d829133bbe8a3" offset="0" /> </dataarea> @@ -12240,6 +12564,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports soccer - football - realsports soccer (1983) (atari, jerome domurat, michael sierchio) (cx2667, cx2667p) (pal).bin" size="8192" crc="eb790199" sha1="f7d34f0278a7500d43252067adae529a751aed9d" offset="0" /> </dataarea> @@ -12252,6 +12577,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports soccer - football - realsports soccer (1983) (atari, jerome domurat, michael sierchio) (cx2667) (prototype).bin" size="8192" crc="94ecfbe7" sha1="d7f2e53deb3fc4d2f8d819ccf0fbfd7f510fdbee" offset="0" /> </dataarea> @@ -12264,6 +12590,7 @@ Info from Atariage and Atarimania <publisher><unknown></publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports tennis (1983) (atari - gcc) (cx2680).bin" size="8192" crc="379001a0" sha1="702c1c7d985d0d22f935265bd284d1ed50df2527" offset="0" /> </dataarea> @@ -12276,6 +12603,7 @@ Info from Atariage and Atarimania <publisher><unknown></publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports tennis (1983) (atari - gcc) (cx2680, cx2680p) (pal).bin" size="8192" crc="e4731615" sha1="0467559378cfba949be579cadaf2dead6e25a55c" offset="0" /> </dataarea> @@ -12288,6 +12616,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="realsports tennis (1982) (atari - gcc) (cx2680) (prototype).bin" size="8192" crc="6e65c077" sha1="ddb414770376332bb96bdd8b70e5ba68c3128aa7" offset="0" /> </dataarea> @@ -12344,6 +12673,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="resgate espacial (aka moonsweeper) (cce).bin" size="8192" crc="0c139bb8" sha1="c29a06c2950c79ede34905de5dea27b12ef1f8bf" offset="0" /> </dataarea> @@ -12389,6 +12719,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="river patrol (1984) (tigervision) (7-004).bin" size="8192" crc="c820bd75" sha1="6715493dce54b22362741229078815b3360988ae" offset="0" /> </dataarea> @@ -12555,6 +12886,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="river raid ii (1988) (activision, david lubar) (ak-048-04).bin" size="16384" crc="27d2df2c" sha1="a08c3eae3368334c937a5e03329782e95f7b57c7" offset="0" /> </dataarea> @@ -12600,6 +12932,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="river raid ii (1988) (activision, david lubar) (eak-048-04, eak-048-04b) (pal).bin" size="16384" crc="d9759ebc" sha1="3b838681fc05276170c60e38fec1dec629cb0687" offset="0" /> </dataarea> @@ -12634,6 +12967,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="road runner (1989) (atari, robert c. polaro) (cx2663).bin" size="16384" crc="cb79c061" sha1="8be5f9c2a11f78ac536e598e3e3b7d37130154ec" offset="0" /> </dataarea> @@ -12646,6 +12980,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="road runner (cce).bin" size="16384" crc="ea58c541" sha1="e3bb8dcb02e1fca0771e6d5009d27e3a62fa0256" offset="0" /> </dataarea> @@ -12658,6 +12993,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="road runner (1989) (atari, robert c. polaro) (cx2663) (pal).bin" size="16384" crc="7a423931" sha1="eea478ef7ff8f579dd4d9077d325b9b6cb865470" offset="0" /> </dataarea> @@ -12670,6 +13006,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="road runner (06-25-1984) (atari, robert c. polaro) (cx2663) (prototype).bin" size="8192" crc="2fd86554" sha1="ee6940c018b34877e172576234d3d7b408c0203a" offset="0" /> </dataarea> @@ -12682,6 +13019,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="robin hood (1983) (xonox - k-tel software) (99005, 6220, 6250).bin" size="8192" crc="df96102b" sha1="7f9c2321c9f22cf2cdbcf1b3f0e563a1c53f68ca" offset="0" /> </dataarea> @@ -12694,6 +13032,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="robin hood (1983) (xonox - k-tel software) (99005, 6220, 6250) (pal).bin" size="8192" crc="c04d402b" sha1="9807027508bb36937e14cdce10376ab087017cc0" offset="0" /> </dataarea> @@ -12717,6 +13056,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FE" /> + <feature name="slot" value="a26_fe" /> <dataarea name="rom" size="8192"> <rom name="robot tank (robotank) (1983) (activision, alan miller) (az-028, ag-028-04).bin" size="8192" crc="e127c012" sha1="21a3ee57cb622f410ffd51986ab80acadb8d44b7" offset="0" /> </dataarea> @@ -12729,6 +13069,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FE" /> + <feature name="slot" value="a26_fe" /> <dataarea name="rom" size="8192"> <rom name="robot tank - rebellion der roboter (robotank) (1983) (activision, alan miller - ariola) (eaz-028 - 711 028-725) (pal).bin" size="8192" crc="cded5569" sha1="413341c947157197ad4c9dd3cef7d0da7b2e9361" offset="0" /> </dataarea> @@ -12741,6 +13082,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="roc 'n rope (1984) (coleco, ed english) (2667).bin" size="8192" crc="9d51c969" sha1="0abf0a292d4a24df5a5ebe19a9729f3a8f883c8b" offset="0" /> </dataarea> @@ -12753,6 +13095,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="roc 'n rope (1984) (cbs electronics, ed english) (4l1751) (pal).bin" size="8192" crc="505890ab" sha1="ec030ffa9ff574b2ad10e0cecff9af2b1f0ca254" offset="0" /> </dataarea> @@ -12897,6 +13240,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="saboteur (sabotage) (05-20-1983) (atari, jerome domurat, howard scott warshaw) (cx26119) (prototype).bin" size="8192" crc="7403592b" sha1="2d5419bfed2ccabb09fa2522edb3a84a8ceabae2" offset="0" /> </dataarea> @@ -12909,6 +13253,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="saboteur (sabotage) (06-09-1983) (atari, jerome domurat, howard scott warshaw) (cx26119) (prototype).bin" size="8192" crc="6ca12211" sha1="c20d42ee01bc1aef24c14b84f9b00e33b7c1bae3" offset="0" /> </dataarea> @@ -12921,6 +13266,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="saboteur (sabotage) (06-15-1983) (atari, jerome domurat, howard scott warshaw) (cx26119) (prototype).bin" size="8192" crc="2e43af7b" sha1="3394ea0e9bd79cb6ea4f0642bd07250ecb587160" offset="0" /> </dataarea> @@ -12933,6 +13279,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="saboteur (sabotage) (09-02-1983) (atari, jerome domurat, howard scott warshaw) (cx26119) (prototype).bin" size="8192" crc="c359c13d" sha1="85752ac6eb7045a9083425cd166609882a1c2c58" offset="0" /> </dataarea> @@ -12945,6 +13292,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="saboteur (sabotage) (12-20-1983) (atari, jerome domurat, howard scott warshaw) (cx26119) (prototype).bin" size="8192" crc="7efe0286" sha1="90cd987ccaffb428e53ffd98563dbbe3babd2e73" offset="0" /> </dataarea> @@ -12957,6 +13305,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="save mary! (saving mary) (04-03-1989) (atari - axlon, tod frye) (cx26178) (prototype).bin" size="16384" crc="ef858ab2" sha1="1ddedcf4ffe4fc96a2870e11d9cca5fc73e93f59" offset="0" /> </dataarea> @@ -12970,6 +13319,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="save mary! (saving mary) (10-24-1991) (atari - axlon, tod frye) (cx26178) (prototype) (pal).bin" size="16384" crc="eb2e801d" sha1="44357b828b3214441d702d4912a1949951d80472" offset="0" /> </dataarea> @@ -12983,6 +13333,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="save mary! (saving mary) (11-21-1989) (atari - axlon, tod frye) (cx26178) (prototype).bin" size="16384" crc="01e18f53" sha1="ecd8ef49ae23ddd3e10ec60839b95c8e7764ea27" offset="0" /> </dataarea> @@ -13282,6 +13633,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="secret quest (1989) (atari - axlon, steve defrisco) (cx26170).bin" size="16384" crc="93c9eb47" sha1="af11f1666d345267196a1c35223727e2ef93483a" offset="0" /> </dataarea> @@ -13295,6 +13647,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="secret quest (1989) (atari - axlon, steve defrisco) (cx26170, cx26170p) (pal).bin" size="16384" crc="f4337a77" sha1="8439f2f829152a4bac27736102ae131eac376d0e" offset="0" /> </dataarea> @@ -13318,6 +13671,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="sentinel (light gun) (1990) (atari, david lubar) (cx26183).bin" size="16384" crc="d457b245" sha1="fcf5f8a7d6e59a339c2002e3d4084d87deb670fe" offset="0" /> </dataarea> @@ -13364,6 +13718,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="shooting arcade (light gun) (09-19-1989) (atari - axlon, tod frye) (cx26169) (prototype).bin" size="16384" crc="6f6fb3d6" sha1="6e6daa34878d3e331c630359c7125a4ffba1b22d" offset="0" /> </dataarea> @@ -13377,6 +13732,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="shooting arcade (light gun) (01-16-1990) (atari - axlon, tod frye) (cx26169) (prototype) (pal).bin" size="16384" crc="1aee6f09" sha1="f20ab57ad7ca60c566376409c8f94c9f1b4003bd" offset="0" /> </dataarea> @@ -13400,6 +13756,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sinistar (02-13-1984) (atari, tod frye) (cx26122) (prototype).bin" size="8192" crc="8e81a2a4" sha1="242fc23def80da96da22c2c7238d48635489abb0" offset="0" /> </dataarea> @@ -13412,6 +13769,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sinistar (01-23-1984) (atari, tod frye) (cx26122) (prototype).bin" size="8192" crc="da33fda7" sha1="ccd50f0e4ddfae2142e4d06bee70e6084fbc4cde" offset="0" /> </dataarea> @@ -13424,6 +13782,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sinistar (01-04-1984) (atari, tod frye) (cx26122) (prototype).bin" size="8192" crc="81e73728" sha1="9c01b7577ff3d4e74b91705db8d8c97ada331087" offset="0" /> </dataarea> @@ -13436,6 +13795,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sinistar (1984) (atari, tod frye) (cx26122) (prototype).bin" size="8192" crc="9721c332" sha1="9d342c3fb5449f887fc4e452e31ffcb0c99e83cf" offset="0" /> </dataarea> @@ -13448,6 +13808,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sir lancelot (1983) (xonox - k-tel software, anthony r. henderson) (99006, 6220).bin" size="8192" crc="eb792891" sha1="fb4008b13cb9957ce5e2ce1555c7aecac9e773cc" offset="0" /> </dataarea> @@ -13460,6 +13821,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sir lancelot (1983) (xonox - k-tel software, anthony r. henderson) (99006, 6220) (pal).bin" size="8192" crc="bb4d1430" sha1="cfac3bbe45af5f2027abe32c3a59d2fad29ef9b4" offset="0" /> </dataarea> @@ -13472,6 +13834,7 @@ Info from Atariage and Atarimania <publisher>Absolute Entertainment</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="skate boardin' (1987) (absolute entertainment, david crane) (ag-042-02, ag-042-04).bin" size="8192" crc="6ee721f7" sha1="a26fe0b5a43fe8116ab0ae6656d6b11644d871ec" offset="0" /> </dataarea> @@ -13484,6 +13847,7 @@ Info from Atariage and Atarimania <publisher>Absolute Entertainment</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="skate boardin' (1987) (absolute entertainment, david crane) (eaz-042-04b, eaz-042-04i) (pal).bin" size="8192" crc="28180111" sha1="24a0eb23dedc8ecc4e3b6cef642d3704824fd1ec" offset="0" /> </dataarea> @@ -13606,6 +13970,7 @@ Info from Atariage and Atarimania <publisher>Imagic</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sky patrol (aerial ace) (1982) (imagic, brad stewart) (720106-1a, ia3409) (prototype).bin" size="8192" crc="a1ecdf0e" sha1="fc5f1e30db3b2469c9701dadfa95f3268fd1e4cb" offset="0" /> </dataarea> @@ -13684,6 +14049,7 @@ Info from Atariage and Atarimania <publisher>HES</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="smash hit pak - frogger, boxing, seaquest, skiing, stampede (hes) (498) (pal).bin" size="16384" crc="8d3417f5" sha1="d5f7da871d8e2af6f474f05700bd62826b01d8cd" offset="0" /> </dataarea> @@ -13696,6 +14062,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="smurf - rescue in gargamel's castle (smurf, smurf action) (1982) (coleco, henry will iv) (2465).bin" size="8192" crc="e0624a7f" sha1="530c7883fed4c5b9d78e35d48770b56e328999a3" offset="0" /> </dataarea> @@ -13708,6 +14075,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="smurf - schtroumpfs - pitufo (1982) (cbs electronics, henry will iv) (4l1767, 4l1768, 4l1769, 4l1770) (pal).bin" size="8192" crc="d8666b94" sha1="716ac30bf2fc998851d3ad1d69bcd8c1ca2b3a5b" offset="0" /> </dataarea> @@ -13720,6 +14088,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="smurfs save the day (kid vid voice module) (1983) (coleco) (2511).bin" size="8192" crc="ad89c697" sha1="c0ae3965fcfab0294f770af0af57d7d1adc17750" offset="0" /> </dataarea> @@ -13776,6 +14145,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="snoopy and the red baron (1983) (atari, richard dobbis, nick 'sandy maiwald' turner) (cx26111).bin" size="8192" crc="d1039967" sha1="972bc0a77e76f3e4e1270ec1c2fc395e9826bc07" offset="0" /> </dataarea> @@ -13788,6 +14158,7 @@ Info from Atariage and Atarimania <publisher>Intellivision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="snoopy and the red baron (canal 3 - intellivision) (c 3007).bin" size="8192" crc="5cd16af5" sha1="6163d36632a5e313bf4439ed2d3b9bf9b372da23" offset="0" /> </dataarea> @@ -13800,6 +14171,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="snoopy and the red baron (cce).bin" size="8192" crc="576c6c44" sha1="687a0c9b90bd47d9e0562ac95636af09705198a4" offset="0" /> </dataarea> @@ -13812,6 +14184,7 @@ Info from Atariage and Atarimania <publisher>Digivision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="snoopy (aka snoopy and the red baron) (digivision).bin" size="8192" crc="0ecf6fc4" sha1="8b016e23faaebb6d096abd7a6436b6d5ce9fb0bc" offset="0" /> </dataarea> @@ -13824,6 +14197,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="snoopy and the red baron (1983) (atari, richard dobbis, nick 'sandy maiwald' turner) (cx26111) (pal).bin" size="8192" crc="82947a46" sha1="0dabf54ff855418fbce2a70badf7161d985e4fe5" offset="0" /> </dataarea> @@ -13836,6 +14210,7 @@ Info from Atariage and Atarimania <publisher>Century</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="snoopy (aka snoopy and the red baron) (1983) (century) (pal).bin" size="8192" crc="35310cbd" sha1="85d72072bfe2219fef912b7e2cf36d851e5efe86" offset="0" /> </dataarea> @@ -13848,6 +14223,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="snoopy and the red baron (05-27-1983) (atari, richard dobbis, nick 'sandy maiwald' turner) (cx26111) (prototype).bin" size="8192" crc="ca0fedaa" sha1="a44b8d17b64a53d60aaca21324b540d3d11d2833" offset="0" /> </dataarea> @@ -13860,6 +14236,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8sw" /> <dataarea name="rom" size="8192"> <rom name="snow white and the seven dwarfs (02-09-1983) (atari, greg easter, mimi nyden) (cx26107) (prototype).bin" size="8192" crc="4736c654" sha1="2c35fd54cd18e1a8b4eb26126875cb0cf8a58b19" offset="0" /> </dataarea> @@ -13872,6 +14249,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="snow white and the seven dwarfs (11-09-1982) (atari, greg easter, mimi nyden) (cx26107) (prototype).bin" size="8192" crc="38598a9a" sha1="5c968c6dc0db6564f4ea83a543c0bd7c3efd1032" offset="0" /> </dataarea> @@ -13895,6 +14273,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="solar fox (1983) (cbs electronics, bob curtiss) (4l 2487 5000).bin" size="8192" crc="d2ca6ce8" sha1="09ea74f14db8d21ea785d0c8209ed670e4ce88be" offset="0" /> </dataarea> @@ -13907,6 +14286,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="solar fox (1983) (cbs electronics, bob curtiss) (4l1845, 4l1852, 4l1853, 4l1854) (pal).bin" size="8192" crc="990046f2" sha1="83c45b60ba4d175cad6d6559ecfc62f92fdd3c22" offset="0" /> </dataarea> @@ -13941,6 +14321,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="solaris (universe, the last starfighter) (1986) (atari, douglas neubauer) (cx26136).bin" size="16384" crc="2b87850e" sha1="33b16fbc95c2cdc52d84d98ca471f10dae3f9dbf" offset="0" /> </dataarea> @@ -13953,6 +14334,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="solaris (universe, the last starfighter) (1986) (atari, douglas neubauer) (cx26136) (pal).bin" size="16384" crc="b1e6acb6" sha1="260aac37ff3d6152209c24efe82669fe871a1342" offset="0" /> </dataarea> @@ -13976,6 +14358,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sorcerer's apprentice (1983) (atari, jerome domurat, peter c. niday, robert vieira) (cx26109).bin" size="8192" crc="e5dbfed1" sha1="ae3009e921f23254bb71f67c8cb2d7d6de2845a5" offset="0" /> </dataarea> @@ -13988,6 +14371,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sorcerer's apprentice (1983) (atari, jerome domurat, peter c. niday, robert vieira) (cx26109) (prototype) [a].bin" size="8192" crc="22682f1e" sha1="5df004890ce6d8af1986d3c7c2934f7aa85159b9" offset="0" /> </dataarea> @@ -14000,6 +14384,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sorcerer's apprentice (1983) (atari, jerome domurat, peter c. niday, robert vieira) (cx26109) (pal).bin" size="8192" crc="b8892afc" sha1="33f2c1454f28974d0e1f67ef2ce216c9cf8202c8" offset="0" /> </dataarea> @@ -14012,6 +14397,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="sorcerer's apprentice (1983) (atari, jerome domurat, peter c. niday, robert vieira) (cx26109) (prototype).bin" size="8192" crc="efc5943f" sha1="73335561c65984d722d77b424221da7d302b241d" offset="0" /> </dataarea> @@ -14256,6 +14642,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="space shuttle - a journey into space (1983) (activision, steve 'jessica' kitchen) (az-033, az-033-04).bin" size="8192" crc="dd210cf3" sha1="bcec5a66f8dff1a751769626b0fce305fab44ca2" offset="0" /> </dataarea> @@ -14268,6 +14655,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FE" /> + <feature name="slot" value="a26_fe" /> <dataarea name="rom" size="8192"> <rom name="space shuttle - a journey into space (1983) (activision, steve 'jessica' kitchen) (az-033, az-033-04) [fe bankswitching].bin" size="8192" crc="123f2a0b" sha1="8c905ec69e8831c18addc5f72a47323cd24c17bd" offset="0" /> </dataarea> @@ -14280,6 +14668,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FE" /> + <feature name="slot" value="a26_fe" /> <dataarea name="rom" size="8192"> <rom name="space shuttle - a journey into space - eine reise ins all (1983) (activision, steve 'jessica' kitchen - ariola) (eaz-033 - 711 033-725) (pal).bin" size="8192" crc="600e7c77" sha1="3e9cd06cba4d79a9bc04faf79977b01d4947f935" offset="0" /> </dataarea> @@ -14578,6 +14967,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="spike's peak (1983) (xonox - k-tel software - beck-tech) (6210, 7210, 06003. 99001).bin" size="8192" crc="50efea8d" sha1="205241a12778829981e9281d9c6fa137f11e1376" offset="0" /> </dataarea> @@ -14590,6 +14980,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="spike's peak (1983) (xonox - k-tel software - beck-tech) (6210, 7210, 06003. 99001) (pal).bin" size="8192" crc="13537536" sha1="3b9868cf925a5e5ee5ddee5f2582d5e1899dade2" offset="0" /> </dataarea> @@ -14646,6 +15037,7 @@ Info from Atariage and Atarimania <publisher>HES</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="sports action pak - enduro, ice hockey, fishing derby, dragster (1988) (hes - activision) (pal).bin" size="16384" crc="cf886fa5" sha1="2988421b5d6121bce71469b8e4f37b0c4b970974" offset="0" /> </dataarea> @@ -14658,6 +15050,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="springer (1982) (tigervision) (7-006).bin" size="8192" crc="dd183a4f" sha1="6da0aa8aa40cd9c78dc014deb9074529688d91d0" offset="0" /> </dataarea> @@ -14670,6 +15063,7 @@ Info from Atariage and Atarimania <publisher>Tigervision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="3F" /> + <feature name="slot" value="a26_3f" /> <dataarea name="rom" size="8192"> <rom name="springer (1982) (tigervision - teldec) (7-006 - 3.60008 vg) (pal).bin" size="8192" crc="3025541e" sha1="ca0dcbd92e9dbfebc5bc211d7ace0e5c7c238331" offset="0" /> </dataarea> @@ -14683,6 +15077,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="sprint master (sprint 88, sprint 2600) (1988) (atari, robert c. polaro) (cx26155).bin" size="16384" crc="c495904e" sha1="c0e29b86fc1cc41a1c8afa37572c3c5698ae70b2" offset="0" /> </dataarea> @@ -14696,6 +15091,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="sprint master (sprint 88, sprint 2600) (1988) (atari, robert c. polaro) (cx26155p) (pal).bin" size="16384" crc="040f0b14" sha1="dcaac1fac0fe15aaa4553c2fa02b923a6dfb6880" offset="0" /> </dataarea> @@ -14708,6 +15104,7 @@ Info from Atariage and Atarimania <publisher><unknown></publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="spy hunter (dual control module) (1984) (sega, jeff lorenz - bally midway) (011-01, 011-02).bin" size="8192" crc="4f804e49" sha1="1d0acf064d06a026a04b6028285db78c834e9854" offset="0" /> </dataarea> @@ -14852,6 +15249,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="star raiders (video touch pad) (1982) (atari, carla meninsky - sears) (cx2660 - 49-75187).bin" size="8192" crc="2ae193ee" sha1="e10cce1a438c82bd499e1eb31a3f07d7254198f5" offset="0" /> </dataarea> @@ -14864,6 +15262,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="star raiders (video touch pad) (1982) (atari, carla meninsky) (cx2660) (pal).bin" size="8192" crc="ff59b8e2" sha1="7c2a2ddbdef639ed2985ce66ae717b2285a94ae0" offset="0" /> </dataarea> @@ -14920,6 +15319,7 @@ Info from Atariage and Atarimania <publisher>Sega</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="star trek - strategic operations simulator (1983) (sega, jeff lorenz) (004-01).bin" size="8192" crc="820ea8a2" sha1="61a3ebbffa0bfb761295c66e189b62915f4818d9" offset="0" /> </dataarea> @@ -14932,6 +15332,7 @@ Info from Atariage and Atarimania <publisher>Sega</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="star trek - strategic operations simulator (1983) (sega, jeff lorenz - teldec) (004-01) (pal).bin" size="8192" crc="031e509f" sha1="667a528e8cf3fd7f533cf67993f48bcc3c100e0d" offset="0" /> </dataarea> @@ -15010,6 +15411,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="star wars - return of the jedi - death star battle (revenge of the jedi - game ii) (1983) (parker brothers, ray miller, todd marshall) (pb5060).bin" size="8192" crc="0886a55d" sha1="2ad9db4b5aec2da36ecc3178599b02619c3c462e" offset="0" /> </dataarea> @@ -15022,6 +15424,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="star wars - return of the jedi - death star battle (revenge of the jedi - game ii) (1983) (parker brothers, ray miller, todd marshall) (931513) (pal).bin" size="8192" crc="2a2bd248" sha1="19447d7eabdecd9984be1a2ad500ba34251c458a" offset="0" /> </dataarea> @@ -15034,6 +15437,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="star wars - return of the jedi - ewok adventure (revenge of the jedi - game i) (1983) (parker brothers, larry gelberg, gary goltz) (pb5065) (prototype) (pal).bin" size="8192" crc="d113f5fe" sha1="c9d201935bbe6373793241ba9c03cc02f1df31c9" offset="0" /> </dataarea> @@ -15046,6 +15450,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="star wars - return of the jedi - ewok adventure (revenge of the jedi - game i) (1983) (parker brothers, larry gelberg, gary goltz) (pb5065) (prototype).bin" size="8192" crc="939550e7" sha1="b759eabf0dcb112c94b9fd66451a882130667860" offset="0" /> </dataarea> @@ -15058,6 +15463,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="star wars - the arcade game (1984) (parker brothers, wilfredo 'willy' aguilar, michael becker, neil mckenzie, bob smith, brad stewart) (pb5540).bin" size="8192" crc="65c31ca4" sha1="8823fe3d8e3aeadc6b61ca51914e3b15aa13801c" offset="0" /> </dataarea> @@ -15070,6 +15476,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="star wars - the arcade game (1984) (parker brothers, wilfredo 'willy' aguilar, michael becker, neil mckenzie, bob smith, brad stewart) (pb5540) (pal).bin" size="8192" crc="273bda48" sha1="914eb4529f5fa044516ba2cf5a606e847cbf0d15" offset="0" /> </dataarea> @@ -15093,6 +15500,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="star wars - the arcade game (04-05-1984) (parker brothers, wilfredo 'willy' aguilar, michael becker, neil mckenzie, bob smith, brad stewart) (pb5540) (prototype) (8k).bin" size="8192" crc="47efd61d" sha1="e3c6f3dd4390fb60d88a05ef084947574d313ba5" offset="0" /> </dataarea> @@ -15161,6 +15569,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="stargate (1984) (atari, andrew fuchs) (cx26120).bin" size="8192" crc="cde3530e" sha1="4f87be0ef16a1d0389226d1fbda9b4c16b06e13e" offset="0" /> </dataarea> @@ -15174,6 +15583,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="stargate (1984) (atari, bill aspromonte, andrew fuchs) (cx26120) (pal).bin" size="8192" crc="d3f6a968" sha1="07920046ed55519797274117f2f8c8c7e530f623" offset="0" /> </dataarea> @@ -15450,6 +15860,7 @@ Info from Atariage and Atarimania <publisher>Imagic</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="subterranea (tarantula) (1983) (imagic, mark klein) (720112-1a, 03213).bin" size="8192" crc="2ab951f7" sha1="2abc6bbcab27985f19e42915530fd556b6b1ae23" offset="0" /> </dataarea> @@ -15462,6 +15873,7 @@ Info from Atariage and Atarimania <publisher>Imagic</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="subterranea (tarantula) (1983) (imagic, mark klein) (eiz-003-04i) (pal).bin" size="8192" crc="6c74afed" sha1="47a846bce53f739ec2cf5774fe09d70e755111af" offset="0" /> </dataarea> @@ -15474,6 +15886,7 @@ Info from Atariage and Atarimania <publisher>Epyx</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="summer games (1987) (epyx, steven a. baker, tod frye, peter engelbrite) (80561-00250).bin" size="16384" crc="b9cd3f86" sha1="65f4a708e6af565f1f75d0fbdc8942cb149cf299" offset="0" /> </dataarea> @@ -15486,6 +15899,7 @@ Info from Atariage and Atarimania <publisher>Epyx</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="summer games (1987) (epyx, steven a. baker, tod frye, peter engelbrite) (80561-00250) (pal).bin" size="16384" crc="0c3c5ba9" sha1="3b5345fa194e449b27d014cc9934b662493dc9ba" offset="0" /> </dataarea> @@ -15498,6 +15912,7 @@ Info from Atariage and Atarimania <publisher>HES</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="super action pak - pitfall, barnstorming, grand prix, laser blast (1988) (hes - activision) (223) (pal).bin" size="16384" crc="f305ba47" sha1="0fd7b46d7e1c5eeea68108d0bb92ec3872ab3d56" offset="0" /> </dataarea> @@ -15510,6 +15925,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="super baseball (1988) (atari, joseph tung) (cx26152).bin" size="16384" crc="2245f170" sha1="b066a60ea1df1db0a55271c7608b0e19e4d18a1e" offset="0" /> </dataarea> @@ -15522,6 +15938,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="super baseball (1988) (atari, joseph tung) (cx26152) (pal).bin" size="16384" crc="c3704b73" sha1="4c83731258126ecc7044155d17995601109a6f69" offset="0" /> </dataarea> @@ -15534,6 +15951,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="super baseball (aka realsports baseball) (cce).bin" size="8192" crc="bff44c80" sha1="8c8738fabdc3b42046e3c9c219f38dd5b7051952" offset="0" /> </dataarea> @@ -15546,6 +15964,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="super box (aka realsports boxing) (cce).bin" size="16384" crc="0b629d9b" sha1="bdc2b5517072a15f65683c662ea5344bcba8a092" offset="0" /> </dataarea> @@ -15602,6 +16021,7 @@ Info from Atariage and Atarimania <publisher>Arcadia Corporation ~ Starpath Corporation</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="SS" /> + <feature name="slot" value="a26_ss" /> <dataarea name="rom" size="2048"> <rom name="starpath supercharger.bin" size="2048" crc="c3a3f073" sha1="cd9d030a59f5bdcc88f1f80a6cc9fc2cd932f7db" offset="0" /> </dataarea> @@ -15614,6 +16034,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="super cobra (1982) (parker brothers, mike brodie) (pb5320).bin" size="8192" crc="de97103d" sha1="bac0a0256509f8fd1feea93d74ba4c7d82c1edc6" offset="0" /> </dataarea> @@ -15626,6 +16047,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="super cobra (1982) (parker brothers, mike brodie) (931505) (pal).bin" size="8192" crc="380d78b3" sha1="3ea967933740da36f47c04b269587da134a93c34" offset="0" /> </dataarea> @@ -15672,6 +16094,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="super football (1988) (atari, douglas neubauer) (cx26154).bin" size="16384" crc="c9b16f3c" sha1="eaca6b474fd552ab4aaf75526618828165a91934" offset="0" /> </dataarea> @@ -15684,6 +16107,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="super futebol (aka realsports football) (cce).bin" size="8192" crc="676a7a8f" sha1="c80d497a99b2fe1e3ce6ea635f71a2337e67c3d5" offset="0" /> </dataarea> @@ -15697,6 +16121,7 @@ Info from Atariage and Atarimania <part name="cart" interface="a2600_cart"> <!-- SuperChip --> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="super football (1988) (atari, douglas neubauer) (cx26154, cx26154p) (pal).bin" size="16384" crc="d3004956" sha1="fa8db954eff4302ec518aaf7a477a073c1967a08" offset="0" /> </dataarea> @@ -15709,6 +16134,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="super futebol (aka realsports soccer) (cce).bin" size="8192" crc="dd18b531" sha1="484d97e78ff832edca5382f31e084497e591cc72" offset="0" /> </dataarea> @@ -15721,6 +16147,7 @@ Info from Atariage and Atarimania <publisher>HES</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="super hit pak - river raid, sky jinks, grand prix, fishing derby, checkers (hes - activision) (pal).bin" size="16384" crc="c82fec7c" sha1="c078eb24cc8c9a504089147e80586a4edb303e0e" offset="0" /> </dataarea> @@ -15733,6 +16160,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="super kung-fu (1983) (xonox - k-tel software) (6230, 6250) (pal).bin" size="8192" crc="2c94f6e8" sha1="50164dddbae3172bfa3a6ed2aaf3d5387ed7314d" offset="0" /> </dataarea> @@ -15745,6 +16173,7 @@ Info from Atariage and Atarimania <publisher>Digivision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="super soccer (aka realsports soccer) (digivision).bin" size="8192" crc="c1f30e80" sha1="b7df23296af495bb453cefb8e92ed84e4bc45c14" offset="0" /> </dataarea> @@ -15757,6 +16186,7 @@ Info from Atariage and Atarimania <publisher>VGS</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="super tenis (aka realsports tennis) (vgs).bin" size="8192" crc="107de061" sha1="2541d87fa902f04ef373823561f4973ffaa34940" offset="0" /> </dataarea> @@ -15769,6 +16199,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="super tennis (aka realsports tennis) (1983) (cce) (c-1005).bin" size="8192" crc="7070af33" sha1="bab9297ee2baf770f4649b8555e52edf579d6191" offset="0" /> </dataarea> @@ -15781,6 +16212,7 @@ Info from Atariage and Atarimania <publisher>Tron</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="super tennis (aka realsports tennis) (tron).bin" size="8192" crc="8203b40e" sha1="ed90365800db9467fda66462b9ac83eb04a40eab" offset="0" /> </dataarea> @@ -15870,6 +16302,7 @@ Info from Atariage and Atarimania <publisher>Amiga</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="surf's up (joyboard) (1983) (amiga) (3125) (prototype).bin" size="8192" crc="0cfd04d9" sha1="cf84e21ada55730d689cfac7d26e2295317222bc" offset="0" /> </dataarea> @@ -15882,6 +16315,7 @@ Info from Atariage and Atarimania <publisher>Amiga</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="surf's up (joyboard) (1983) (amiga) (3125) (prototype) [a].bin" size="8192" crc="f5030c8c" sha1="9c11b5b0f75b11eea116cc80f60d49e20289637b" offset="0" /> </dataarea> @@ -15960,6 +16394,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="swordquest - earthworld (adventure i, swordquest i - earthworld) (1982) (atari, dan hitchens) (cx2656).bin" size="8192" crc="9031a479" sha1="3deb650ae26b86e250aea8f7ca6d0674e6498ebb" offset="0" /> </dataarea> @@ -15972,6 +16407,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="swordquest - earthworld (adventure i, swordquest i - earthworld) (1982) (atari, dan hitchens) (cx2656) (pal).bin" size="8192" crc="425a9e41" sha1="d89ff9b3f548fa496c215cde4c18bc2f3ccef3ef" offset="0" /> </dataarea> @@ -15984,6 +16420,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="swordquest - fireworld (adventure ii, swordquest ii - fireworld) (1982) (atari, tod frye) (cx2657).bin" size="8192" crc="6ae46a0c" sha1="5c3cf976edbea5ded66634a284787f965616d97e" offset="0" /> </dataarea> @@ -15996,6 +16433,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="swordquest - fireworld (adventure ii, swordquest ii - fireworld) (1982) (atari, tod frye) (cx2657) (pal).bin" size="8192" crc="78aba21c" sha1="a6fa78edff6b7b61c7b527fe7b6978eb371081ed" offset="0" /> </dataarea> @@ -16008,6 +16446,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="swordquest - waterworld (1983) (atari, tod frye) (cx2671).bin" size="8192" crc="ca7b4685" sha1="569fcb67ca1674b48e2f3a2e7af7077a374402de" offset="0" /> </dataarea> @@ -16108,6 +16547,7 @@ Info from Atariage and Atarimania <publisher>Sega</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="tapper (1984) (sega - bally midway - beck-tech) (010-01).bin" size="8192" crc="d28afb2c" sha1="e986e1818e747beb9b33ce4dff1cdc6b55bdb620" offset="0" /> </dataarea> @@ -16164,6 +16604,7 @@ Info from Atariage and Atarimania <publisher>American Videogame</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="tax avoiders (1982) (american videogame - dunhill electronics, darrell wagner, todd clark holm, john simonds).bin" size="8192" crc="468d734c" sha1="7aaf6be610ba6ea1205bdd5ed60838ccb8280d57" offset="0" /> </dataarea> @@ -16176,6 +16617,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="taz (tazz) (07-15-1983) (atari, jerome domurat, steve woita) (cx2699) (prototype).bin" size="8192" crc="8e4df9d5" sha1="670b3dede2702c96494636b6d7f4ae8112501cb4" offset="0" /> </dataarea> @@ -16188,6 +16630,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="taz (tazz) (07-13-1983) (atari, jerome domurat, steve woita) (cx2699) (prototype).bin" size="8192" crc="abbdc217" sha1="ffa79f03bb93d51ce6801d675a6221dcd0df4d61" offset="0" /> </dataarea> @@ -16200,6 +16643,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="taz (tazz) (1983) (atari, jerome domurat, steve woita) (cx2699) (prototype).bin" size="8192" crc="dcd3e0de" sha1="0bcfd8aa6c33d601c2240850f1188407e2f47331" offset="0" /> </dataarea> @@ -16212,6 +16656,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="taz (tazz) (1983) (atari, jerome domurat, steve woita) (cx2699) (prototype) [a].bin" size="8192" crc="e6862a1c" sha1="c85ef597d56ee08d291597ecf6808427d93059c9" offset="0" /> </dataarea> @@ -16224,6 +16669,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="taz (tazz) (06-15-1983) (atari, jerome domurat, steve woita) (cx2699) (prototype) (pal).bin" size="8192" crc="144b44eb" sha1="2725ee79a5574243302e7a3d32de433696f597e5" offset="0" /> </dataarea> @@ -16247,6 +16693,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="telepathy (mindlink controller) (1983) (atari, dan oliver) (prototype).bin" size="8192" crc="a0996a0d" sha1="7efc0ebe334dde84e25fa020ecde4fddcbea9e8f" offset="0" /> </dataarea> @@ -16270,6 +16717,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="tempest (01-05-1984) (atari, carla meninsky) (cx2687) (prototype).bin" size="8192" crc="711647f6" sha1="bf4d570c1c738a4d6d00237e25c62e9c3225f98f" offset="0" /> </dataarea> @@ -16436,6 +16884,7 @@ Info from Atariage and Atarimania <publisher>Activision</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FE" /> + <feature name="slot" value="a26_fe" /> <dataarea name="rom" size="8192"> <rom name="thwocker (04-09-1984) (activision, charlie heath) (prototype).bin" size="8192" crc="b60ab310" sha1="53ee70d4b35ee3df3ffb95fa360bddb4f2f56ab2" offset="0" /> </dataarea> @@ -16448,6 +16897,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="time pilot (1983) (coleco, harley h. puthuff jr.) (2663).bin" size="8192" crc="21ee7db4" sha1="387358514964d0b6b55f9431576a59b55869f7ab" offset="0" /> </dataarea> @@ -16526,6 +16976,7 @@ Info from Atariage and Atarimania <publisher>Absolute Entertainment</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="title match pro wrestling (1987) (absolute entertainment, alex demeo) (ag-041-04).bin" size="8192" crc="ef708c03" sha1="979d9b0b0f32b40c0a0568be65a0bc5ef36ca6d0" offset="0" /> </dataarea> @@ -16538,6 +16989,7 @@ Info from Atariage and Atarimania <publisher>Absolute Entertainment</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="title match pro wrestling - pro wrestling (1987) (absolute entertainment, alex demeo) (eaz-041-04i) (pal).bin" size="8192" crc="a2943d1b" sha1="b5e9e207d02456e7eccf3ae9b7df60777bb3fb67" offset="0" /> </dataarea> @@ -16572,6 +17024,7 @@ Info from Atariage and Atarimania <publisher>Xonox</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="tomarc the barbarian (thundarr the barbarian) (1983) (99007, 6240) (xonox - k-tel software, anthony r. henderson).bin" size="8192" crc="b5b5ac84" sha1="489c9b572535721a0516a2b759e0b9c7f7a5b3cc" offset="0" /> </dataarea> @@ -16584,6 +17037,7 @@ Info from Atariage and Atarimania <publisher>Absolute Entertainment</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="tomcat - the f-14 fighter simulator (1988) (absolute entertainment, dan kitchen) (ak-046-04).bin" size="16384" crc="8987c473" sha1="5b2742281fea96ab6a3a2f30e676352bcf424390" offset="0" /> </dataarea> @@ -16596,6 +17050,7 @@ Info from Atariage and Atarimania <publisher>DSD-Camelot</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="tooth protectors (1983) (dsd-camelot - johnson & johnson).bin" size="8192" crc="fd8c81e5" sha1="d82ac7237df54cc8688e3074b58433a7dd6b7d11" offset="0" /> </dataarea> @@ -16630,6 +17085,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="track and field (los angeles 1984 games) (track & field controller) (1984) (atari - gcc, jaques hugon, seth lipkin) (cx26125, cx26127).bin" size="16384" crc="21827056" sha1="005a6a53f5a856f0bdbca519af1ef236aaa1494d" offset="0" /> </dataarea> @@ -16719,6 +17175,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FA" /> + <feature name="slot" value="a26_fa" /> <dataarea name="rom" size="12288"> <rom name="tunnel runner (black box) (1983) (cbs electronics, richard k. balaska jr., andy frank, stuart ross) (4l 2520 5000).bin" size="12288" crc="a02745f8" sha1="fc1a0b58765a7dcbd8e33562e1074ddd9e0ac624" offset="0" /> </dataarea> @@ -16731,6 +17188,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FA" /> + <feature name="slot" value="a26_fa" /> <dataarea name="rom" size="12288"> <rom name="tunnel runner (black box) (1983) (cbs electronics, richard k. balaska jr., andy frank, stuart ross) (4l 2520 5000) (prototype).bin" size="12288" crc="bd2d975a" sha1="af202ee515b41113660bdf4500802108b12f85a3" offset="0" /> </dataarea> @@ -16776,6 +17234,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="tutankham (1983) (parker brothers, dave engman, dawn stockbridge) (pb5340).bin" size="8192" crc="ec959bf2" sha1="a4d6bac854a70d2c55946932f1511cc62db7d4aa" offset="0" /> </dataarea> @@ -16788,6 +17247,7 @@ Info from Atariage and Atarimania <publisher>Parker Brothers</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="E0" /> + <feature name="slot" value="a26_e0" /> <dataarea name="rom" size="8192"> <rom name="tutankham (1983) (parker brothers, dave engman, dawn stockbridge) (931509) (pal).bin" size="8192" crc="8fbe2b84" sha1="d205e4c73c64335e1878b78f970c5fb52060c7db" offset="0" /> </dataarea> @@ -16866,6 +17326,7 @@ Info from Atariage and Atarimania <publisher>Universal</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="unknown universal game (1983) (universal) (prototype).bin" size="8192" crc="0748817d" sha1="3da6a2cc699945f708dac4e880ff6e085c635bbd" offset="0" /> </dataarea> @@ -16878,6 +17339,7 @@ Info from Atariage and Atarimania <publisher>Sega</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="up 'n down (1984) (sega, phat ho - bally midway - beck-tech) (009-01).bin" size="8192" crc="c04c2b58" sha1="6bde671a50330af154ed15e73fdba3fa55f23d87" offset="0" /> </dataarea> @@ -16890,6 +17352,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="vanguard (1982) (atari - gcc, dave payne) (cx2669).bin" size="8192" crc="c4bec521" sha1="01475d037cb7a2a892be09d67083102fa9159216" offset="0" /> </dataarea> @@ -16902,6 +17365,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="vanguard (cce).bin" size="8192" crc="df029ac5" sha1="5e01dba1f423bb3b32b51b15fc31827d25d4f8df" offset="0" /> </dataarea> @@ -16914,6 +17378,7 @@ Info from Atariage and Atarimania <publisher>VGS</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="vanguard (vgs).bin" size="8192" crc="40f2636c" sha1="44920bd0599873c77ab17f36ff49e215cbf92917" offset="0" /> </dataarea> @@ -16926,6 +17391,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="vanguard (1982) (atari - gcc, dave payne) (cx2669, cx2669p) (pal).bin" size="8192" crc="f8ca90ae" sha1="1a44918fa764da8dde97a7543a181ccf6756868b" offset="0" /> </dataarea> @@ -16938,6 +17404,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="vanguard (1982) (atari - gcc, dave payne) (cx2669) (prototype).bin" size="8192" crc="434b17db" sha1="e41c37d2f5cca3c788f9d47a9fa642e01d35a827" offset="0" /> </dataarea> @@ -17082,6 +17549,7 @@ Info from Atariage and Atarimania <publisher>CommaVid</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="CV" /> + <feature name="slot" value="a26_cv" /> <dataarea name="rom" size="2048"> <rom name="video life (1981) (commavid, john bronstein) (cm-002).bin" size="2048" crc="34b0b5c2" sha1="3b18db73933747851eba9a0ffa3c12b9f602a95c" offset="0" /> </dataarea> @@ -17095,6 +17563,7 @@ Info from Atariage and Atarimania <publisher>CommaVid</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="CV" /> + <feature name="slot" value="a26_cv" /> <dataarea name="rom" size="2048"> <rom name="video life (1981) (commavid, john bronstein) (cm-002) [higher sounds].bin" size="2048" crc="bb1249a9" sha1="08c7c4ab5b25c008cc8a87fb1406b7d12df56124" offset="0" /> </dataarea> @@ -17294,6 +17763,7 @@ Info from Atariage and Atarimania <publisher>HES</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="wall defender (aka wall break) (hes) (pal).bin" size="8192" crc="0427d55e" sha1="009a42d71262d3267ae315a392519664cc2f24b4" offset="0" /> </dataarea> @@ -17394,6 +17864,7 @@ Info from Atariage and Atarimania <publisher>Imagic</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="wing war (flap) (1983) (imagic, michael greene) (eiz-002-04i) (pal).bin" size="8192" crc="cfebef9e" sha1="1ce2426a1a71ebac81709c88eb30e461b29158e2" offset="0" /> </dataarea> @@ -17406,6 +17877,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FA" /> + <feature name="slot" value="a26_fa" /> <dataarea name="rom" size="12288"> <rom name="wings (10-10-1983) (cbs electronics, stuart ross) (prototype) (pal).bin" size="12288" crc="dd0aa66f" sha1="3e63feca31fb98cc46fdfe90ec69e4937f9defa6" offset="0" /> </dataarea> @@ -17418,6 +17890,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="FA" /> + <feature name="slot" value="a26_fa" /> <dataarea name="rom" size="12288"> <rom name="wings (06-03-1983) (cbs electronics, stuart ross) (prototype).bin" size="12288" crc="5e89b8af" sha1="419e7dd24c810afb8b8e555ed8489853b0bf05d8" offset="0" /> </dataarea> @@ -17430,6 +17903,7 @@ Info from Atariage and Atarimania <publisher>Epyx</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="winter games (1987) (epyx, steven a. baker, tod frye, peter engelbrite) (80561-00251).bin" size="16384" crc="ddff6850" sha1="6850d329e8ab403bdae38850665a2eff91278e92" offset="0" /> </dataarea> @@ -17442,6 +17916,7 @@ Info from Atariage and Atarimania <publisher>Epyx</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="winter games (1987) (epyx, steven a. baker, tod frye, peter engelbrite) (80561-00251) (pal).bin" size="16384" crc="964ff099" sha1="b5d3d0c0841697b940fe80eae249a884d6a889c8" offset="0" /> </dataarea> @@ -17619,6 +18094,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="xenophobe (1990) (atari) (cx26172).bin" size="16384" crc="f875c406" sha1="160b6e36437ad6acbc2686fbde1002e2fa88c5fb" offset="0" /> </dataarea> @@ -17631,6 +18107,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_f6" /> <dataarea name="rom" size="16384"> <rom name="xenophobe (1990) (atari) (cx26172) (pal).bin" size="16384" crc="3835c5c1" sha1="75039127cb7c53fa09d1c223729a4c5a521aedef" offset="0" /> </dataarea> @@ -17643,6 +18120,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="xevious (08-02-1983) (atari, tod frye) (cx2695) (prototype).bin" size="8192" crc="2ef09f4a" sha1="73133b81196e5cbc1cec99eefc1223ddb8f4ca83" offset="0" /> </dataarea> @@ -17655,6 +18133,7 @@ Info from Atariage and Atarimania <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="xevious (05-25-1983) (atari, tod frye) (cx2695) (prototype).bin" size="8192" crc="d6867b22" sha1="fac29f21b711d31e3ffc21dfdcafef05aafabf02" offset="0" /> </dataarea> @@ -17667,6 +18146,7 @@ Info from Atariage and Atarimania <publisher>CCE</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="xevious (cce).bin" size="8192" crc="8bd51ecc" sha1="c4f956cc6a78f3d7b5c2fb16de58ed7cdb6c82a8" offset="0" /> </dataarea> @@ -17736,6 +18216,7 @@ Info from Atariage and Atarimania <publisher>Coleco</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="zaxxon (1982) (coleco) (2454).bin" size="8192" crc="265aa87f" sha1="58c2f6abc5599cd35c0e722f24bcc128ac8f9a30" offset="0" /> </dataarea> @@ -17748,6 +18229,7 @@ Info from Atariage and Atarimania <publisher>CBS Electronics</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F8" /> + <feature name="slot" value="a26_f8" /> <dataarea name="rom" size="8192"> <rom name="zaxxon (1982) (cbs electronics) (4l1784, 4l1786, 4l2277) (pal).bin" size="8192" crc="e8785b76" sha1="fe5e7f026b3154a222244fe595cfebbf8a080fcb" offset="0" /> </dataarea> @@ -17765,26 +18247,26 @@ Info from Atariage and Atarimania </part> </software> - <!-- This is here as a placeholder. It's a add-on for the a2600 and is a "bios" and need to be made into a slot-device for it --> - - <software name="compumat" supported="no"> + <software name="compumatp" cloneof="compumat" supported="no"> <description>CompuMate (PAL)</description> <year>1983</year> <publisher>Spectravideo</publisher> <part name="cart" interface="a2600_cart"> <feature name="mapper" value="F6" /> + <feature name="slot" value="a26_cm" /> <dataarea name="rom" size="16384"> <rom name="compumate (1983) (spectravideo - universum) (sv-010) (pal).bin" size="16384" crc="bed37e4f" sha1="d85daed1b5397a779e8832628979f5396650090d" offset="0" /> </dataarea> </part> </software> - <software name="compumata" cloneof="compumat" supported="no"> - <description>Compumate</description> + <software name="compumat" supported="no"> + <description>CompuMate</description> <year>1983</year> <publisher>Spectravideo</publisher> <info name="serial" value="SV-010" /> <part name="cart" interface="a2600_cart"> + <feature name="slot" value="a26_cm" /> <dataarea name="rom" size="16384"> <rom name="compumate (1983) (spectravideo) (sv-010) ~.bin" size="16384" crc="bbe1f661" sha1="1947b26419fadfc6b2c9b5d552fd3d2bd220bc61" offset="0" /> </dataarea> diff --git a/src/emu/bus/bus.mak b/src/emu/bus/bus.mak index 99475416480..9fa91b00075 100644 --- a/src/emu/bus/bus.mak +++ b/src/emu/bus/bus.mak @@ -562,18 +562,33 @@ endif #------------------------------------------------- # -#@src/emu/bus/vcs/ctrl.h,BUSES += VCS +#@src/emu/bus/vcs/vcs_slot.h,BUSES += VCS #------------------------------------------------- ifneq ($(filter VCS,$(BUSES)),) OBJDIRS += $(BUSOBJ)/vcs -BUSOBJS += $(BUSOBJ)/vcs/ctrl.o -BUSOBJS += $(BUSOBJ)/vcs/joystick.o -BUSOBJS += $(BUSOBJ)/vcs/joybooster.o -BUSOBJS += $(BUSOBJ)/vcs/keypad.o -BUSOBJS += $(BUSOBJ)/vcs/lightpen.o -BUSOBJS += $(BUSOBJ)/vcs/paddles.o -BUSOBJS += $(BUSOBJ)/vcs/wheel.o +BUSOBJS += $(BUSOBJ)/vcs/vcs_slot.o +BUSOBJS += $(BUSOBJ)/vcs/rom.o +BUSOBJS += $(BUSOBJ)/vcs/compumat.o +BUSOBJS += $(BUSOBJ)/vcs/dpc.o +BUSOBJS += $(BUSOBJ)/vcs/scharger.o +endif + + +#------------------------------------------------- +# +#@src/emu/bus/vcs/ctrl.h,BUSES += VCS_CTRL +#------------------------------------------------- + +ifneq ($(filter VCS_CTRL,$(BUSES)),) +OBJDIRS += $(BUSOBJ)/vcs_ctrl +BUSOBJS += $(BUSOBJ)/vcs_ctrl/ctrl.o +BUSOBJS += $(BUSOBJ)/vcs_ctrl/joystick.o +BUSOBJS += $(BUSOBJ)/vcs_ctrl/joybooster.o +BUSOBJS += $(BUSOBJ)/vcs_ctrl/keypad.o +BUSOBJS += $(BUSOBJ)/vcs_ctrl/lightpen.o +BUSOBJS += $(BUSOBJ)/vcs_ctrl/paddles.o +BUSOBJS += $(BUSOBJ)/vcs_ctrl/wheel.o endif diff --git a/src/emu/bus/vcs/compumat.c b/src/emu/bus/vcs/compumat.c new file mode 100644 index 00000000000..fe67e120c41 --- /dev/null +++ b/src/emu/bus/vcs/compumat.c @@ -0,0 +1,51 @@ +/*************************************************************************** + + Atari 2600 cart Spectravideo Compumate (Cart + keyboard!) + + This is tricky to implement and it is only a skeleton ATM. + The device needs to interface with both the TIA and the RIOT. + +***************************************************************************/ + + +#include "emu.h" +#include "compumat.h" + +const device_type A26_ROM_COMPUMATE = &device_creator<a26_rom_cm_device>; + + +a26_rom_cm_device::a26_rom_cm_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_COMPUMATE, "Atari 2600 ROM Cart Compumate", tag, owner, clock, "a2600_cm", __FILE__) +{ +} + +//------------------------------------------------- +// mapper specific start/reset +//------------------------------------------------- + +void a26_rom_cm_device::device_start() +{ + save_item(NAME(m_base_bank)); +} + +void a26_rom_cm_device::device_reset() +{ + m_base_bank = 3; +} + + +static INPUT_PORTS_START( keyboard ) +INPUT_PORTS_END + + +ioport_constructor a26_rom_cm_device::device_input_ports() const +{ + return INPUT_PORTS_NAME( keyboard ); +} + + + +READ8_MEMBER(a26_rom_cm_device::read_rom) +{ + return m_rom[offset + (m_base_bank * 0x1000)]; +} diff --git a/src/emu/bus/vcs/compumat.h b/src/emu/bus/vcs/compumat.h new file mode 100644 index 00000000000..d2d81fc83f0 --- /dev/null +++ b/src/emu/bus/vcs/compumat.h @@ -0,0 +1,33 @@ +#ifndef __VCS_COMPUMAT_H +#define __VCS_COMPUMAT_H + +#include "rom.h" + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> a26_rom_cm_device + +class a26_rom_cm_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_cm_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual ioport_constructor device_input_ports() const; + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + +private: +}; + + +// device type definition +extern const device_type A26_ROM_COMPUMATE; + +#endif diff --git a/src/emu/bus/vcs/dpc.c b/src/emu/bus/vcs/dpc.c new file mode 100644 index 00000000000..85d8689067d --- /dev/null +++ b/src/emu/bus/vcs/dpc.c @@ -0,0 +1,282 @@ +/*************************************************************************** + + + Atari 2600 cart with DPC chip (Pitfall II) + +***************************************************************************/ + + +#include "emu.h" +#include "dpc.h" + + +// DPC device + +const device_type ATARI_DPC = &device_creator<dpc_device>; + + +dpc_device::dpc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : device_t(mconfig, ATARI_DPC, "Atari DCP", tag, owner, clock, "atari_dcp", __FILE__), + m_displaydata(NULL) +{ +} + + +void dpc_device::device_start() +{ + m_oscillator = timer_alloc(TIMER_OSC); + m_oscillator->reset(); +} + +void dpc_device::device_reset() +{ + for (int data_fetcher = 0; data_fetcher < 8; data_fetcher++) + { + m_df[data_fetcher].osc_clk = 0; + m_df[data_fetcher].flag = 0; + m_df[data_fetcher].music_mode = 0; + } + m_oscillator->adjust(attotime::from_hz(18400), 0, attotime::from_hz(18400)); + +} + +void dpc_device::check_flag(UINT8 data_fetcher) +{ + /* Set flag when low counter equals top */ + if (m_df[data_fetcher].low == m_df[data_fetcher].top) + m_df[data_fetcher].flag = 1; + + /* Reset flag when low counter equals bottom */ + if (m_df[data_fetcher].low == m_df[data_fetcher].bottom) + m_df[data_fetcher].flag = 0; +} + +void dpc_device::decrement_counter(UINT8 data_fetcher) +{ + m_df[data_fetcher].low -= 1; + if (m_df[data_fetcher].low == 0xff) + { + m_df[data_fetcher].high -= 1; + if (data_fetcher > 4 && m_df[data_fetcher].music_mode) + m_df[data_fetcher].low = m_df[data_fetcher].top; + } + + check_flag(data_fetcher); +} + + +//------------------------------------------------- +// device_timer - handler timer events +//------------------------------------------------- + +void dpc_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) +{ + if (id == TIMER_OSC) + { + // callback + for (int data_fetcher = 5; data_fetcher < 8; data_fetcher++) + { + if (m_df[data_fetcher].osc_clk) + { + decrement_counter(data_fetcher); + } + } + } +} + + +//------------------------------------------------- +// Read / Write accesses +//------------------------------------------------- + +READ8_MEMBER(dpc_device::read) +{ + static const UINT8 dpc_amplitude[8] = { 0x00, 0x04, 0x05, 0x09, 0x06, 0x0a, 0x0b, 0x0f }; + UINT8 data_fetcher = offset & 0x07; + UINT8 data = 0xff; + + //logerror("%04X: Read from DPC offset $%02X\n", machine().device<cpu_device>("maincpu")->pc(), offset); + if (offset < 0x08) + { + switch(offset & 0x06) + { + case 0x00: // Random number generator + case 0x02: + return m_shift_reg; + case 0x04: // Sound value, MOVAMT value AND'd with Draw Line Carry; with Draw Line Add + m_latch_62 = m_latch_64; + case 0x06: // Sound value, MOVAMT value AND'd with Draw Line Carry; without Draw Line Add + m_latch_64 = m_latch_62 + m_df[4].top; + m_dlc = (m_latch_62 + m_df[4].top > 0xff) ? 1 : 0; + data = 0; + if (m_df[5].music_mode && m_df[5].flag) + data |= 0x01; + + if (m_df[6].music_mode && m_df[6].flag) + data |= 0x02; + + if (m_df[7].music_mode && m_df[7].flag) + data |= 0x04; + + return (m_dlc ? m_movamt & 0xf0 : 0) | dpc_amplitude[data]; + } + } + else + { + UINT8 display_data = m_displaydata[(~((m_df[data_fetcher].low | (m_df[data_fetcher].high << 8))) & 0x7ff)]; + + switch (offset & 0x38) + { + case 0x08: // display data + data = display_data; + break; + case 0x10: // display data AND'd w/flag + data = m_df[data_fetcher].flag ? display_data : 0x00; + break; + case 0x18: // display data AND'd w/flag, nibbles swapped + data = m_df[data_fetcher].flag ? BITSWAP8(display_data,3,2,1,0,7,6,5,4) : 0x00; + break; + case 0x20: // display data AND'd w/flag, byte reversed + data = m_df[data_fetcher].flag ? BITSWAP8(display_data,0,1,2,3,4,5,6,7) : 0x00; + break; + case 0x28: // display data AND'd w/flag, rotated right + data = m_df[data_fetcher].flag ? (display_data >> 1) : 0x00; + break; + case 0x30: // display data AND'd w/flag, rotated left + data = m_df[data_fetcher].flag ? (display_data << 1) : 0x00; + break; + case 0x38: // flag + data = m_df[data_fetcher].flag ? 0xff : 0x00; + break; + } + + if (data_fetcher < 5 || !m_df[data_fetcher].osc_clk) + { + decrement_counter(data_fetcher); + } + } + return data; +} + +WRITE8_MEMBER(dpc_device::write) +{ + UINT8 data_fetcher = offset & 0x07; + + switch (offset & 0x38) + { + case 0x00: // Top count + m_df[data_fetcher].top = data; + m_df[data_fetcher].flag = 0; + check_flag(data_fetcher); + break; + case 0x08: // Bottom count + m_df[data_fetcher].bottom = data; + check_flag(data_fetcher); + break; + case 0x10: // Counter low + m_df[data_fetcher].low = data; + if (data_fetcher == 4) + m_latch_64 = data; + + if (data_fetcher > 4 && m_df[data_fetcher].music_mode) + m_df[data_fetcher].low = m_df[data_fetcher].top; + + check_flag(data_fetcher); + break; + case 0x18: // Counter high + m_df[data_fetcher].high = data; + m_df[data_fetcher].music_mode = data & 0x10; + m_df[data_fetcher].osc_clk = data & 0x20; + if (data_fetcher > 4 && m_df[data_fetcher].music_mode && m_df[data_fetcher].low == 0xff) + { + m_df[data_fetcher].low = m_df[data_fetcher].top; + check_flag(data_fetcher); + } + break; + case 0x20: // Draw line movement value / MOVAMT + m_movamt = data; + break; + case 0x28: // Not used + logerror("%04X: Write to unused DPC register $%02X, data $%02X\n", machine().device<cpu_device>("maincpu")->pc(), offset, data); + break; + case 0x30: // Random number generator reset + m_shift_reg = 0; + break; + case 0x38: // Not used + logerror("%04X: Write to unused DPC register $%02X, data $%02X\n", machine().device<cpu_device>("maincpu")->pc(), offset, data); + break; + } +} + + + +// cart device + +const device_type A26_ROM_DPC = &device_creator<a26_rom_dpc_device>; + + +a26_rom_dpc_device::a26_rom_dpc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f8_device(mconfig, A26_ROM_DPC, "Atari 2600 ROM Cart Pitfall II", tag, owner, clock, "a2600_dcp", __FILE__), + m_dpc(*this, "dpc") +{ +} + +//------------------------------------------------- +// mapper specific start/reset +//------------------------------------------------- + +void a26_rom_dpc_device::device_start() +{ + save_item(NAME(m_base_bank)); +} + +void a26_rom_dpc_device::device_reset() +{ + m_base_bank = 0; +} + +void a26_rom_dpc_device::setup_addon_ptr(UINT8 *ptr) +{ + m_dpc->set_display_data(ptr); +} + + +static MACHINE_CONFIG_FRAGMENT( a26_dpc ) + MCFG_DEVICE_ADD("dpc", ATARI_DPC, 0) +MACHINE_CONFIG_END + +machine_config_constructor a26_rom_dpc_device::device_mconfig_additions() const +{ + return MACHINE_CONFIG_NAME( a26_dpc ); +} + + +READ8_MEMBER(a26_rom_dpc_device::read_rom) +{ + if (offset < 0x40) + return m_dpc->read(space, offset); + else + return a26_rom_f8_device::read_rom(space, offset); +} + +WRITE8_MEMBER(a26_rom_dpc_device::write_bank) +{ + if (offset >= 0x40 && offset < 0x80) + m_dpc->write(space, offset, data); + else + a26_rom_f8_device::write_bank(space, offset, data); +} + +DIRECT_UPDATE_MEMBER(a26_rom_dpc_device::cart_opbase) +{ + if (!direct.space().debugger_access()) + { + UINT8 new_bit; + new_bit = (m_dpc->m_shift_reg & 0x80) ^ ((m_dpc->m_shift_reg & 0x20) << 2); + new_bit = new_bit ^ (((m_dpc->m_shift_reg & 0x10) << 3) ^ ((m_dpc->m_shift_reg & 0x08) << 4)); + new_bit = new_bit ^ 0x80; + m_dpc->m_shift_reg = new_bit | (m_dpc->m_shift_reg >> 1); + } + return address; +} + diff --git a/src/emu/bus/vcs/dpc.h b/src/emu/bus/vcs/dpc.h new file mode 100644 index 00000000000..8cf12d893eb --- /dev/null +++ b/src/emu/bus/vcs/dpc.h @@ -0,0 +1,93 @@ +#ifndef __VCS_DCP_H +#define __VCS_DCP_H + +#include "rom.h" + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// TO DO: DPC should be made a separate device! + +struct df_t { + UINT8 top; + UINT8 bottom; + UINT8 low; + UINT8 high; + UINT8 flag; + UINT8 music_mode; /* Only used by data fetchers 5,6, and 7 */ + UINT8 osc_clk; /* Only used by data fetchers 5,6, and 7 */ +}; + +// m_dpc.oscillator = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(a2600_state::modeDPC_timer_callback),this)); + +class dpc_device : public device_t +{ +public: + // construction/destruction + dpc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + df_t m_df[8]; + UINT8 m_movamt; + UINT8 m_latch_62; + UINT8 m_latch_64; + UINT8 m_dlc; + UINT8 m_shift_reg; + UINT8 *m_displaydata; + void set_display_data(UINT8 *data) { m_displaydata = data; } + + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + virtual DECLARE_READ8_MEMBER(read); + virtual DECLARE_WRITE8_MEMBER(write); + +private: + + void decrement_counter(UINT8 data_fetcher); + void check_flag(UINT8 data_fetcher); + + static const device_timer_id TIMER_OSC = 0; + emu_timer *m_oscillator; +}; + + +// device type definition +extern const device_type ATARI_DPC; + + + +// ======================> a26_rom_dpc_device + +class a26_rom_dpc_device : public a26_rom_f8_device +{ +public: + // construction/destruction + a26_rom_dpc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual machine_config_constructor device_mconfig_additions() const; + virtual void device_reset(); + + required_device<dpc_device> m_dpc; + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); + virtual DECLARE_DIRECT_UPDATE_MEMBER(cart_opbase); + + virtual void setup_addon_ptr(UINT8 *ptr); + +protected: +// int m_reset_bank; +}; + + +// device type definition +extern const device_type A26_ROM_DPC; + +#endif diff --git a/src/emu/bus/vcs/rom.c b/src/emu/bus/vcs/rom.c new file mode 100755 index 00000000000..2953f705e2c --- /dev/null +++ b/src/emu/bus/vcs/rom.c @@ -0,0 +1,1054 @@ +/*********************************************************************************************************** + + A2600 VCS ROM cart emulation + Simple cart hardware with no additional hw + + Mapper implementation based on the wonderful docs by Kevtris + http://blog.kevtris.org/blogfiles/Atari%202600%20Mappers.txt + + (also inspired by previous work by Wilbert Pol et al.) + + ***********************************************************************************************************/ + + +#include "emu.h" +#include "rom.h" + + +//------------------------------------------------- +// a26_rom_*k_device - constructor +//------------------------------------------------- + +const device_type A26_ROM_2K = &device_creator<a26_rom_2k_device>; +const device_type A26_ROM_4K = &device_creator<a26_rom_4k_device>; +const device_type A26_ROM_F4 = &device_creator<a26_rom_f4_device>; +const device_type A26_ROM_F6 = &device_creator<a26_rom_f6_device>; +const device_type A26_ROM_F8 = &device_creator<a26_rom_f8_device>; +const device_type A26_ROM_F8_SW = &device_creator<a26_rom_f8_sw_device>; +const device_type A26_ROM_FA = &device_creator<a26_rom_fa_device>; +const device_type A26_ROM_FE = &device_creator<a26_rom_fe_device>; +const device_type A26_ROM_3E = &device_creator<a26_rom_3e_device>; +const device_type A26_ROM_3F = &device_creator<a26_rom_3f_device>; +const device_type A26_ROM_E0 = &device_creator<a26_rom_e0_device>; +const device_type A26_ROM_E7 = &device_creator<a26_rom_e7_device>; +const device_type A26_ROM_UA = &device_creator<a26_rom_ua_device>; +const device_type A26_ROM_CV = &device_creator<a26_rom_cv_device>; +const device_type A26_ROM_DC = &device_creator<a26_rom_dc_device>; +const device_type A26_ROM_FV = &device_creator<a26_rom_fv_device>; +const device_type A26_ROM_JVP = &device_creator<a26_rom_jvp_device>; +const device_type A26_ROM_4IN1 = &device_creator<a26_rom_4in1_device>; +const device_type A26_ROM_8IN1 = &device_creator<a26_rom_8in1_device>; +const device_type A26_ROM_32IN1 = &device_creator<a26_rom_32in1_device>; + + +a26_rom_2k_device::a26_rom_2k_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_vcs_cart_interface( mconfig, *this ) +{ +} + +a26_rom_2k_device::a26_rom_2k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : device_t(mconfig, A26_ROM_2K, "Atari VCS 2600 2K ROM Carts", tag, owner, clock, "vcs_2k", __FILE__), + device_vcs_cart_interface( mconfig, *this ) +{ +} + + +a26_rom_4k_device::a26_rom_4k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_2k_device(mconfig, A26_ROM_4K, "Atari VCS 2600 4K ROM Carts", tag, owner, clock, "vcs_4k", __FILE__) +{ +} + + +a26_rom_f6_device::a26_rom_f6_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) + : a26_rom_2k_device(mconfig, type, name, tag, owner, clock, shortname, source), + m_base_bank(-1) // set to -1 to help the Xin1 multicart... +{ +} + +a26_rom_f6_device::a26_rom_f6_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_2k_device(mconfig, A26_ROM_F6, "Atari VCS 2600 ROM Carts w/F6 bankswitch", tag, owner, clock, "vcs_f6", __FILE__), + m_base_bank(-1) // set to -1 to help the Xin1 multicart... +{ +} + + +a26_rom_f4_device::a26_rom_f4_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_F4, "Atari VCS 2600 ROM Carts w/F4 bankswitch", tag, owner, clock, "vcs_f4", __FILE__) +{ +} + + +a26_rom_f8_device::a26_rom_f8_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) + : a26_rom_f6_device(mconfig, type, name, tag, owner, clock, shortname, source) +{ +} + +a26_rom_f8_device::a26_rom_f8_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_F8, "Atari VCS 2600 ROM Carts w/F8 bankswitch", tag, owner, clock, "vcs_f8", __FILE__) +{ +} + +a26_rom_f8_sw_device::a26_rom_f8_sw_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f8_device(mconfig, A26_ROM_F8_SW, "Atari VCS 2600 ROM Cart Snow White", tag, owner, clock, "vcs_f8_sw", __FILE__) +{ +} + +a26_rom_fa_device::a26_rom_fa_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_FA, "Atari VCS 2600 ROM Carts w/FA bankswitch", tag, owner, clock, "vcs_fa", __FILE__) +{ +} + + +a26_rom_fe_device::a26_rom_fe_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_2k_device(mconfig, A26_ROM_FE, "Atari VCS 2600 ROM Carts w/FE bankswitch", tag, owner, clock, "vcs_fe", __FILE__) +{ +} + + +a26_rom_3e_device::a26_rom_3e_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_3E, "Atari VCS 2600 ROM Carts w/3E bankswitch", tag, owner, clock, "vcs_3e", __FILE__) +{ +} + + +a26_rom_3f_device::a26_rom_3f_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_3F, "Atari VCS 2600 ROM Carts w/3F bankswitch", tag, owner, clock, "vcs_3f", __FILE__) +{ +} + + +a26_rom_e0_device::a26_rom_e0_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_E0, "Atari VCS 2600 ROM Carts w/E0 bankswitch", tag, owner, clock, "vcs_e0", __FILE__) +{ +} + + +a26_rom_e7_device::a26_rom_e7_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_E7, "Atari VCS 2600 ROM Carts w/E7 bankswitch", tag, owner, clock, "vcs_e7", __FILE__) +{ +} + + +a26_rom_ua_device::a26_rom_ua_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_UA, "Atari VCS 2600 ROM Carts w/UA bankswitch", tag, owner, clock, "vcs_ua", __FILE__) +{ +} + + +a26_rom_cv_device::a26_rom_cv_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_2k_device(mconfig, A26_ROM_CV, "Atari VCS 2600 ROM Carts w/Commavid bankswitch", tag, owner, clock, "vcs_cv", __FILE__) +{ +} + + +a26_rom_dc_device::a26_rom_dc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_DC, "Atari VCS 2600 ROM Carts w/Dynacom bankswitch", tag, owner, clock, "vcs_dc", __FILE__) +{ +} + + +a26_rom_fv_device::a26_rom_fv_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_FV, "Atari VCS 2600 ROM Carts w/FV bankswitch", tag, owner, clock, "vcs_fv", __FILE__) +{ +} + + +a26_rom_jvp_device::a26_rom_jvp_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_JVP, "Atari VCS 2600 ROM Carts w/JVP bankswitch", tag, owner, clock, "vcs_jvp", __FILE__) +{ +} + + +a26_rom_4in1_device::a26_rom_4in1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_4IN1, "Atari VCS 2600 ROM Cart 4 in 1", tag, owner, clock, "vcs_4in1", __FILE__) +{ +} + + +a26_rom_8in1_device::a26_rom_8in1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f8_device(mconfig, A26_ROM_8IN1, "Atari VCS 2600 ROM Cart 8 in 1", tag, owner, clock, "vcs_8in1", __FILE__) +{ +} + + +a26_rom_32in1_device::a26_rom_32in1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_32IN1, "Atari VCS 2600 ROM Cart 32 in 1", tag, owner, clock, "vcs_32in1", __FILE__) +{ +} + + +void a26_rom_2k_device::device_start() +{ +} + +void a26_rom_2k_device::device_reset() +{ +} + +void a26_rom_f6_device::device_start() +{ + save_item(NAME(m_base_bank)); +} + +void a26_rom_f6_device::device_reset() +{ + m_base_bank = 0; +} + +void a26_rom_f4_device::device_reset() +{ + m_base_bank = 7; +} + +void a26_rom_f8_sw_device::device_reset() +{ + // Snow White proto starts from bank 1!!! + m_base_bank = 1; +} + +void a26_rom_fe_device::device_start() +{ + save_item(NAME(m_base_bank)); + save_item(NAME(m_trigger_on_next_access)); +} + +void a26_rom_fe_device::device_reset() +{ + m_base_bank = 0; + m_trigger_on_next_access = 0; +} + +void a26_rom_3e_device::device_start() +{ + save_item(NAME(m_base_bank)); + save_item(NAME(m_ram_bank)); + save_item(NAME(m_ram_enable)); +} + +void a26_rom_3e_device::device_reset() +{ + m_num_bank = m_rom.count() / 0x800; + m_base_bank = m_num_bank - 1; + m_ram_bank = 0; + m_ram_enable = 0; +} + +void a26_rom_3f_device::device_reset() +{ + m_num_bank = m_rom.count() / 0x800; + m_base_bank = m_num_bank - 1; +} + +void a26_rom_e0_device::device_start() +{ + save_item(NAME(m_base_banks)); +} + +void a26_rom_e0_device::device_reset() +{ + m_base_banks[0] = 4; + m_base_banks[1] = 5; + m_base_banks[2] = 6; + m_base_banks[3] = 7; +} + +void a26_rom_e7_device::device_start() +{ + save_item(NAME(m_base_bank)); + save_item(NAME(m_ram_bank)); +} + +void a26_rom_e7_device::device_reset() +{ + m_base_bank = 0; + m_ram_bank = 0; +} + +void a26_rom_ua_device::device_reset() +{ + m_base_bank = 0; +} + +void a26_rom_fv_device::device_start() +{ + save_item(NAME(m_base_bank)); + save_item(NAME(m_locked)); +} + +void a26_rom_fv_device::device_reset() +{ + m_base_bank = 0; + m_locked = 0; +} + + +void a26_rom_4in1_device::device_reset() +{ + m_base_bank++; + m_base_bank &= 3; +} + + +void a26_rom_8in1_device::device_start() +{ + save_item(NAME(m_base_bank)); + save_item(NAME(m_reset_bank)); +} + +void a26_rom_8in1_device::device_reset() +{ + // we use here two different bank counter: the main one for the 8x8K chunks, + // and the usual one (m_base_bank) for the 4K bank of the current game + m_reset_bank++; + m_reset_bank &= 7; + m_base_bank = 0; +} + + +void a26_rom_32in1_device::device_reset() +{ + m_base_bank++; + m_base_bank &= 0x1f; +} + + +/*------------------------------------------------- + mapper specific handlers + -------------------------------------------------*/ + +/*------------------------------------------------- + BASE 2K & 4K Carts: + no bankswitch + + GAMES: a large majority + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_2k_device::read_rom) +{ + // Super Chip RAM reads are mapped in 0x1080-0x10ff + if (m_ram && offset >= 0x80 && offset < 0x100) + { + return m_ram[offset & (m_ram.count() - 1)]; + } + + return m_rom[offset & (m_rom.count() - 1)]; +} + +/*------------------------------------------------- + "F4 Bankswitch" Carts: + read/write access to 0x1ff4-0x1ffb determines the + 4K ROM bank to be read + + GAMES: Fatal Run + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_f4_device::read_rom) +{ + // Super Chip RAM reads are mapped in 0x1080-0x10ff + if (m_ram && offset >= 0x80 && offset < 0x100) + { + return m_ram[offset & (m_ram.count() - 1)]; + } + + // update banks + if (!space.debugger_access()) + { + switch (offset) + { + case 0x0ff4: + case 0x0ff5: + case 0x0ff6: + case 0x0ff7: + case 0x0ff8: + case 0x0ff9: + case 0x0ffa: + case 0x0ffb: + m_base_bank = offset - 0x0ff4; + break; + } + } + + return m_rom[offset + (m_base_bank * 0x1000)]; +} + +WRITE8_MEMBER(a26_rom_f4_device::write_bank) +{ + // Super Chip RAM writes are mapped in 0x1000-0x107f + if (m_ram && offset < 0x80) + { + m_ram[offset & (m_ram.count() - 1)] = data; + return; + } + + switch (offset) + { + case 0x0ff4: + case 0x0ff5: + case 0x0ff6: + case 0x0ff7: + case 0x0ff8: + case 0x0ff9: + case 0x0ffa: + case 0x0ffb: + m_base_bank = offset - 0x0ff4; + break; + default: + logerror("Write Bank outside expected range (0x%X).\n", offset + 0x1000); + break; + } +} + +/*------------------------------------------------- + "F6 Bankswitch" Carts: + read/write access to 0x1ff6-0x1ff9 determines the + 4K ROM bank to be read + + GAMES: Atari 16K games, like Crossbow, Crystal + Castles and the 2-in-1 carts + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_f6_device::read_rom) +{ + // Super Chip RAM reads are mapped in 0x1080-0x10ff + if (m_ram && offset >= 0x80 && offset < 0x100) + { + return m_ram[offset & (m_ram.count() - 1)]; + } + + // update banks + if (!space.debugger_access()) + { + switch (offset) + { + case 0x0ff6: + case 0x0ff7: + case 0x0ff8: + case 0x0ff9: + m_base_bank = offset - 0x0ff6; + break; + } + } + + return m_rom[offset + (m_base_bank * 0x1000)]; +} + +WRITE8_MEMBER(a26_rom_f6_device::write_bank) +{ + // Super Chip RAM writes are mapped in 0x1000-0x107f + if (m_ram && offset < 0x80) + { + m_ram[offset & (m_ram.count() - 1)] = data; + return; + } + + switch (offset) + { + case 0x0ff6: + case 0x0ff7: + case 0x0ff8: + case 0x0ff9: + m_base_bank = offset - 0x0ff6; + break; + default: + logerror("Write Bank outside expected range (0x%X).\n", offset + 0x1000); + break; + } +} + +DIRECT_UPDATE_MEMBER(a26_rom_f6_device::cart_opbase) +{ + if ((address & 0x1fff) >= 0x1ff6 && (address & 0x1fff) <= 0x1ff9) + { + if (!direct.space().debugger_access()) + write_bank(direct.space(), (address & 0x1fff) - 0x1ff6, 0); + } + return address; +} + +/*------------------------------------------------- + "F8 Bankswitch" Carts: + read/write access to 0x1ff8-0x1ff9 determines the + 4K ROM bank to be read + + GAMES: Atari 8K games, like Asteroids, Battlezone + and Taz + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_f8_device::read_rom) +{ + // Super Chip RAM reads are mapped in 0x1080-0x10ff + if (m_ram && offset >= 0x80 && offset < 0x100) + { + return m_ram[offset & (m_ram.count() - 1)]; + } + + // update banks + if (!space.debugger_access()) + { + switch (offset) + { + case 0x0ff8: + case 0x0ff9: + m_base_bank = offset - 0x0ff8; + break; + } + } + + return m_rom[offset + (m_base_bank * 0x1000)]; +} + +WRITE8_MEMBER(a26_rom_f8_device::write_bank) +{ + // Super Chip RAM writes are mapped in 0x1000-0x107f + if (m_ram && offset < 0x80) + { + m_ram[offset & (m_ram.count() - 1)] = data; + return; + } + + switch (offset) + { + case 0x0ff8: + case 0x0ff9: + m_base_bank = offset - 0x0ff8; + break; + default: + logerror("Write Bank outside expected range (0x%X).\n", offset + 0x1000); + break; + } +} + +/*------------------------------------------------- + "FA Bankswitch" Carts: + read/write access to 0x1ff8-0x1ffa determines the + 4K ROM bank to be read + These games contained the CBS RAM+ chip (256bytes + of RAM) + + GAMES: CBS RAM Plus games like Omega Race and Tunnel + Runner + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_fa_device::read_rom) +{ + // CBS RAM+ reads are mapped in 0x1100-0x11ff + if (m_ram && offset >= 0x100 && offset < 0x200) + { + return m_ram[offset & (m_ram.count() - 1)]; + } + + // update banks + if (!space.debugger_access()) + { + switch (offset) + { + case 0x0ff8: + case 0x0ff9: + case 0x0ffa: + m_base_bank = offset - 0x0ff8; + break; + } + } + + return m_rom[offset + (m_base_bank * 0x1000)]; +} + +WRITE8_MEMBER(a26_rom_fa_device::write_bank) +{ + // CBS RAM+ writes are mapped in 0x1000-0x10ff + if (m_ram && offset < 0x100) + { + m_ram[offset & (m_ram.count() - 1)] = data; + } + + switch (offset) + { + case 0x0ff8: + case 0x0ff9: + case 0x0ffa: + m_base_bank = offset - 0x0ff8; + break; + default: + logerror("Write Bank outside expected range (0x%X).\n", offset + 0x1000); + break; + } +} + +/*------------------------------------------------- + "FE Bankswitch" Carts: + read/write access to 0x01fe-0x1ff determines the + 4K ROM bank to be read + + GAMES: Activision 8K games like Decathlon + + -------------------------------------------------*/ +/* + + There seems to be a kind of lag between the writing to address 0x1FE and the + Activision switcher springing into action. It waits for the next byte to arrive + on the data bus, which is the new PCH in the case of a JSR, and the PCH of the + stored PC on the stack in the case of an RTS. + + depending on last byte & 0x20 -> 0x00 -> switch to bank #1 + -> 0x20 -> switch to bank #0 + + */ + +READ8_MEMBER(a26_rom_fe_device::read_rom) +{ + UINT8 data; + + // Super Chip RAM reads are mapped in 0x1080-0x10ff + if (m_ram && offset >= 0x80 && offset < 0x100) + { + return m_ram[offset & (m_ram.count() - 1)]; + } + + data = m_rom[offset + (m_base_bank * 0x1000)]; + + if (!space.debugger_access()) + { + if (m_trigger_on_next_access) + { + m_base_bank = BIT(data, 5) ? 0 : 1; + m_trigger_on_next_access = 0; + } + } + + return data; +} + +WRITE8_MEMBER(a26_rom_fe_device::write_ram) +{ + // Super Chip RAM writes are mapped in 0x1000-0x107f + if (m_ram && offset < 0x80) + { + m_ram[offset & (m_ram.count() - 1)] = data; + } +} + +READ8_MEMBER(a26_rom_fe_device::read_bank) +{ + UINT8 data = space.read_byte(0xfe + offset); + + if (!space.debugger_access()) + { + switch (offset & 1) + { + case 0: + // The next byte on the data bus determines which bank to switch to + m_trigger_on_next_access = 1; + break; + + case 1: + if (m_trigger_on_next_access) + { + m_base_bank = BIT(data, 5) ? 0 : 1; + m_trigger_on_next_access = 0; + } + break; + } + } + return data; +} + +WRITE8_MEMBER(a26_rom_fe_device::write_bank) +{ + space.write_byte(0xfe, data); + if (!space.debugger_access()) + { + // The next byte on the data bus determines which bank to switch to + m_trigger_on_next_access = 1; + } +} + +/*------------------------------------------------- + "3E Bankswitch" Carts: + write access to 0x3e determines the 2K ROM bank to + be read, write access to 0x3f determines the RAM bank + to be read + + GAMES: Boulder Dash (Homebrew) + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_3e_device::read_rom) +{ + if (m_ram && m_ram_enable && offset >= 0x400 && offset < 0x600) + { + offset -= 0x400; + return m_ram[offset + (m_ram_bank * 0x200)]; + } + + if (offset >= 0x800) + return m_rom[offset + (m_num_bank - 1) * 0x800]; + else + return m_rom[offset + m_base_bank * 0x800]; +} + +WRITE8_MEMBER(a26_rom_3e_device::write_bank) +{ + if (offset) // 0x3f + { + m_base_bank = data & (m_num_bank - 1); + m_ram_enable = 0; + } + else // 0x3e + { + m_ram_bank = data & 0x3f; + m_ram_enable = 1; + } +} + +WRITE8_MEMBER(a26_rom_3e_device::write_ram) +{ + if (m_ram && m_ram_enable && offset >= 0x400 && offset < 0x600) + { + offset -= 0x400; + m_ram[offset + (m_ram_bank * 0x200)] = data; + } +} + +/*------------------------------------------------- + "3F Bankswitch" Carts: + write access to 0x00-0x3f determines the 2K ROM bank + to be read + + GAMES: Tigervision 8K games like Espial and Miner + 2049er. Extended version with bankswitch up to 512K + shall be supported as well (but we lack a test case) + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_3f_device::read_rom) +{ + if (offset >= 0x800) + return m_rom[(offset & 0x7ff) + (m_num_bank - 1) * 0x800]; + else + return m_rom[offset + m_base_bank * 0x800]; +} + +WRITE8_MEMBER(a26_rom_3f_device::write_bank) +{ + m_base_bank = data & (m_num_bank - 1); +} + +/*------------------------------------------------- + "E0 Bankswitch" Carts: + read/write access to 0x1fe0-0x1ff8 determines the + 1K ROM bank to be read in each 1K chunk (0x1c00-0x1fff + always points to the last 1K of the ROM) + + GAMES: Parker Bros. 8K games like Gyruss and Popeye + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_e0_device::read_rom) +{ + // update banks + if (!space.debugger_access()) + { + if (offset >= 0xfe0 && offset <= 0xff8) + m_base_banks[(offset >> 3) & 3] = offset & 7; + } + + return m_rom[(offset & 0x3ff) + (m_base_banks[(offset >> 10) & 3] * 0x400)]; +} + +WRITE8_MEMBER(a26_rom_e0_device::write_bank) +{ + if (offset >= 0xfe0 && offset <= 0xff8) + m_base_banks[(offset >> 3) & 3] = offset & 7; +} + + +/*------------------------------------------------- + "E7 Bankswitch" Carts: + this PCB can handle up to 16K of ROM and 2K of RAM, + with the following layout + 1000-17ff is selectable bank + 1800-19ff is RAM + 1a00-1fff is fixed to the last 0x600 of ROM + + The selectable bank can be ROM (if selected by + 0x1fe0-0x1fe6 access) or a first 1K of RAM (if + selected by 0x1fe7 access). + The other 256byte RAM bank can be one of the + four different chunks forming the other 1K of RAM + (the bank is selected by accessing 0x1fe8-0x1feb) + + GAMES: M Network 16K games like Burgertime and + Bump'n Jump + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_e7_device::read_rom) +{ + // update banks + if (!space.debugger_access()) + { + if (offset >= 0xfe0 && offset <= 0xfe7) + m_base_bank = offset - 0xfe0; + if (offset >= 0xfe8 && offset <= 0xfeb) + m_ram_bank = offset - 0xfe8; + } + + if (m_ram) + { + // 1K of RAM + if (m_base_bank == 0x07 && offset >= 0x400 && offset < 0x800) + return m_ram[0x400 + (offset & 0x3ff)]; + // the other 1K of RAM + if (offset >= 0x900 && offset < 0xa00) + { + offset -= 0x900; + return m_ram[offset + (m_ram_bank * 0x100)]; + } + } + + if (offset > 0x800) + return m_rom[(offset & 0x7ff) + 0x3800]; + else + return m_rom[(offset & 0x7ff) + (m_base_bank * 0x800)]; +} + +WRITE8_MEMBER(a26_rom_e7_device::write_bank) +{ + if (offset >= 0xfe0 && offset <= 0xfe7) + m_base_bank = offset - 0xfe0; + if (offset >= 0xfe8 && offset <= 0xfeb) + m_ram_bank = offset - 0xfe8; + + if (m_ram) + { + // 1K of RAM + if (m_base_bank == 0x07 && offset < 0x400) + m_ram[0x400 + (offset & 0x3ff)] = data; + // the other 1K of RAM + if (offset >= 0x800 && offset < 0x900) + { + offset -= 0x800; + m_ram[offset + (m_ram_bank * 0x100)] = data; + } + } +} + +/*------------------------------------------------- + "UA Bankswitch" Carts: + read/write access to 0x200-0x27f determines the + 4K ROM bank to be read (0x220-0x23f for low 4K, + 0x240-0x27f for high 4K) + + GAMES: UA Ltd. 8K games like Funky Flash and + Pleaides + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_ua_device::read_rom) +{ + return m_rom[(offset + (m_base_bank * 0x1000)) & (m_rom.count() - 1)]; +} + +READ8_MEMBER(a26_rom_ua_device::read_bank) +{ + if (!space.debugger_access()) + m_base_bank = offset >> 6; + + return 0; +} + +WRITE8_MEMBER(a26_rom_ua_device::write_bank) +{ + m_base_bank = offset >> 6; +} + + +/*------------------------------------------------- + Commavid Carts: + It allows for both ROM and RAM on the cartridge, + without using bankswitching. There's 2K of ROM + and 1K of RAM. + + GAMES: Magicard and Video Life by Commavid + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_cv_device::read_rom) +{ + if (m_ram && offset < 0x400) + { + return m_ram[offset & (m_ram.count() - 1)]; + } + + // games shall not read from 0x1400-0x17ff (RAM write) + // but we fall back to ROM just in case... + return m_rom[offset & 0x7ff]; +} + +WRITE8_MEMBER(a26_rom_cv_device::write_bank) +{ + if (m_ram && offset >= 0x400 && offset < 0x800) + { + m_ram[offset & (m_ram.count() - 1)] = data; + } +} + + +/*------------------------------------------------- + Dynacom Megaboy Carts (aka "F0 Banswitch"): + read/write access to 0x1ff0 determines the 4K ROM + bank to be read (each access increases the bank index + up to 16, since the cart was 64K wide) + + GAMES: Megaboy by Dynacom + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_dc_device::read_rom) +{ + if (!space.debugger_access()) + { + if (offset == 0xff0) + m_base_bank = (m_base_bank + 1) & 0x0f; + } + + if (offset == 0xfec) + return m_base_bank; + + return m_rom[offset + (m_base_bank * 0x1000)]; +} + +WRITE8_MEMBER(a26_rom_dc_device::write_bank) +{ + if (offset == 0xff0) + m_base_bank = (m_base_bank + 1) & 0x0f; +} + + +/*------------------------------------------------- + "FV Bankswitch" Carts: + The first access to 0x1fd0 switch the bank, but + only if pc() & 0x1f00 == 0x1f00! + + GAMES: Challenge by HES + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_fv_device::read_rom) +{ + if (!space.debugger_access()) + { + if (offset == 0xfd0) + { + if (!m_locked && (machine().device<cpu_device>("maincpu")->pc() & 0x1f00) == 0x1f00) + { + m_locked = 1; + m_base_bank = m_base_bank ^ 0x01; + } + } + } + + return m_rom[offset + (m_base_bank * 0x1000)]; +} + +WRITE8_MEMBER(a26_rom_fv_device::write_bank) +{ + if (offset == 0xfd0) + { + if (!m_locked && (machine().device<cpu_device>("maincpu")->pc() & 0x1f00) == 0x1f00) + { + m_locked = 1; + m_base_bank = m_base_bank ^ 0x01; + } + } +} + + +/*------------------------------------------------- + "JVP Bankswitch" Carts: + read/write access to 0x0fa0-0x0fc0 determines the + 4K ROM bank to be read (notice that this overlaps + the RIOT, currently handled in the main driver until + I can better investigate the behavior) + + GAMES: No test case!?! + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_jvp_device::read_rom) +{ + return m_rom[offset + (m_base_bank * 0x1000)]; +} + +WRITE8_MEMBER(a26_rom_jvp_device::write_bank) +{ + switch (offset) + { + case 0x00: + case 0x20: + m_base_bank ^= 1; + break; + default: + //printf("%04X: write to unknown mapper address %02X\n", m_maincpu->pc(), 0xfa0 + offset); + break; + } +} + + +/*------------------------------------------------- + 4 in 1 Carts (Reset based): + the 4K bank changes at each reset + + GAMES: 4 in 1 carts + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_4in1_device::read_rom) +{ + return m_rom[offset + (m_base_bank * 0x1000)]; +} + + +/*------------------------------------------------- + 8 in 1 Carts (Reset based): + the 8K banks change at each reset, and internally + each game runs as a F8-bankswitched cart + + GAMES: 8 in 1 cart + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_8in1_device::read_rom) +{ + if (!space.debugger_access()) + { + switch (offset) + { + case 0x0ff8: + case 0x0ff9: + m_base_bank = offset - 0x0ff8; + break; + } + } + + return m_rom[offset + (m_base_bank * 0x1000) + (m_reset_bank * 0x2000)]; +} + + +/*------------------------------------------------- + 32 in 1 Carts (Reset based): + the 2K banks change at each reset + + GAMES: 32 in 1 cart + + -------------------------------------------------*/ + +READ8_MEMBER(a26_rom_32in1_device::read_rom) +{ + return m_rom[(offset & 0x7ff) + (m_base_bank * 0x800)]; +} + diff --git a/src/emu/bus/vcs/rom.h b/src/emu/bus/vcs/rom.h new file mode 100755 index 00000000000..33b00d0b5ea --- /dev/null +++ b/src/emu/bus/vcs/rom.h @@ -0,0 +1,389 @@ +#ifndef __VCS_ROM_H +#define __VCS_ROM_H + +#include "vcs_slot.h" + + +// ======================> a26_rom_2k_device + +class a26_rom_2k_device : public device_t, + public device_vcs_cart_interface +{ +public: + // construction/destruction + a26_rom_2k_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); + a26_rom_2k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); +}; + + +// ======================> a26_rom_4k_device + +class a26_rom_4k_device : public a26_rom_2k_device +{ +public: + // construction/destruction + a26_rom_4k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // reading and writing + + // accesses just use the 2K ones, since it is just direct access to ROM/RAM + // masked with its size! +}; + + +// ======================> a26_rom_f6_device + +class a26_rom_f6_device : public a26_rom_2k_device +{ +public: + // construction/destruction + a26_rom_f6_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); + a26_rom_f6_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); + virtual DECLARE_DIRECT_UPDATE_MEMBER(cart_opbase); + +protected: + int m_base_bank; +}; + + +// ======================> a26_rom_f4_device + +class a26_rom_f4_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_f4_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); +}; + + +// ======================> a26_rom_f8_device + +class a26_rom_f8_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_f8_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); + a26_rom_f8_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); +}; + + +// ======================> a26_rom_f8_sw_device + +class a26_rom_f8_sw_device : public a26_rom_f8_device +{ +public: + // construction/destruction + a26_rom_f8_sw_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_reset(); +}; + + +// ======================> a26_rom_fa_device + +class a26_rom_fa_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_fa_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); +}; + + +// ======================> a26_rom_fe_device + +class a26_rom_fe_device : public a26_rom_2k_device +{ +public: + // construction/destruction + a26_rom_fe_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_READ8_MEMBER(read_bank); + virtual DECLARE_WRITE8_MEMBER(write_ram); + virtual DECLARE_WRITE8_MEMBER(write_bank); + +protected: + int m_base_bank; + int m_trigger_on_next_access; +}; + + +// ======================> a26_rom_3e_device + +class a26_rom_3e_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_3e_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); + virtual DECLARE_WRITE8_MEMBER(write_ram); + +protected: + int m_num_bank; + int m_ram_bank; + int m_ram_enable; +}; + + +// ======================> a26_rom_3f_device + +class a26_rom_3f_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_3f_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); + +protected: + int m_num_bank; +}; + + +// ======================> a26_rom_e0_device + +class a26_rom_e0_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_e0_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); + +protected: + int m_base_banks[4]; +}; + + +// ======================> a26_rom_e7_device + +class a26_rom_e7_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_e7_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); + +protected: + int m_ram_bank; +}; + + +// ======================> a26_rom_ua_device + +class a26_rom_ua_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_ua_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_READ8_MEMBER(read_bank); + virtual DECLARE_WRITE8_MEMBER(write_bank); +}; + + +// ======================> a26_rom_cv_device + +class a26_rom_cv_device : public a26_rom_2k_device +{ +public: + // construction/destruction + a26_rom_cv_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); +}; + + +// ======================> a26_rom_dc_device + +class a26_rom_dc_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_dc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); +}; + + +// ======================> a26_rom_fv_device + +class a26_rom_fv_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_fv_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); + +protected: + int m_locked; +}; + + +// ======================> a26_rom_jvp_device + +class a26_rom_jvp_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_jvp_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_WRITE8_MEMBER(write_bank); +}; + + +// ======================> a26_rom_4in1_device + +class a26_rom_4in1_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_4in1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); +}; + + +// ======================> a26_rom_8in1_device + +class a26_rom_8in1_device : public a26_rom_f8_device +{ +public: + // construction/destruction + a26_rom_8in1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + +protected: + int m_reset_bank; +}; + + +// ======================> a26_rom_32in1_device + +class a26_rom_32in1_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_32in1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_reset(); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); +}; + + +// device type definition +extern const device_type A26_ROM_2K; +extern const device_type A26_ROM_4K; +extern const device_type A26_ROM_F4; +extern const device_type A26_ROM_F6; +extern const device_type A26_ROM_F8; +extern const device_type A26_ROM_F8_SW; +extern const device_type A26_ROM_FA; +extern const device_type A26_ROM_FE; +extern const device_type A26_ROM_3E; +extern const device_type A26_ROM_3F; +extern const device_type A26_ROM_E0; +extern const device_type A26_ROM_E7; +extern const device_type A26_ROM_UA; +extern const device_type A26_ROM_CV; +extern const device_type A26_ROM_DC; +extern const device_type A26_ROM_FV; +extern const device_type A26_ROM_JVP; +extern const device_type A26_ROM_4IN1; +extern const device_type A26_ROM_8IN1; +extern const device_type A26_ROM_32IN1; + + +#endif diff --git a/src/emu/bus/vcs/scharger.c b/src/emu/bus/vcs/scharger.c new file mode 100644 index 00000000000..efd685a5969 --- /dev/null +++ b/src/emu/bus/vcs/scharger.c @@ -0,0 +1,212 @@ +/*************************************************************************** + + Atari 2600 cart Starpath Supercharger (Cart + Tape drive!) + + + + From kevtris notes ( http://blog.kevtris.org/blogfiles/Atari%202600%20Mappers.txt ): + + + - Control register [0x1ff8] + + 7 0 + --------- + 1FF8: DDDB BBWE + + D: write delay (see below) + B: bankswitching mode (see below) + W: RAM write enable (1 = enabled, 0 = disabled) + E: ROM power enable (0 = enabled, 1 = turn off ROM) + + - Audio input register [0x1ff9] + + 7 0 + --------- + 1FF9: 0000 000A + + A: Supercharger audio data. 0 = low input, 1 = high input. + + +***************************************************************************/ + + +#include "emu.h" +#include "scharger.h" +#include "sound/wave.h" +#include "formats/a26_cas.h" + +const device_type A26_ROM_SUPERCHARGER = &device_creator<a26_rom_ss_device>; + + +a26_rom_ss_device::a26_rom_ss_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : a26_rom_f6_device(mconfig, A26_ROM_SUPERCHARGER, "Atari 2600 ROM Cart Supercharger", tag, owner, clock, "a2600_ss", __FILE__), + m_cassette(*this, "cassette") +{ +} + +//------------------------------------------------- +// mapper specific start/reset +//------------------------------------------------- + +void a26_rom_ss_device::device_start() +{ + m_maincpu = machine().device<cpu_device>("maincpu"); + + save_item(NAME(m_base_banks)); + save_item(NAME(m_reg)); + save_item(NAME(m_write_delay)); + save_item(NAME(m_ram_write_enabled)); + save_item(NAME(m_rom_enabled)); + save_item(NAME(m_byte_started)); + save_item(NAME(m_last_address)); + save_item(NAME(m_diff_adjust)); +} + +void a26_rom_ss_device::device_reset() +{ + // banks = 0, 1, 2 are 2K chunk of RAM (of the available 6K), banks = 3 is ROM! + m_base_banks[0] = 2; + m_base_banks[1] = 3; + m_ram_write_enabled = 0; + m_byte_started = 0; + m_reg = 0; + m_write_delay = 0; + m_rom_enabled = 1; + m_last_address = 0; + m_diff_adjust = 0; +} + + +static MACHINE_CONFIG_FRAGMENT( a26_ss ) + MCFG_CASSETTE_ADD("cassette") + MCFG_CASSETTE_FORMATS(a26_cassette_formats) + MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED) + MCFG_CASSETTE_INTERFACE("a2600_cass") + +// MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") +// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) +MACHINE_CONFIG_END + +machine_config_constructor a26_rom_ss_device::device_mconfig_additions() const +{ + return MACHINE_CONFIG_NAME( a26_ss ); +} + +inline UINT8 a26_rom_ss_device::read_byte(UINT32 offset) +{ + if (offset < 0x800) + return m_ram[(offset & 0x7ff) + (m_base_banks[0] * 0x800)]; + else if (m_base_banks[1] != 3) + return m_ram[(offset & 0x7ff) + (m_base_banks[1] * 0x800)]; + else if (m_rom_enabled) + return m_rom[offset & 0x7ff]; + else + return 0xff; +} + +READ8_MEMBER(a26_rom_ss_device::read_rom) +{ + if (space.debugger_access()) + return read_byte(offset); + + // Bankswitch + if (offset == 0xff8) + { + //logerror("%04X: Access to control register data = %02X\n", m_maincpu->pc(), m_modeSS_byte); + m_write_delay = m_reg >> 5; + m_ram_write_enabled = BIT(m_reg, 1); + m_rom_enabled = !BIT(m_reg, 0); + + // compensate time spent in this access to avoid spurious RAM write + m_byte_started -= 5; + + // handle bankswitch + switch (m_reg & 0x1c) + { + case 0x00: + m_base_banks[0] = 2; + m_base_banks[1] = 3; + break; + case 0x04: + m_base_banks[0] = 0; + m_base_banks[1] = 3; + break; + case 0x08: + m_base_banks[0] = 2; + m_base_banks[1] = 0; + break; + case 0x0c: + m_base_banks[0] = 0; + m_base_banks[1] = 2; + break; + case 0x10: + m_base_banks[0] = 2; + m_base_banks[1] = 3; + break; + case 0x14: + m_base_banks[0] = 1; + m_base_banks[1] = 3; + break; + case 0x18: + m_base_banks[0] = 2; + m_base_banks[1] = 1; + break; + case 0x1c: + m_base_banks[0] = 1; + m_base_banks[1] = 2; + break; + } + + return read_byte(offset); + } + // Cassette port read + else if (offset == 0xff9) + { + //logerror("%04X: Cassette port read, tap_val = %f\n", m_maincpu->pc(), tap_val); + double tap_val = m_cassette->input(); + + // compensate time spent in this access to avoid spurious RAM write + m_byte_started -= 5; + + if (tap_val < 0) + return 0x00; + else + return 0x01; + } + // Possible RAM write + else + { + if (m_ram_write_enabled) + { + /* Check for dummy read from same address */ + if (m_last_address == offset) + m_diff_adjust++; + + int diff = m_maincpu->total_cycles() - m_byte_started; + //logerror("%04X: offset = %04X, %d\n", m_maincpu->pc(), offset, diff); + + if (diff - m_diff_adjust == 5) + { + //logerror("%04X: RAM write offset = %04X, data = %02X\n", m_maincpu->pc(), offset, m_modeSS_byte ); + if (offset < 0x800) + m_ram[(offset & 0x7ff) + (m_base_banks[0] * 0x800)] = m_reg; + else if (m_base_banks[1] != 3) + m_ram[(offset & 0x7ff) + (m_base_banks[1] * 0x800)] = m_reg; + } + else if (offset < 0x0100) + { + m_reg = offset; + m_byte_started = m_maincpu->total_cycles(); + m_diff_adjust = 0; + } + } + else if (offset < 0x0100) + { + m_reg = offset; + m_byte_started = m_maincpu->total_cycles(); + m_diff_adjust = 0; + } + m_last_address = offset; + return read_byte(offset); + } +} diff --git a/src/emu/bus/vcs/scharger.h b/src/emu/bus/vcs/scharger.h new file mode 100644 index 00000000000..d13d8e5b6d7 --- /dev/null +++ b/src/emu/bus/vcs/scharger.h @@ -0,0 +1,45 @@ +#ifndef __VCS_SCHARGER_H +#define __VCS_SCHARGER_H + +#include "rom.h" +#include "imagedev/cassette.h" + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> a26_rom_ss_device + +class a26_rom_ss_device : public a26_rom_f6_device +{ +public: + // construction/destruction + a26_rom_ss_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual machine_config_constructor device_mconfig_additions() const; + virtual void device_reset(); + + required_device<cassette_image_device> m_cassette; + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + +private: + cpu_device *m_maincpu; + inline UINT8 read_byte(UINT32 offset); + + int m_base_banks[2]; + UINT8 m_reg; + UINT8 m_write_delay, m_ram_write_enabled, m_rom_enabled; + UINT32 m_byte_started; + UINT16 m_last_address; + UINT32 m_diff_adjust; +}; + + +// device type definition +extern const device_type A26_ROM_SUPERCHARGER; + +#endif diff --git a/src/emu/bus/vcs/vcs_slot.c b/src/emu/bus/vcs/vcs_slot.c new file mode 100755 index 00000000000..114c02b1743 --- /dev/null +++ b/src/emu/bus/vcs/vcs_slot.c @@ -0,0 +1,838 @@ +/*********************************************************************************************************** + + + Atari VCS 2600 cart emulation + (through slot devices) + + Emulation of the cartslot for Atari 2600 + Several banking schemes have been used for larger roms, + and some carts contained RAM (so called "Special Chip") + + Mapper identification routines based on Cowering's code. + + ***********************************************************************************************************/ + + +#include "emu.h" +#include "vcs_slot.h" + +//************************************************************************** +// GLOBAL VARIABLES +//************************************************************************** + +const device_type VCS_CART_SLOT = &device_creator<vcs_cart_slot_device>; + + +//------------------------------------------------- +// device_vcs_cart_interface - constructor +//------------------------------------------------- + +device_vcs_cart_interface::device_vcs_cart_interface(const machine_config &mconfig, device_t &device) + : device_slot_card_interface(mconfig, device) +{ +} + + +//------------------------------------------------- +// ~device_vcs_cart_interface - destructor +//------------------------------------------------- + +device_vcs_cart_interface::~device_vcs_cart_interface() +{ +} + +//------------------------------------------------- +// rom_alloc - alloc the space for the cart +//------------------------------------------------- + +void device_vcs_cart_interface::rom_alloc(UINT32 size) +{ + if (m_rom == NULL) + m_rom.resize(size); +} + +//------------------------------------------------- +// ram_alloc - alloc the space for the on-cart RAM +//------------------------------------------------- + +void device_vcs_cart_interface::ram_alloc(UINT32 size) +{ + if (m_ram == NULL) + m_ram.resize(size); +} + + + +//************************************************************************** +// LIVE DEVICE +//************************************************************************** + +//------------------------------------------------- +// vcs_cart_slot_device - constructor +//------------------------------------------------- +vcs_cart_slot_device::vcs_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + device_t(mconfig, VCS_CART_SLOT, "Atari VCS 2600 Cartridge Slot", tag, owner, clock, "vcs_cart_slot", __FILE__), + device_image_interface(mconfig, *this), + device_slot_interface(mconfig, *this) +{ +} + + +//------------------------------------------------- +// vcs_cart_slot_device - destructor +//------------------------------------------------- + +vcs_cart_slot_device::~vcs_cart_slot_device() +{ +} + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void vcs_cart_slot_device::device_start() +{ + m_cart = dynamic_cast<device_vcs_cart_interface *>(get_card_device()); +} + +//------------------------------------------------- +// device_config_complete - perform any +// operations now that the configuration is +// complete +//------------------------------------------------- + +void vcs_cart_slot_device::device_config_complete() +{ + // set brief and instance name + update_names(); +} + + + +/*------------------------------------------------- + call load + -------------------------------------------------*/ + +//------------------------------------------------- +// VCS PCBs +//------------------------------------------------- + +struct vcs_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 vcs_slot slot_list[] = +{ + { A26_2K, "a26_2k" }, + { A26_4K, "a26_4k" }, + { A26_F4, "a26_f4" }, + { A26_F6, "a26_f6" }, + { A26_F8, "a26_f8" }, + { A26_F8SW, "a26_f8sw" }, + { A26_FA, "a26_fa" }, + { A26_FE, "a26_fe" }, + { A26_E0, "a26_e0" }, + { A26_E7, "a26_e7" }, + { A26_3E, "a26_3e" }, + { A26_3F, "a26_3f" }, + { A26_UA, "a26_ua" }, + { A26_CV, "a26_cv" }, + { A26_DC, "a26_dc" }, + { A26_FV, "a26_fv" }, + { A26_JVP, "a26_jvp" }, + { A26_CM, "a26_cm" }, + { A26_SS, "a26_ss" }, + { A26_DPC, "a26_dpc" }, + { A26_4IN1, "a26_4in1" }, + { A26_8IN1, "a26_8in1" }, + { A26_32IN1, "a26_32in1" }, +}; + +static int vcs_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 *vcs_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 "a26_4k"; +} + +bool vcs_cart_slot_device::call_load() +{ + UINT8 *ROM; + UINT32 len; + + if (software_entry() != NULL) + len = get_software_region_length("rom"); + else + len = length(); + + //printf("Size: 0x%X\n", len); + + // check that filesize is among the supported ones + switch (len) + { + case 0x00800: + case 0x01000: + case 0x02000: + case 0x028ff: + case 0x02900: + case 0x03000: + case 0x04000: + case 0x08000: + case 0x10000: + case 0x80000: + break; + + default: + seterror(IMAGE_ERROR_UNSUPPORTED, "Invalid rom file size" ); + return IMAGE_INIT_FAIL; + } + + m_cart->rom_alloc(len); + ROM = m_cart->get_rom_base(); + + if (software_entry() != NULL) + { + const char *pcb_name; + memcpy(ROM, get_software_region("rom"), len); + + if ((pcb_name = get_feature("slot")) != NULL) + m_type = vcs_get_pcb_id(pcb_name); + else + { + // identify type based on size + switch (len) + { + case 0x800: + m_type = A26_2K; + break; + case 0x1000: + m_type = A26_4K; + break; + case 0x2000: + m_type = A26_F8; + break; + case 0x28ff: + case 0x2900: + m_type = A26_DPC; + break; + case 0x3000: + m_type = A26_FA; + break; + case 0x4000: + m_type = A26_F6; + break; + case 0x8000: + m_type = A26_F4; + break; + case 0x10000: + m_type = A26_32IN1; + break; + case 0x80000: + m_type = A26_3F; + break; + default: + m_type = A26_4K; + printf("Unrecognized cart type!\n"); + break; + } + + } + } + else + { + fread(ROM, len); + m_type = identify_cart_type(ROM, len); + } + + //printf("Type: %s\n", vcs_get_slot(m_type)); + + // check for Special Chip (128bytes of RAM) + if (len == 0x2000 || len == 0x4000 || len == 0x8000) + if (detect_super_chip(ROM, len)) + { + m_cart->ram_alloc(0x80); + //printf("Super Chip detected!\n"); + } + // Super chip games: + // dig dig, crystal castles, millipede, stargate, defender ii, jr. Pac Man, + // desert falcon, dark chambers, super football, sprintmaster, fatal run, + // off the wall, shooting arcade, secret quest, radar lock, save mary, klax + + // add CBS RAM+ (128bytes of RAM) + if (m_type == A26_FA) + m_cart->ram_alloc(0x100); + // add M Network RAM + else if (m_type == A26_E7) + m_cart->ram_alloc(0x800); + // add Commavid RAM + else if (m_type == A26_CV) + m_cart->ram_alloc(0x400); + // add Starpath Superchager RAM + else if (m_type == A26_SS) + m_cart->ram_alloc(0x1800); + // add Boulder Dash RAM + else if (m_type == A26_3E) + m_cart->ram_alloc(0x8000); + + // pass a pointer to the now allocated ROM for the DPC chip + if (m_type == A26_DPC) + m_cart->setup_addon_ptr((UINT8 *)m_cart->get_rom_base() + 0x2000); + + return IMAGE_INIT_PASS; +} + + +/*------------------------------------------------- + call_unload + -------------------------------------------------*/ + +void vcs_cart_slot_device::call_unload() +{ +} + + + +/*------------------------------------------------- + call softlist load + -------------------------------------------------*/ + +bool vcs_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; +} + + +/*------------------------------------------------- + detection helper routines + -------------------------------------------------*/ + +int vcs_cart_slot_device::detect_modeDC(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + // signature is also in 'video reflex'.. maybe figure out that controller port someday... + static const unsigned char signature[3] = { 0x8d, 0xf0, 0xff }; + + if (len == 0x10000) + { + for (int i = 0; i < len - sizeof signature; i++) + { + if (!memcmp(&cart[i], signature, sizeof signature)) + { + numfound = 1; + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_modeF6(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signature[3] = { 0x8d, 0xf6, 0xff }; + + if (len == 0x4000) + { + for (int i = 0; i < len - sizeof signature; i++) + { + if (!memcmp(&cart[i], signature, sizeof signature)) + { + numfound = 1; + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_snowhite(UINT8 *cart, UINT32 len) +{ + static const unsigned char snowwhite[] = { 0x10, 0xd0, 0xff, 0xff }; // Snow White Proto + + if (len == 0x2000 && !memcmp(&cart[0x1ffc], snowwhite, sizeof(snowwhite))) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_mode3E(UINT8 *cart, UINT32 len) +{ + // this one is a little hacky... looks for STY $3e, which is unique to + // 'not boulderdash', but is the only example I have (cow) + // Would have used STA $3e, but 'Alien' and 'Star Raiders' do that for unknown reasons + int numfound = 0; + static const unsigned char signature[3] = { 0x84, 0x3e, 0x9d }; + + if (len == 0x0800 || len == 0x1000) + { + for (int i = 0; i < len - sizeof signature; i++) + { + if (!memcmp(&cart[i], signature, sizeof signature)) + { + numfound = 1; + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_modeSS(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signature[5] = { 0xbd, 0xe5, 0xff, 0x95, 0x81 }; + + if (len == 0x0800 || len == 0x1000) + { + for (int i = 0; i < len - sizeof signature; i++) + { + if (!memcmp(&cart[i], signature, sizeof signature)) + { + numfound = 1; + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_modeFE(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signatures[][5] = { + { 0x20, 0x00, 0xd0, 0xc6, 0xc5 }, + { 0x20, 0xc3, 0xf8, 0xa5, 0x82 }, + { 0xd0, 0xfb, 0x20, 0x73, 0xfe }, + { 0x20, 0x00, 0xf0, 0x84, 0xd6 } + }; + + if (len == 0x2000) + { + for (int i = 0; i < len - (sizeof signatures/sizeof signatures[0]); i++) + { + for (int j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) + { + if (!memcmp(&cart[i], &signatures[j], sizeof signatures[0])) + { + numfound = 1; + } + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_modeE0(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signatures[][3] = { + { 0x8d, 0xe0, 0x1f }, + { 0x8d, 0xe0, 0x5f }, + { 0x8d, 0xe9, 0xff }, + { 0xad, 0xe9, 0xff }, + { 0xad, 0xed, 0xff }, + { 0xad, 0xf3, 0xbf } + }; + + if (len == 0x2000) + { + for (int i = 0; i < len - (sizeof signatures/sizeof signatures[0]); i++) + { + for (int j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) + { + if (!memcmp(&cart[i], &signatures[j], sizeof signatures[0])) + { + numfound = 1; + } + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_modeCV(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signatures[][3] = { + { 0x9d, 0xff, 0xf3 }, + { 0x99, 0x00, 0xf4 } + }; + + if (len == 0x0800 || len == 0x1000) + { + for (int i = 0; i < len - (sizeof signatures/sizeof signatures[0]); i++) + { + for (int j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) + { + if (!memcmp(&cart[i], &signatures[j], sizeof signatures[0])) + { + numfound = 1; + } + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_modeFV(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signatures[][3] = { { 0x2c, 0xd0, 0xff } }; + + if (len == 0x2000) + { + for (int i = 0; i < len - (sizeof signatures/sizeof signatures[0]); i++) + { + for (int j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) + { + if (!memcmp(&cart[i], &signatures[j], sizeof signatures[0])) + { + numfound = 1; + } + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_modeJVP(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signatures[][4] = { + { 0x2c, 0xc0, 0xef, 0x60 }, + { 0x8d, 0xa0, 0x0f, 0xf0 } + }; + + if (len == 0x4000 || len == 0x2000) + { + for (int i = 0; i < len - (sizeof signatures/sizeof signatures[0]); i++) + { + for (int j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) + { + if (!memcmp(&cart[i], &signatures[j], sizeof signatures[0])) + { + numfound = 1; + } + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_modeE7(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signatures[][3] = { + { 0xad, 0xe5, 0xff }, + { 0x8d, 0xe7, 0xff } + }; + + if (len == 0x2000 || len == 0x4000) + { + for (int i = 0; i < len - (sizeof signatures/sizeof signatures[0]); i++) + { + for (int j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) + { + if (!memcmp(&cart[i], &signatures[j], sizeof signatures[0])) + { + numfound = 1; + } + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_modeUA(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signature[3] = { 0x8d, 0x40, 0x02 }; + + if (len == 0x2000) + { + for (int i = 0; i < len - sizeof signature; i++) + { + if (!memcmp(&cart[i], signature, sizeof signature)) + { + numfound = 1; + } + } + } + if (numfound) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_8K_mode3F(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signature1[4] = { 0xa9, 0x01, 0x85, 0x3f }; + static const unsigned char signature2[4] = { 0xa9, 0x02, 0x85, 0x3f }; + // have to look for two signatures because 'not boulderdash' gives false positive otherwise + + if (len == 0x2000) + { + for (int i = 0; i < len - sizeof signature1; i++) + { + if (!memcmp(&cart[i], signature1, sizeof signature1)) + { + numfound |= 0x01; + } + if (!memcmp(&cart[i], signature2, sizeof signature2)) + { + numfound |= 0x02; + } + } + } + if (numfound == 0x03) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_32K_mode3F(UINT8 *cart, UINT32 len) +{ + int numfound = 0; + static const unsigned char signature[4] = { 0xa9, 0x0e, 0x85, 0x3f }; + + if (len >= 0x8000) + { + for (int i = 0; i < len - sizeof signature; i++) + { + if (!memcmp(&cart[i], signature, sizeof signature)) + { + numfound++; + } + } + } + if (numfound > 1) + return 1; + return 0; +} + +int vcs_cart_slot_device::detect_super_chip(UINT8 *cart, UINT32 len) +{ + static const unsigned char signatures[][5] = { + { 0xa2, 0x7f, 0x9d, 0x00, 0xf0 }, // dig dug + { 0xae, 0xf6, 0xff, 0x4c, 0x00 } // off the wall + }; + + if (len == 0x4000) + { + for (int i = 0; i < len - (sizeof signatures/sizeof signatures[0]); i++) + { + for (int j = 0; j < (sizeof signatures/sizeof signatures[0]); j++) + { + if (!memcmp(&cart[i], &signatures[j], sizeof signatures[0])) + { + return 1; + } + } + } + } + for (int i = 0x1000; i < len; i += 0x1000) + { + if (memcmp(cart, cart + i, 0x100)) + { + return 0; + } + } + /* Check the reset vector does not point into the super chip RAM area */ + if ((((cart[0x0ffd] << 8) | cart[0x0ffc]) & 0x0fff) < 0x0100) + { + return 0; + } + return 1; +} + + +/*------------------------------------------------- + identify_cart_type - code to detect cart type from + fullpath + -------------------------------------------------*/ + +// 4in1 & 8in1 are not currently detected from fullpath... +int vcs_cart_slot_device::identify_cart_type(UINT8 *ROM, UINT32 len) +{ + int type = 0xff; + + // auto-detect bank mode + if (detect_modeDC(ROM, len)) + type = A26_DC; + else if (detect_mode3E(ROM, len)) + type = A26_3E; + else if (detect_modeFE(ROM, len)) + type = A26_FE; + else if (detect_modeSS(ROM, len)) + type = A26_SS; + else if (detect_modeE0(ROM, len)) + type = A26_E0; + else if (detect_modeCV(ROM, len)) + type = A26_CV; + else if (detect_modeFV(ROM, len)) + type = A26_FV; + else if (detect_modeJVP(ROM, len)) + type = A26_JVP; + else if (detect_modeUA(ROM, len)) + type = A26_UA; + else if (detect_8K_mode3F(ROM, len)) + type = A26_3F; + else if (detect_32K_mode3F(ROM, len)) + type = A26_3F; + else if (detect_modeE7(ROM, len)) + type = A26_E7; + else if (detect_snowhite(ROM, len)) + type = A26_F8SW; + + // otherwise, choose based on size + if (type == 0xff) + { + switch (len) + { + case 0x800: + type = A26_2K; + break; + case 0x1000: + type = A26_4K; + break; + case 0x2000: + type = A26_F8; + break; + case 0x28ff: + case 0x2900: + type = A26_DPC; + break; + case 0x3000: + type = A26_FA; + break; + case 0x4000: + type = A26_F6; + break; + case 0x8000: + type = A26_F4; + break; + case 0x10000: + type = A26_32IN1; + break; + case 0x80000: + type = A26_3F; + break; + default: + type = A26_4K; + printf("Unrecognized cart type!\n"); + break; + } + } + + return type; +} + +/*------------------------------------------------- + get default card software + -------------------------------------------------*/ + +void vcs_cart_slot_device::get_default_card_software(astring &result) +{ + if (open_image_file(mconfig().options())) + { + const char *slot_string = "a26_4k"; + UINT32 len = core_fsize(m_file); + dynamic_buffer rom(len); + int type; + + core_fread(m_file, rom, len); + + type = identify_cart_type(rom, len); + slot_string = vcs_get_slot(type); + + clear(); + + result.cpy(slot_string); + } + else + software_get_default_slot(result, "a26_4k"); +} + + +/*------------------------------------------------- + read + -------------------------------------------------*/ + +READ8_MEMBER(vcs_cart_slot_device::read_rom) +{ + if (m_cart) + return m_cart->read_rom(space, offset, mem_mask); + else + return 0xff; +} + +READ8_MEMBER(vcs_cart_slot_device::read_bank) +{ + if (m_cart) + return m_cart->read_bank(space, offset, mem_mask); + else + return 0xff; +} + + +/*------------------------------------------------- + write + -------------------------------------------------*/ + +WRITE8_MEMBER(vcs_cart_slot_device::write_bank) +{ + if (m_cart) + m_cart->write_bank(space, offset, data, mem_mask); +} + +WRITE8_MEMBER(vcs_cart_slot_device::write_ram) +{ + if (m_cart) + m_cart->write_ram(space, offset, data, mem_mask); +} + + +/*------------------------------------------------- + direct update + -------------------------------------------------*/ + +DIRECT_UPDATE_MEMBER(vcs_cart_slot_device::cart_opbase) +{ + if (m_cart) + return m_cart->cart_opbase(direct, address); + else + return address; +} diff --git a/src/emu/bus/vcs/vcs_slot.h b/src/emu/bus/vcs/vcs_slot.h new file mode 100755 index 00000000000..ce7b020d483 --- /dev/null +++ b/src/emu/bus/vcs/vcs_slot.h @@ -0,0 +1,154 @@ +#ifndef __VCS_SLOT_H +#define __VCS_SLOT_H + + +/*************************************************************************** + TYPE DEFINITIONS + ***************************************************************************/ + + +/* PCB */ +enum +{ + A26_2K = 0, + A26_4K, + A26_F4, + A26_F6, + A26_F8, + A26_F8SW, + A26_FA, + A26_FE, + A26_3E, // to test + A26_3F, + A26_E0, + A26_E7, + A26_UA, + A26_DC, + A26_CV, + A26_FV, + A26_JVP, // to test + A26_32IN1, + A26_8IN1, + A26_4IN1, + A26_DPC, + A26_SS, + A26_CM +}; + + +// ======================> device_vcs_cart_interface + +class device_vcs_cart_interface : public device_slot_card_interface +{ +public: + // construction/destruction + device_vcs_cart_interface(const machine_config &mconfig, device_t &device); + virtual ~device_vcs_cart_interface(); + + // reading from ROM + virtual DECLARE_READ8_MEMBER(read_rom) { return 0xff; } + // writing to RAM chips (sometimes it is in a different range than write_bank!) + virtual DECLARE_WRITE8_MEMBER(write_ram) {} + + // read/write to bankswitch address + virtual DECLARE_READ8_MEMBER(read_bank) { return 0xff; } + virtual DECLARE_WRITE8_MEMBER(write_bank) {} + + // direct update handler + virtual DECLARE_DIRECT_UPDATE_MEMBER(cart_opbase) { return address; } + + virtual void setup_addon_ptr(UINT8 *ptr) {} + + void rom_alloc(UINT32 size); + void ram_alloc(UINT32 size); + UINT8* get_rom_base() { return m_rom; } + UINT8* get_ram_base() { return m_ram; } + UINT32 get_rom_size() { return m_rom.bytes(); } + UINT32 get_ram_size() { return m_ram.bytes(); } + +protected: + // internal state + dynamic_buffer m_rom; + dynamic_buffer m_ram; +}; + + +// ======================> vcs_cart_slot_device + +class vcs_cart_slot_device : public device_t, + public device_image_interface, + public device_slot_interface +{ +public: + // construction/destruction + vcs_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + virtual ~vcs_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 *ROM, UINT32 len); + + 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 1; } + 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 "a2600_cart"; } + virtual const char *file_extensions() const { return "bin,a26"; } + + // slot interface overrides + virtual void get_default_card_software(astring &result); + + // reading and writing + virtual DECLARE_READ8_MEMBER(read_rom); + virtual DECLARE_READ8_MEMBER(read_bank); + virtual DECLARE_WRITE8_MEMBER(write_bank); + virtual DECLARE_WRITE8_MEMBER(write_ram); + virtual DECLARE_DIRECT_UPDATE_MEMBER(cart_opbase); + +private: + device_vcs_cart_interface* m_cart; + int m_type; + + int detect_snowhite(UINT8 *cart, UINT32 len); + int detect_modeDC(UINT8 *cart, UINT32 len); + int detect_modeF6(UINT8 *cart, UINT32 len); + int detect_mode3E(UINT8 *cart, UINT32 len); + int detect_modeSS(UINT8 *cart, UINT32 len); + int detect_modeFE(UINT8 *cart, UINT32 len); + int detect_modeE0(UINT8 *cart, UINT32 len); + int detect_modeCV(UINT8 *cart, UINT32 len); + int detect_modeFV(UINT8 *cart, UINT32 len); + int detect_modeJVP(UINT8 *cart, UINT32 len); + int detect_modeE7(UINT8 *cart, UINT32 len); + int detect_modeUA(UINT8 *cart, UINT32 len); + int detect_8K_mode3F(UINT8 *cart, UINT32 len); + int detect_32K_mode3F(UINT8 *cart, UINT32 len); + int detect_super_chip(UINT8 *cart, UINT32 len); +}; + + +// device type definition +extern const device_type VCS_CART_SLOT; + + +/*************************************************************************** + DEVICE CONFIGURATION MACROS + ***************************************************************************/ + +#define MCFG_VCS_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \ + MCFG_DEVICE_ADD(_tag, VCS_CART_SLOT, 0) \ + MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) + + +#endif diff --git a/src/mess/drivers/a2600.c b/src/mess/drivers/a2600.c index a165be50b88..c2f2dfea7cc 100644 --- a/src/mess/drivers/a2600.c +++ b/src/mess/drivers/a2600.c @@ -11,39 +11,18 @@ TODO: #include "emu.h" #include "machine/6532riot.h" #include "cpu/m6502/m6502.h" -#include "sound/wave.h" #include "sound/tiaintf.h" -#include "imagedev/cartslot.h" -#include "imagedev/cassette.h" -#include "formats/a26_cas.h" #include "video/tia.h" -#include "bus/vcs/ctrl.h" -#include "hashfile.h" +#include "bus/vcs/vcs_slot.h" +#include "bus/vcs/rom.h" +#include "bus/vcs/dpc.h" +#include "bus/vcs/scharger.h" +#include "bus/vcs/compumat.h" +#include "bus/vcs_ctrl/ctrl.h" #define CONTROL1_TAG "joyport1" #define CONTROL2_TAG "joyport2" -struct df_t { - UINT8 top; - UINT8 bottom; - UINT8 low; - UINT8 high; - UINT8 flag; - UINT8 music_mode; /* Only used by data fetchers 5,6, and 7 */ - UINT8 osc_clk; /* Only used by data fetchers 5,6, and 7 */ -}; - -struct dpc_t -{ - df_t df[8]; - UINT8 movamt; - UINT8 latch_62; - UINT8 latch_64; - UINT8 dlc; - UINT8 shift_reg; - emu_timer *oscillator; -}; - class a2600_state : public driver_device { @@ -51,1224 +30,54 @@ public: a2600_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_riot_ram(*this, "riot_ram"), - m_banking_mode(0xff), m_joy1(*this, CONTROL1_TAG), m_joy2(*this, CONTROL2_TAG) , + m_cartslot(*this, "cartslot"), m_maincpu(*this, "maincpu"), - m_cassette(*this, "cassette"), - m_modeFE_trigger_on_next_access(false), m_screen(*this, "screen") { } - dpc_t m_dpc; - memory_region* m_extra_RAM; - UINT8* m_bank_base[5]; - UINT8* m_ram_base; required_shared_ptr<UINT8> m_riot_ram; - UINT8 m_banking_mode; - unsigned m_cart_size; - unsigned m_number_banks; - unsigned m_current_bank; - unsigned m_current_reset_bank_counter; - unsigned m_mode3E_ram_enabled; - UINT8 m_modeSS_byte; - UINT32 m_modeSS_byte_started; - unsigned m_modeSS_write_delay; - unsigned m_modeSS_write_enabled; - unsigned m_modeSS_high_ram_enabled; - unsigned m_modeSS_diff_adjust; - UINT16 m_modeSS_last_address; - unsigned m_FVlocked; UINT16 m_current_screen_height; - DECLARE_DIRECT_UPDATE_MEMBER(modeF6_opbase); - DECLARE_DIRECT_UPDATE_MEMBER(modeDPC_opbase_handler); - DECLARE_READ8_MEMBER(modeF8_switch_r); - DECLARE_READ8_MEMBER(modeFA_switch_r); - DECLARE_READ8_MEMBER(modeF6_switch_r); - DECLARE_READ8_MEMBER(modeF4_switch_r); - DECLARE_READ8_MEMBER(modeE0_switch_r); - DECLARE_READ8_MEMBER(modeE7_switch_r); - DECLARE_READ8_MEMBER(modeE7_RAM_switch_r); - DECLARE_READ8_MEMBER(modeUA_switch_r); - DECLARE_READ8_MEMBER(modeDC_switch_r); - DECLARE_READ8_MEMBER(modeFV_switch_r); - DECLARE_READ8_MEMBER(modeJVP_switch_r); - DECLARE_WRITE8_MEMBER(modeF8_switch_w); - DECLARE_WRITE8_MEMBER(modeFA_switch_w); - DECLARE_WRITE8_MEMBER(modeF6_switch_w); - DECLARE_WRITE8_MEMBER(modeF4_switch_w); - DECLARE_WRITE8_MEMBER(modeE0_switch_w); - DECLARE_WRITE8_MEMBER(modeE7_switch_w); - DECLARE_WRITE8_MEMBER(modeE7_RAM_switch_w); - DECLARE_WRITE8_MEMBER(mode3F_switch_w); - DECLARE_WRITE8_MEMBER(modeUA_switch_w); - DECLARE_WRITE8_MEMBER(modeDC_switch_w); - DECLARE_WRITE8_MEMBER(mode3E_switch_w); - DECLARE_WRITE8_MEMBER(mode3E_RAM_switch_w); - DECLARE_WRITE8_MEMBER(mode3E_RAM_w); - DECLARE_WRITE8_MEMBER(modeFV_switch_w); - DECLARE_WRITE8_MEMBER(modeJVP_switch_w); - DECLARE_READ8_MEMBER(modeSS_r); - DECLARE_READ8_MEMBER(modeDPC_r); - DECLARE_WRITE8_MEMBER(modeDPC_w); - DECLARE_READ8_MEMBER(modeFE_switch_r); - DECLARE_WRITE8_MEMBER(modeFE_switch_w); - DECLARE_READ8_MEMBER(modeFE_rom_r); - DECLARE_READ8_MEMBER(current_bank_r); - DECLARE_READ16_MEMBER(a2600_read_input_port); - DECLARE_READ8_MEMBER(a2600_get_databus_contents); - DECLARE_WRITE16_MEMBER(a2600_tia_vsync_callback); - DECLARE_WRITE16_MEMBER(a2600_tia_vsync_callback_pal); - void modeDPC_check_flag(UINT8 data_fetcher); - void modeDPC_decrement_counter(UINT8 data_fetcher); - virtual void machine_reset(); DECLARE_MACHINE_START(a2600); - TIMER_CALLBACK_MEMBER(modeDPC_timer_callback); DECLARE_WRITE8_MEMBER(switch_A_w); DECLARE_READ8_MEMBER(switch_A_r); DECLARE_WRITE8_MEMBER(switch_B_w); DECLARE_WRITE_LINE_MEMBER(irq_callback); DECLARE_READ8_MEMBER(riot_input_port_8_r); - DECLARE_DEVICE_IMAGE_LOAD_MEMBER( a2600_cart ); + DECLARE_READ16_MEMBER(a2600_read_input_port); + DECLARE_READ8_MEMBER(a2600_get_databus_contents); + DECLARE_WRITE16_MEMBER(a2600_tia_vsync_callback); + DECLARE_WRITE16_MEMBER(a2600_tia_vsync_callback_pal); + // investigate how the carts mapped here (Mapper JVP) interact with the RIOT device + DECLARE_READ8_MEMBER(cart_over_riot_r); + DECLARE_WRITE8_MEMBER(cart_over_riot_w); protected: required_device<vcs_control_port_device> m_joy1; required_device<vcs_control_port_device> m_joy2; - int next_bank(); - void modeF8_switch(UINT16 offset, UINT8 data); - void modeFA_switch(UINT16 offset, UINT8 data); - void modeF6_switch(UINT16 offset, UINT8 data); - void modeF4_switch(UINT16 offset, UINT8 data); - void mode3F_switch(UINT16 offset, UINT8 data); - void modeUA_switch(UINT16 offset, UINT8 data); - void modeE0_switch(UINT16 offset, UINT8 data); - void modeE7_switch(UINT16 offset, UINT8 data); - void modeE7_RAM_switch(UINT16 offset, UINT8 data); - void modeDC_switch(UINT16 offset, UINT8 data); - void mode3E_switch(UINT16 offset, UINT8 data); - void mode3E_RAM_switch(UINT16 offset, UINT8 data); - void modeFV_switch(UINT16 offset, UINT8 data); - void modeJVP_switch(UINT16 offset, UINT8 data); - void install_banks(int count, unsigned init); - - UINT8 *m_cart; - int detect_modeDC(); - int detect_modef6(); - int detect_mode3E(); - int detect_modeSS(); - int detect_modeFE(); - int detect_modeE0(); - int detect_modeCV(); - int detect_modeFV(); - int detect_modeJVP(); - int detect_modeE7(); - int detect_modeUA(); - int detect_8K_mode3F(); - int detect_32K_mode3F(); - int detect_super_chip(); + required_device<vcs_cart_slot_device> m_cartslot; + unsigned long detect_2600controllers(); required_device<m6502_device> m_maincpu; - required_device<cassette_image_device> m_cassette; - bool m_modeFE_trigger_on_next_access; required_device<screen_device> m_screen; }; -#define CART machine().root_device().memregion("user1")->base() - #define MASTER_CLOCK_NTSC 3579545 #define MASTER_CLOCK_PAL 3546894 #define CATEGORY_SELECT 16 -enum -{ - mode2K, - mode4K, - modeF8, - modeFA, - modeF6, - modeF4, - modeFE, - modeE0, - mode3F, - modeUA, - modeE7, - modeDC, - modeCV, - mode3E, - modeSS, - modeFV, - modeDPC, - mode32in1, - modeJVP, - mode8in1, - mode4in1 -}; - static const UINT16 supported_screen_heights[4] = { 262, 312, 328, 342 }; -int a2600_state::detect_modeDC() -{ - int i,numfound = 0; - // signature is also in 'video reflex'.. maybe figure out that controller port someday... - static const unsigned char signature[3] = { 0x8d, 0xf0, 0xff }; - if (m_cart_size == 0x10000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - sizeof signature; i++) - { - if (!memcmp(&cart[i], signature,sizeof signature)) - { - numfound = 1; - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_modef6() -{ - int i, numfound = 0; - static const unsigned char signature[3] = { 0x8d, 0xf6, 0xff }; - if (m_cart_size == 0x4000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - sizeof signature; i++) - { - if (!memcmp(&cart[i], signature, sizeof signature)) - { - numfound = 1; - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_mode3E() -{ - // this one is a little hacky.. looks for STY $3e, which is unique to - // 'not boulderdash', but is the only example i have (cow) - // Would have used STA $3e, but 'Alien' and 'Star Raiders' do that for unknown reasons - - int i,numfound = 0; - static const unsigned char signature[3] = { 0x84, 0x3e, 0x9d }; - if (m_cart_size == 0x0800 || m_cart_size == 0x1000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - sizeof signature; i++) - { - if (!memcmp(&cart[i], signature,sizeof signature)) - { - numfound = 1; - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_modeSS() -{ - int i,numfound = 0; - static const unsigned char signature[5] = { 0xbd, 0xe5, 0xff, 0x95, 0x81 }; - if (m_cart_size == 0x0800 || m_cart_size == 0x1000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - sizeof signature; i++) - { - if (!memcmp(&cart[i], signature,sizeof signature)) - { - numfound = 1; - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_modeFE() -{ - int i,j,numfound = 0; - static const unsigned char signatures[][5] = { - { 0x20, 0x00, 0xd0, 0xc6, 0xc5 }, - { 0x20, 0xc3, 0xf8, 0xa5, 0x82 }, - { 0xd0, 0xfb, 0x20, 0x73, 0xfe }, - { 0x20, 0x00, 0xf0, 0x84, 0xd6 } - }; - if (m_cart_size == 0x2000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - (sizeof signatures/sizeof signatures[0]); i++) - { - for (j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) - { - if (!memcmp(&cart[i], &signatures[j],sizeof signatures[0])) - { - numfound = 1; - } - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_modeE0() -{ - int i,j,numfound = 0; - static const unsigned char signatures[][3] = { - { 0x8d, 0xe0, 0x1f }, - { 0x8d, 0xe0, 0x5f }, - { 0x8d, 0xe9, 0xff }, - { 0xad, 0xe9, 0xff }, - { 0xad, 0xed, 0xff }, - { 0xad, 0xf3, 0xbf } - }; - if (m_cart_size == 0x2000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - (sizeof signatures/sizeof signatures[0]); i++) - { - for (j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) - { - if (!memcmp(&cart[i], &signatures[j],sizeof signatures[0])) - { - numfound = 1; - } - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_modeCV() -{ - int i,j,numfound = 0; - static const unsigned char signatures[][3] = { - { 0x9d, 0xff, 0xf3 }, - { 0x99, 0x00, 0xf4 } - }; - if (m_cart_size == 0x0800 || m_cart_size == 0x1000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - (sizeof signatures/sizeof signatures[0]); i++) - { - for (j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) - { - if (!memcmp(&cart[i], &signatures[j],sizeof signatures[0])) - { - numfound = 1; - } - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_modeFV() -{ - int i,j,numfound = 0; - static const unsigned char signatures[][3] = { - { 0x2c, 0xd0, 0xff } - }; - if (m_cart_size == 0x2000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - (sizeof signatures/sizeof signatures[0]); i++) - { - for (j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) - { - if (!memcmp(&cart[i], &signatures[j],sizeof signatures[0])) - { - numfound = 1; - } - } - } - m_FVlocked = 0; - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_modeJVP() -{ - int i,j,numfound = 0; - static const unsigned char signatures[][4] = { - { 0x2c, 0xc0, 0xef, 0x60 }, - { 0x8d, 0xa0, 0x0f, 0xf0 } - }; - if (m_cart_size == 0x4000 || m_cart_size == 0x2000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - (sizeof signatures/sizeof signatures[0]); i++) - { - for (j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) - { - if (!memcmp(&cart[i], &signatures[j],sizeof signatures[0])) - { - numfound = 1; - } - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_modeE7() -{ - int i,j,numfound = 0; - static const unsigned char signatures[][3] = { - { 0xad, 0xe5, 0xff }, - { 0x8d, 0xe7, 0xff } - }; - if (m_cart_size == 0x2000 || m_cart_size == 0x4000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - (sizeof signatures/sizeof signatures[0]); i++) - { - for (j = 0; j < (sizeof signatures/sizeof signatures[0]) && !numfound; j++) - { - if (!memcmp(&cart[i], &signatures[j],sizeof signatures[0])) - { - numfound = 1; - } - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_modeUA() -{ - int i,numfound = 0; - static const unsigned char signature[3] = { 0x8d, 0x40, 0x02 }; - if (m_cart_size == 0x2000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - sizeof signature; i++) - { - if (!memcmp(&cart[i], signature,sizeof signature)) - { - numfound = 1; - } - } - } - if (numfound) return 1; - return 0; -} - -int a2600_state::detect_8K_mode3F() -{ - int i,numfound = 0; - static const unsigned char signature1[4] = { 0xa9, 0x01, 0x85, 0x3f }; - static const unsigned char signature2[4] = { 0xa9, 0x02, 0x85, 0x3f }; - // have to look for two signatures because 'not boulderdash' gives false positive otherwise - if (m_cart_size == 0x2000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - sizeof signature1; i++) - { - if (!memcmp(&cart[i], signature1,sizeof signature1)) - { - numfound |= 0x01; - } - if (!memcmp(&cart[i], signature2,sizeof signature2)) - { - numfound |= 0x02; - } - } - } - if (numfound == 0x03) return 1; - return 0; -} - -int a2600_state::detect_32K_mode3F() -{ - int i,numfound = 0; - static const unsigned char signature[4] = { 0xa9, 0x0e, 0x85, 0x3f }; - if (m_cart_size >= 0x8000) - { - UINT8 *cart = CART; - for (i = 0; i < m_cart_size - sizeof signature; i++) - { - if (!memcmp(&cart[i], signature,sizeof signature)) - { - numfound++; - } - } - } - if (numfound > 1) return 1; - return 0; -} - -int a2600_state::detect_super_chip() -{ - int i,j; - UINT8 *cart = CART; - static const unsigned char signatures[][5] = { - { 0xa2, 0x7f, 0x9d, 0x00, 0xf0 }, // dig dug - { 0xae, 0xf6, 0xff, 0x4c, 0x00 } // off the wall - }; - - if (m_cart_size == 0x4000) - { - for (i = 0; i < m_cart_size - (sizeof signatures/sizeof signatures[0]); i++) - { - for (j = 0; j < (sizeof signatures/sizeof signatures[0]); j++) - { - if (!memcmp(&cart[i], &signatures[j],sizeof signatures[0])) - { - return 1; - } - } - } - } - for (i = 0x1000; i < m_cart_size; i += 0x1000) - { - if (memcmp(cart, cart + i, 0x100)) - { - return 0; - } - } - /* Check the reset vector does not point into the super chip RAM area */ - i = ( cart[0x0FFD] << 8 ) | cart[0x0FFC]; - if ( ( i & 0x0FFF ) < 0x0100 ) - { - return 0; - } - return 1; -} - - -DEVICE_IMAGE_LOAD_MEMBER( a2600_state, a2600_cart ) -{ - UINT8 *cart = memregion("user1")->base(); - - if (image.software_entry() == NULL) - m_cart_size = image.length(); - else - m_cart_size = image.get_software_region_length("rom"); - - switch (m_cart_size) - { - case 0x00800: - case 0x01000: - case 0x02000: - case 0x028ff: - case 0x02900: - case 0x03000: - case 0x04000: - case 0x08000: - case 0x10000: - case 0x80000: - break; - - default: - image.seterror(IMAGE_ERROR_UNSUPPORTED, "Invalid rom file size" ); - return 1; /* unsupported image format */ - } - - m_current_bank = 0; - - if (image.software_entry() == NULL) - { - image.fread(cart, m_cart_size); - } - else - { - memcpy(cart, image.get_software_region("rom"), m_cart_size); - - const char *mapper = image.get_feature("mapper"); - - if ( mapper != NULL ) - { - static const struct { const char *mapper_name; int mapper_type; } mapper_types[] = - { - { "F8", modeF8 }, - { "FA", modeFA }, - { "F6", modeF6 }, - { "F4", modeF4 }, - { "FE", modeFE }, - { "E0", modeE0 }, - { "3F", mode3F }, - { "UA", modeUA }, - { "E7", modeE7 }, - { "DC", modeDC }, - { "CV", modeCV }, - { "3E", mode3E }, - { "SS", modeSS }, - { "FV", modeFV }, - { "DPC", modeDPC }, - { "32in1", mode32in1 }, - { "JVP", modeJVP }, - { "4in1", mode4in1 }, - { "8in1", mode8in1 }, - }; - - for (int i = 0; i < ARRAY_LENGTH(mapper_types) && m_banking_mode == 0xff; i++) - { - if (!core_stricmp(mapper, mapper_types[i].mapper_name)) - { - m_banking_mode = mapper_types[i].mapper_type; - } - } - } - } - - if (!(m_cart_size == 0x4000 && detect_modef6())) - { - while (m_cart_size > 0x00800) - { - if (!memcmp(cart, &cart[m_cart_size/2],m_cart_size/2)) m_cart_size /= 2; - else break; - } - } - - return 0; -} - - -int a2600_state::next_bank() -{ - return m_current_bank = (m_current_bank + 1) % 16; -} - - -void a2600_state::modeF8_switch(UINT16 offset, UINT8 data) -{ - m_bank_base[1] = m_cart + 0x2000 * m_current_reset_bank_counter + 0x1000 * offset; - membank("bank1")->set_base(m_bank_base[1]); -} - -void a2600_state::modeFA_switch(UINT16 offset, UINT8 data) -{ - m_bank_base[1] = m_cart + 0x1000 * offset; - membank("bank1")->set_base(m_bank_base[1]); -} - -void a2600_state::modeF6_switch(UINT16 offset, UINT8 data) -{ - m_bank_base[1] = m_cart + 0x1000 * offset; - membank("bank1")->set_base(m_bank_base[1]); -} - -void a2600_state::modeF4_switch(UINT16 offset, UINT8 data) -{ - m_bank_base[1] = m_cart + 0x1000 * offset; - membank("bank1")->set_base(m_bank_base[1]); -} - -void a2600_state::mode3F_switch(UINT16 offset, UINT8 data) -{ - m_bank_base[1] = m_cart + 0x800 * (data & (m_number_banks - 1)); - membank("bank1")->set_base(m_bank_base[1]); -} - -void a2600_state::modeUA_switch(UINT16 offset, UINT8 data) -{ - m_bank_base[1] = m_cart + (offset >> 6) * 0x1000; - membank("bank1")->set_base(m_bank_base[1]); -} - -void a2600_state::modeE0_switch(UINT16 offset, UINT8 data) -{ - int bank = 1 + (offset >> 3); - char bank_name[10]; - sprintf(bank_name,"bank%d",bank); - m_bank_base[bank] = m_cart + 0x400 * (offset & 7); - membank(bank_name)->set_base(m_bank_base[bank]); -} - -void a2600_state::modeE7_switch(UINT16 offset, UINT8 data) -{ - m_bank_base[1] = m_cart + 0x800 * offset; - membank("bank1")->set_base(m_bank_base[1]); -} - -void a2600_state::modeE7_RAM_switch(UINT16 offset, UINT8 data) -{ - membank("bank9")->set_base(m_extra_RAM->base() + (4 + offset) * 256 ); -} - -void a2600_state::modeDC_switch(UINT16 offset, UINT8 data) -{ - m_bank_base[1] = m_cart + 0x1000 * next_bank(); - membank("bank1")->set_base(m_bank_base[1]); -} - -void a2600_state::mode3E_switch(UINT16 offset, UINT8 data) -{ - m_bank_base[1] = m_cart + 0x800 * (data & (m_number_banks - 1)); - membank("bank1")->set_base(m_bank_base[1]); - m_mode3E_ram_enabled = 0; -} - -void a2600_state::mode3E_RAM_switch(UINT16 offset, UINT8 data) -{ - m_ram_base = m_extra_RAM->base() + 0x200 * ( data & 0x3F ); - membank("bank1")->set_base(m_ram_base); - m_mode3E_ram_enabled = 1; -} - -void a2600_state::modeFV_switch(UINT16 offset, UINT8 data) -{ - if (!m_FVlocked && ( m_maincpu->pc() & 0x1F00 ) == 0x1F00 ) - { - m_FVlocked = 1; - m_current_bank = m_current_bank ^ 0x01; - m_bank_base[1] = m_cart + 0x1000 * m_current_bank; - membank("bank1")->set_base(m_bank_base[1]); - } -} - -void a2600_state::modeJVP_switch(UINT16 offset, UINT8 data) -{ - switch( offset ) - { - case 0x00: - case 0x20: - m_current_bank ^= 1; - break; - default: - printf("%04X: write to unknown mapper address %02X\n", m_maincpu->pc(), 0xfa0 + offset ); - break; - } - m_bank_base[1] = m_cart + 0x1000 * m_current_bank; - membank("bank1")->set_base(m_bank_base[1] ); -} - - -/* These read handlers will return the byte from the new bank */ -READ8_MEMBER(a2600_state::modeF8_switch_r) -{ - if ( !space.debugger_access() ) - { - modeF8_switch(offset, 0); - } - return m_bank_base[1][0xff8 + offset]; -} - -READ8_MEMBER(a2600_state::modeFA_switch_r) -{ - if ( !space.debugger_access() ) - { - modeFA_switch(offset, 0); - } - return m_bank_base[1][0xff8 + offset]; -} - -READ8_MEMBER(a2600_state::modeF6_switch_r) -{ - if ( ! space.debugger_access() ) - { - modeF6_switch(offset, 0); - } - return m_bank_base[1][0xff6 + offset]; -} - -READ8_MEMBER(a2600_state::modeF4_switch_r) -{ - if ( ! space.debugger_access() ) - { - modeF4_switch(offset, 0); - } - return m_bank_base[1][0xff4 + offset]; -} - -READ8_MEMBER(a2600_state::modeE0_switch_r) -{ - if ( ! space.debugger_access() ) - { - modeE0_switch(offset, 0); - } - return m_bank_base[4][0x3e0 + offset]; -} - -READ8_MEMBER(a2600_state::modeE7_switch_r) -{ - if ( ! space.debugger_access() ) - { - modeE7_switch(offset, 0); - } - return m_bank_base[1][0xfe0 + offset]; -} - -READ8_MEMBER(a2600_state::modeE7_RAM_switch_r) -{ - if ( ! space.debugger_access() ) - { - modeE7_RAM_switch(offset, 0); - } - return 0; -} - -READ8_MEMBER(a2600_state::modeUA_switch_r) -{ - if ( ! space.debugger_access() ) - { - modeUA_switch(offset, 0); - } - return 0; -} - -READ8_MEMBER(a2600_state::modeDC_switch_r) -{ - if ( ! space.debugger_access() ) - { - modeDC_switch(offset, 0); - } - return m_bank_base[1][0xff0 + offset]; -} - -READ8_MEMBER(a2600_state::modeFV_switch_r) -{ - if ( ! space.debugger_access() ) - { - modeFV_switch(offset, 0); - } - return m_bank_base[1][0xfd0 + offset]; -} - -READ8_MEMBER(a2600_state::modeJVP_switch_r) -{ - if ( ! space.debugger_access() ) - { - modeJVP_switch(offset, 0); - } - return m_riot_ram[ 0x20 + offset ]; -} - - -WRITE8_MEMBER(a2600_state::modeF8_switch_w){ modeF8_switch(offset, data); } -WRITE8_MEMBER(a2600_state::modeFA_switch_w){ modeFA_switch(offset, data); } -WRITE8_MEMBER(a2600_state::modeF6_switch_w){ modeF6_switch(offset, data); } -WRITE8_MEMBER(a2600_state::modeF4_switch_w){ modeF4_switch(offset, data); } -WRITE8_MEMBER(a2600_state::modeE0_switch_w){ modeE0_switch(offset, data); } -WRITE8_MEMBER(a2600_state::modeE7_switch_w){ modeE7_switch(offset, data); } -WRITE8_MEMBER(a2600_state::modeE7_RAM_switch_w){ modeE7_RAM_switch(offset, data); } -WRITE8_MEMBER(a2600_state::mode3F_switch_w){ mode3F_switch(offset, data); } -WRITE8_MEMBER(a2600_state::modeUA_switch_w){ modeUA_switch(offset, data); } -WRITE8_MEMBER(a2600_state::modeDC_switch_w){ modeDC_switch(offset, data); } -WRITE8_MEMBER(a2600_state::mode3E_switch_w){ mode3E_switch(offset, data); } -WRITE8_MEMBER(a2600_state::mode3E_RAM_switch_w){ mode3E_RAM_switch(offset, data); } -WRITE8_MEMBER(a2600_state::mode3E_RAM_w) -{ - if ( m_mode3E_ram_enabled ) - { - m_ram_base[offset] = data; - } -} -WRITE8_MEMBER(a2600_state::modeFV_switch_w){ modeFV_switch(offset, data); } -WRITE8_MEMBER(a2600_state::modeJVP_switch_w) -{ - modeJVP_switch(offset, data); m_riot_ram[ 0x20 + offset ] = data; -} - - -DIRECT_UPDATE_MEMBER(a2600_state::modeF6_opbase) -{ - if ( ( address & 0x1FFF ) >= 0x1FF6 && ( address & 0x1FFF ) <= 0x1FF9 ) - { - if ( ! direct.space().debugger_access() ) - { - modeF6_switch_w(m_maincpu->space(AS_PROGRAM), ( address & 0x1FFF ) - 0x1FF6, 0 ); - } - } - return address; -} - - -READ8_MEMBER(a2600_state::modeSS_r) -{ - UINT8 data = ( offset & 0x800 ) ? m_bank_base[2][offset & 0x7FF] : m_bank_base[1][offset]; - - if ( space.debugger_access() ) - { - return data; - } - - //logerror("%04X: read from modeSS area offset = %04X\n", m_maincpu->pc(), offset); - /* Check for control register "write" */ - if ( offset == 0xFF8 ) - { - //logerror("%04X: write to modeSS control register data = %02X\n", m_maincpu->pc(), m_modeSS_byte); - m_modeSS_write_enabled = m_modeSS_byte & 0x02; - m_modeSS_write_delay = m_modeSS_byte >> 5; - switch ( m_modeSS_byte & 0x1C ) - { - case 0x00: - m_bank_base[1] = m_extra_RAM->base() + 2 * 0x800; - m_bank_base[2] = ( m_modeSS_byte & 0x01 ) ? memregion("maincpu")->base() + 0x1800 : memregion("user1")->base(); - m_modeSS_high_ram_enabled = 0; - break; - case 0x04: - m_bank_base[1] = m_extra_RAM->base(); - m_bank_base[2] = ( m_modeSS_byte & 0x01 ) ? memregion("maincpu")->base() + 0x1800 : memregion("user1")->base(); - m_modeSS_high_ram_enabled = 0; - break; - case 0x08: - m_bank_base[1] = m_extra_RAM->base() + 2 * 0x800; - m_bank_base[2] = m_extra_RAM->base(); - m_modeSS_high_ram_enabled = 1; - break; - case 0x0C: - m_bank_base[1] = m_extra_RAM->base(); - m_bank_base[2] = m_extra_RAM->base() + 2 * 0x800; - m_modeSS_high_ram_enabled = 1; - break; - case 0x10: - m_bank_base[1] = m_extra_RAM->base() + 2 * 0x800; - m_bank_base[2] = ( m_modeSS_byte & 0x01 ) ? memregion("maincpu")->base() + 0x1800 : memregion("user1")->base(); - m_modeSS_high_ram_enabled = 0; - break; - case 0x14: - m_bank_base[1] = m_extra_RAM->base() + 0x800; - m_bank_base[2] = ( m_modeSS_byte & 0x01 ) ? memregion("maincpu")->base() + 0x1800 : memregion("user1")->base(); - m_modeSS_high_ram_enabled = 0; - break; - case 0x18: - m_bank_base[1] = m_extra_RAM->base() + 2 * 0x800; - m_bank_base[2] = m_extra_RAM->base() + 0x800; - m_modeSS_high_ram_enabled = 1; - break; - case 0x1C: - m_bank_base[1] = m_extra_RAM->base() + 0x800; - m_bank_base[2] = m_extra_RAM->base() + 2 * 0x800; - m_modeSS_high_ram_enabled = 1; - break; - } - membank("bank1")->set_base(m_bank_base[1] ); - membank("bank2")->set_base(m_bank_base[2] ); - // Make sure we do not trigger a spurious RAM write - m_modeSS_byte_started -= 5; - } - else if ( offset == 0xFF9 ) - { - /* Cassette port read */ - double tap_val = m_cassette->input(); - //logerror("%04X: Cassette port read, tap_val = %f\n", m_maincpu->pc(), tap_val); - if ( tap_val < 0 ) - { - data = 0x00; - } - else - { - data = 0x01; - } - // Make sure we do not trigger a spurious RAM write - m_modeSS_byte_started -= 5; - } - else - { - /* Possible RAM write */ - if ( m_modeSS_write_enabled ) - { - /* Check for dummy read from same address */ - if ( m_modeSS_last_address == offset ) - { - m_modeSS_diff_adjust += 1; - } - - int diff = m_maincpu->total_cycles() - m_modeSS_byte_started; - //logerror("%04X: offset = %04X, %d\n", m_maincpu->pc(), offset, diff); - if ( diff - m_modeSS_diff_adjust == 5 ) - { - //logerror("%04X: RAM write offset = %04X, data = %02X\n", m_maincpu->pc(), offset, m_modeSS_byte ); - if ( offset & 0x800 ) - { - if ( m_modeSS_high_ram_enabled ) - { - m_bank_base[2][offset & 0x7FF] = m_modeSS_byte; - data = m_modeSS_byte; - } - } - else - { - m_bank_base[1][offset] = m_modeSS_byte; - data = m_modeSS_byte; - } - } - else if ( offset < 0x0100 ) - { - m_modeSS_byte = offset; - m_modeSS_byte_started = m_maincpu->total_cycles(); - m_modeSS_diff_adjust = 0; - } - m_modeSS_last_address = offset; - } - else if ( offset < 0x0100 ) - { - m_modeSS_byte = offset; - m_modeSS_byte_started = m_maincpu->total_cycles(); - m_modeSS_last_address = offset; - m_modeSS_diff_adjust = 0; - } - } - return data; -} - -void a2600_state::modeDPC_check_flag(UINT8 data_fetcher) -{ - /* Set flag when low counter equals top */ - if ( m_dpc.df[data_fetcher].low == m_dpc.df[data_fetcher].top ) - { - m_dpc.df[data_fetcher].flag = 1; - } - /* Reset flag when low counter equals bottom */ - if ( m_dpc.df[data_fetcher].low == m_dpc.df[data_fetcher].bottom ) - { - m_dpc.df[data_fetcher].flag = 0; - } -} - -void a2600_state::modeDPC_decrement_counter(UINT8 data_fetcher) -{ - m_dpc.df[data_fetcher].low -= 1; - if ( m_dpc.df[data_fetcher].low == 0xFF ) - { - m_dpc.df[data_fetcher].high -= 1; - if ( data_fetcher > 4 && m_dpc.df[data_fetcher].music_mode ) - { - m_dpc.df[data_fetcher].low = m_dpc.df[data_fetcher].top; - } - } - - modeDPC_check_flag(data_fetcher ); -} - -TIMER_CALLBACK_MEMBER(a2600_state::modeDPC_timer_callback) -{ - int data_fetcher; - for( data_fetcher = 5; data_fetcher < 8; data_fetcher++ ) - { - if ( m_dpc.df[data_fetcher].osc_clk ) - { - modeDPC_decrement_counter(data_fetcher ); - } - } -} - -DIRECT_UPDATE_MEMBER(a2600_state::modeDPC_opbase_handler) -{ - if ( ! direct.space().debugger_access() ) - { - UINT8 new_bit; - new_bit = ( m_dpc.shift_reg & 0x80 ) ^ ( ( m_dpc.shift_reg & 0x20 ) << 2 ); - new_bit = new_bit ^ ( ( ( m_dpc.shift_reg & 0x10 ) << 3 ) ^ ( ( m_dpc.shift_reg & 0x08 ) << 4 ) ); - new_bit = new_bit ^ 0x80; - m_dpc.shift_reg = new_bit | ( m_dpc.shift_reg >> 1 ); - } - return address; -} - -READ8_MEMBER(a2600_state::modeDPC_r) -{ - static const UINT8 dpc_amplitude[8] = { 0x00, 0x04, 0x05, 0x09, 0x06, 0x0A, 0x0B, 0x0F }; - UINT8 data_fetcher = offset & 0x07; - UINT8 data = 0xFF; - - logerror("%04X: Read from DPC offset $%02X\n", m_maincpu->pc(), offset); - if ( offset < 0x08 ) - { - switch( offset & 0x06 ) - { - case 0x00: /* Random number generator */ - case 0x02: - return m_dpc.shift_reg; - case 0x04: /* Sound value, MOVAMT value AND'd with Draw Line Carry; with Draw Line Add */ - m_dpc.latch_62 = m_dpc.latch_64; - case 0x06: /* Sound value, MOVAMT value AND'd with Draw Line Carry; without Draw Line Add */ - m_dpc.latch_64 = m_dpc.latch_62 + m_dpc.df[4].top; - m_dpc.dlc = ( m_dpc.latch_62 + m_dpc.df[4].top > 0xFF ) ? 1 : 0; - data = 0; - if ( m_dpc.df[5].music_mode && m_dpc.df[5].flag ) - { - data |= 0x01; - } - if ( m_dpc.df[6].music_mode && m_dpc.df[6].flag ) - { - data |= 0x02; - } - if ( m_dpc.df[7].music_mode && m_dpc.df[7].flag ) - { - data |= 0x04; - } - return ( m_dpc.dlc ? m_dpc.movamt & 0xF0 : 0 ) | dpc_amplitude[data]; - } - } - else - { - UINT8 display_data = memregion("user1")->base()[0x2000 + ( ~ ( ( m_dpc.df[data_fetcher].low | ( m_dpc.df[data_fetcher].high << 8 ) ) ) & 0x7FF ) ]; - - switch( offset & 0x38 ) - { - case 0x08: /* display data */ - data = display_data; - break; - case 0x10: /* display data AND'd w/flag */ - data = m_dpc.df[data_fetcher].flag ? display_data : 0x00; - break; - case 0x18: /* display data AND'd w/flag, nibbles swapped */ - data = m_dpc.df[data_fetcher].flag ? BITSWAP8(display_data,3,2,1,0,7,6,5,4) : 0x00; - break; - case 0x20: /* display data AND'd w/flag, byte reversed */ - data = m_dpc.df[data_fetcher].flag ? BITSWAP8(display_data,0,1,2,3,4,5,6,7) : 0x00; - break; - case 0x28: /* display data AND'd w/flag, rotated right */ - data = m_dpc.df[data_fetcher].flag ? ( display_data >> 1 ) : 0x00; - break; - case 0x30: /* display data AND'd w/flag, rotated left */ - data = m_dpc.df[data_fetcher].flag ? ( display_data << 1 ) : 0x00; - break; - case 0x38: /* flag */ - data = m_dpc.df[data_fetcher].flag ? 0xFF : 0x00; - break; - } - - if ( data_fetcher < 5 || ! m_dpc.df[data_fetcher].osc_clk ) - { - modeDPC_decrement_counter(data_fetcher ); - } - } - return data; -} - -WRITE8_MEMBER(a2600_state::modeDPC_w) -{ - UINT8 data_fetcher = offset & 0x07; - - switch( offset & 0x38 ) - { - case 0x00: /* Top count */ - m_dpc.df[data_fetcher].top = data; - m_dpc.df[data_fetcher].flag = 0; - modeDPC_check_flag(data_fetcher ); - break; - case 0x08: /* Bottom count */ - m_dpc.df[data_fetcher].bottom = data; - modeDPC_check_flag(data_fetcher ); - break; - case 0x10: /* Counter low */ - m_dpc.df[data_fetcher].low = data; - if ( data_fetcher == 4 ) - { - m_dpc.latch_64 = data; - } - if ( data_fetcher > 4 && m_dpc.df[data_fetcher].music_mode ) - { - m_dpc.df[data_fetcher].low = m_dpc.df[data_fetcher].top; - } - modeDPC_check_flag(data_fetcher ); - break; - case 0x18: /* Counter high */ - m_dpc.df[data_fetcher].high = data; - m_dpc.df[data_fetcher].music_mode = data & 0x10; - m_dpc.df[data_fetcher].osc_clk = data & 0x20; - if ( data_fetcher > 4 && m_dpc.df[data_fetcher].music_mode && m_dpc.df[data_fetcher].low == 0xFF ) - { - m_dpc.df[data_fetcher].low = m_dpc.df[data_fetcher].top; - modeDPC_check_flag(data_fetcher ); - } - break; - case 0x20: /* Draw line movement value / MOVAMT */ - m_dpc.movamt = data; - break; - case 0x28: /* Not used */ - logerror("%04X: Write to unused DPC register $%02X, data $%02X\n", m_maincpu->pc(), offset, data); - break; - case 0x30: /* Random number generator reset */ - m_dpc.shift_reg = 0; - break; - case 0x38: /* Not used */ - logerror("%04X: Write to unused DPC register $%02X, data $%02X\n", m_maincpu->pc(), offset, data); - break; - } -} - -/* - -There seems to be a kind of lag between the writing to address 0x1FE and the -Activision switcher springing into action. It waits for the next byte to arrive -on the data bus, which is the new PCH in the case of a JSR, and the PCH of the -stored PC on the stack in the case of an RTS. - -depending on last byte & 0x20 -> 0x00 -> switch to bank #1 - -> 0x20 -> switch to bank #0 - - */ - - -READ8_MEMBER(a2600_state::modeFE_switch_r) -{ - UINT8 data = space.read_byte(0xFE + offset ); - - if ( ! space.debugger_access() ) - { - switch ( offset & 1 ) - { - case 0: - /* The next byte on the data bus determines which bank to switch to */ - m_modeFE_trigger_on_next_access = true; - break; - - case 1: - if ( m_modeFE_trigger_on_next_access ) { - m_bank_base[1] = m_cart + 0x1000 * ( ( data & 0x20 ) ? 0 : 1 ); - m_modeFE_trigger_on_next_access = false; - } - break; - } - } - return data; -} - - -WRITE8_MEMBER(a2600_state::modeFE_switch_w) -{ - space.write_byte(0xFE, data ); - if ( ! space.debugger_access() ) - { - /* The next byte on the data bus determines which bank to switch to */ - m_modeFE_trigger_on_next_access = true; - } -} - - -READ8_MEMBER(a2600_state::modeFE_rom_r) -{ - UINT8 data = m_bank_base[1][offset];; - - if ( ! space.debugger_access() ) - { - if ( m_modeFE_trigger_on_next_access ) - { - m_bank_base[1] = m_cart + 0x1000 * ( ( data & 0x20 ) ? 0 : 1 ); - m_modeFE_trigger_on_next_access = false; - } - } - - return data; -} - - -READ8_MEMBER(a2600_state::current_bank_r) -{ - return m_current_bank; -} static ADDRESS_MAP_START(a2600_mem, AS_PROGRAM, 8, a2600_state ) ADDRESS_MAP_GLOBAL_MASK(0x1fff) - AM_RANGE(0x0000, 0x007F) AM_MIRROR(0x0F00) AM_DEVREADWRITE("tia_video", tia_video_device, read, write) - AM_RANGE(0x0080, 0x00FF) AM_MIRROR(0x0D00) AM_RAM AM_SHARE("riot_ram") - AM_RANGE(0x0280, 0x029F) AM_MIRROR(0x0D00) AM_DEVREADWRITE("riot", riot6532_device, read, write) - AM_RANGE(0x1000, 0x1FFF) AM_ROMBANK("bank1") + AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0f00) AM_DEVREADWRITE("tia_video", tia_video_device, read, write) + AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0d00) AM_RAM AM_SHARE("riot_ram") + AM_RANGE(0x0280, 0x029f) AM_MIRROR(0x0d00) AM_DEVREADWRITE("riot", riot6532_device, read, write) + // AM_RANGE(0x1000, 0x1fff) is cart data and it is configured at reset time, depending on the mounted cart! ADDRESS_MAP_END WRITE8_MEMBER(a2600_state::switch_A_w) @@ -1313,28 +122,6 @@ READ8_MEMBER(a2600_state::riot_input_port_8_r) return ioport("SWB")->read(); } -void a2600_state::install_banks(int count, unsigned init) -{ - int i; - - for (i = 0; i < count; i++) - { - static const char *const handler[] = - { - "bank1", - "bank2", - "bank3", - "bank4", - }; - - m_maincpu->space(AS_PROGRAM).install_read_bank( - 0x1000 + (i + 0) * 0x1000 / count - 0, - 0x1000 + (i + 1) * 0x1000 / count - 1, handler[i]); - - m_bank_base[i + 1] = m_cart + init; - membank(handler[i])->set_base(m_bank_base[i + 1]); - } -} READ16_MEMBER(a2600_state::a2600_read_input_port) { @@ -1442,16 +229,85 @@ WRITE16_MEMBER(a2600_state::a2600_tia_vsync_callback_pal) } } +// TODO: is this the correct behavior for the real hardware?!? +READ8_MEMBER(a2600_state::cart_over_riot_r) +{ + if (!space.debugger_access()) + if (m_cartslot) + m_cartslot->write_bank(space, offset, 0); + return m_riot_ram[0x20 + offset]; +} + +WRITE8_MEMBER(a2600_state::cart_over_riot_w) +{ + if (m_cartslot) + m_cartslot->write_bank(space, offset, 0); + m_riot_ram[0x20 + offset] = data; + +} MACHINE_START_MEMBER(a2600_state,a2600) { m_current_screen_height = m_screen->height(); - m_extra_RAM = machine().memory().region_alloc("user2", 0x8600, 1, ENDIANNESS_LITTLE); - memset( m_riot_ram, 0x00, 0x80 ); - m_current_reset_bank_counter = 0xFF; - m_dpc.oscillator = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(a2600_state::modeDPC_timer_callback),this)); - m_cart = CART; - m_modeSS_last_address = 0; + memset(m_riot_ram, 0x00, 0x80); + + switch (m_cartslot->get_cart_type()) + { + case A26_2K: + case A26_4K: + case A26_F4: + case A26_F8: + case A26_F8SW: + case A26_FA: + case A26_E0: + case A26_E7: + case A26_CV: + case A26_DC: + case A26_FV: + case A26_8IN1: + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot), write8_delegate(FUNC(vcs_cart_slot_device::write_bank),(vcs_cart_slot_device*)m_cartslot)); + break; + case A26_F6: + case A26_DPC: + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot), write8_delegate(FUNC(vcs_cart_slot_device::write_bank),(vcs_cart_slot_device*)m_cartslot)); + m_maincpu->space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(vcs_cart_slot_device::cart_opbase),(vcs_cart_slot_device*)m_cartslot)); + break; + case A26_FE: + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot), write8_delegate(FUNC(vcs_cart_slot_device::write_ram),(vcs_cart_slot_device*)m_cartslot)); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x01fe, 0x01ff, read8_delegate(FUNC(vcs_cart_slot_device::read_bank),(vcs_cart_slot_device*)m_cartslot)); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x01fe, 0x01fe, write8_delegate(FUNC(vcs_cart_slot_device::write_bank),(vcs_cart_slot_device*)m_cartslot)); + break; + case A26_3E: + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot), write8_delegate(FUNC(vcs_cart_slot_device::write_ram),(vcs_cart_slot_device*)m_cartslot)); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x3e, 0x3f, write8_delegate(FUNC(vcs_cart_slot_device::write_bank),(vcs_cart_slot_device*)m_cartslot)); + break; + case A26_3F: + m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot)); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x00, 0x3f, write8_delegate(FUNC(vcs_cart_slot_device::write_bank),(vcs_cart_slot_device*)m_cartslot)); + break; + case A26_UA: + m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot)); + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x200, 0x27f, read8_delegate(FUNC(vcs_cart_slot_device::read_bank),(vcs_cart_slot_device*)m_cartslot), write8_delegate(FUNC(vcs_cart_slot_device::write_bank),(vcs_cart_slot_device*)m_cartslot)); + break; + case A26_JVP: + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot), write8_delegate(FUNC(vcs_cart_slot_device::write_bank),(vcs_cart_slot_device*)m_cartslot)); + // to verify the actual behavior... + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xfa0, 0xfc0, read8_delegate(FUNC(a2600_state::cart_over_riot_r), this), write8_delegate(FUNC(a2600_state::cart_over_riot_w), this)); + break; + case A26_4IN1: + case A26_32IN1: + m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot)); + break; + case A26_SS: + m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot)); + break; + case A26_CM: + m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cartslot)); + break; + } + + /* Banks may have changed, reset the cpu so it uses the correct reset vector */ + m_maincpu->reset(); } @@ -1535,349 +391,9 @@ unsigned a2600_state::long detect_2600controllers() } #endif -void a2600_state::machine_reset() -{ - address_space& space = m_maincpu->space(AS_PROGRAM); - int chip = 0xFF; - static const unsigned char snowwhite[] = { 0x10, 0xd0, 0xff, 0xff }; // Snow White Proto - - m_current_reset_bank_counter++; - - /* auto-detect bank mode */ - if (m_banking_mode == 0xff) if (detect_modeDC()) m_banking_mode = modeDC; - if (m_banking_mode == 0xff) if (detect_mode3E()) m_banking_mode = mode3E; - if (m_banking_mode == 0xff) if (detect_modeFE()) m_banking_mode = modeFE; - if (m_banking_mode == 0xff) if (detect_modeSS()) m_banking_mode = modeSS; - if (m_banking_mode == 0xff) if (detect_modeE0()) m_banking_mode = modeE0; - if (m_banking_mode == 0xff) if (detect_modeCV()) m_banking_mode = modeCV; - if (m_banking_mode == 0xff) if (detect_modeFV()) m_banking_mode = modeFV; - if (m_banking_mode == 0xff) if (detect_modeJVP()) m_banking_mode = modeJVP; - if (m_banking_mode == 0xff) if (detect_modeUA()) m_banking_mode = modeUA; - if (m_banking_mode == 0xff) if (detect_8K_mode3F()) m_banking_mode = mode3F; - if (m_banking_mode == 0xff) if (detect_32K_mode3F()) m_banking_mode = mode3F; - if (m_banking_mode == 0xff) if (detect_modeE7()) m_banking_mode = modeE7; - - if (m_banking_mode == 0xff) - { - switch (m_cart_size) - { - case 0x800: - m_banking_mode = mode2K; - break; - case 0x1000: - m_banking_mode = mode4K; - break; - case 0x2000: - m_banking_mode = modeF8; - break; - case 0x28FF: - case 0x2900: - m_banking_mode = modeDPC; - break; - case 0x3000: - m_banking_mode = modeFA; - break; - case 0x4000: - m_banking_mode = modeF6; - break; - case 0x8000: - m_banking_mode = modeF4; - break; - case 0x10000: - m_banking_mode = mode32in1; - break; - case 0x80000: - m_banking_mode = mode3F; - break; - } - } - - /* auto-detect super chip */ - - chip = 0; - - if (m_cart_size == 0x2000 || m_cart_size == 0x4000 || m_cart_size == 0x8000) - { - chip = detect_super_chip(); - } - - /* Super chip games: - dig dig, crystal castles, millipede, stargate, defender ii, jr. Pac Man, - desert falcon, dark chambers, super football, sprintmaster, fatal run, - off the wall, shooting arcade, secret quest, radar lock, save mary, klax - */ - - /* set up ROM banks */ - - switch (m_banking_mode) - { - case mode2K: - install_banks(2, 0x0000); - break; - - case mode4K: - install_banks(1, 0x0000); - break; - - case mode4in1: - m_current_reset_bank_counter = m_current_reset_bank_counter & 0x03; - install_banks(1, m_current_reset_bank_counter * 0x1000); - break; - - case mode8in1: - m_current_reset_bank_counter = m_current_reset_bank_counter & 0x07; - if ( m_current_reset_bank_counter == 7 ) - { - /* Special case for Yar's Revenge */ - install_banks(1, 0x2000 * m_current_reset_bank_counter + 0x0000); - } - else - { - install_banks(1, 0x2000 * m_current_reset_bank_counter + 0x1000); - } - break; - - case modeF8: - m_current_reset_bank_counter = 0; - if (!memcmp(&CART[0x1ffc],snowwhite,sizeof(snowwhite))) - { - install_banks(1, 0x0000); - } - else - { - install_banks(1, 0x1000); - } - break; - - case modeFA: - install_banks(1, 0x2000); - break; - - case modeF6: - install_banks(1, 0x0000); - break; - - case modeF4: - install_banks(1, 0x7000); - break; - - case modeFE: - install_banks(1, 0x0000); - break; - - case modeE0: - install_banks(4, 0x1c00); - break; - - case mode3F: - install_banks(2, m_cart_size - 0x800); - m_number_banks = m_cart_size / 0x800; - break; - - case modeUA: - install_banks(1, 0x1000); - break; - - case modeE7: - install_banks(2, 0x3800); - break; - - case modeDC: - install_banks(1, 0x1000 * m_current_bank); - break; - - case modeCV: - install_banks(2, 0x0000); - break; - - case mode3E: - install_banks(2, m_cart_size - 0x800); - m_number_banks = m_cart_size / 0x800; - m_mode3E_ram_enabled = 0; - break; - - case modeSS: - install_banks(2, 0x0000); - break; - - case modeFV: - install_banks(1, 0x0000); - m_current_bank = 0; - break; - - case modeDPC: - m_current_reset_bank_counter = 0; - install_banks(1, 0x0000); - break; - - case mode32in1: - install_banks(2, 0x0000); - m_current_reset_bank_counter = m_current_reset_bank_counter & 0x1F; - break; - - case modeJVP: - m_current_reset_bank_counter = m_current_reset_bank_counter & 1; - if ( m_cart_size == 0x2000 ) - m_current_reset_bank_counter = 0; - m_current_bank = m_current_reset_bank_counter * 2; - install_banks(1, 0x1000 * m_current_bank); - break; - } - - /* set up bank counter */ - - if (m_banking_mode == modeDC) - { - space.install_read_handler(0x1fec, 0x1fec, read8_delegate(FUNC(a2600_state::current_bank_r),this)); - } - - /* set up bank switch registers */ - - switch (m_banking_mode) - { - case modeF8: - case mode8in1: - space.install_write_handler(0x1ff8, 0x1ff9, write8_delegate(FUNC(a2600_state::modeF8_switch_w),this)); - space.install_read_handler(0x1ff8, 0x1ff9, read8_delegate(FUNC(a2600_state::modeF8_switch_r),this)); - break; - - case modeFA: - space.install_write_handler(0x1ff8, 0x1ffa, write8_delegate(FUNC(a2600_state::modeFA_switch_w),this)); - space.install_read_handler(0x1ff8, 0x1ffa, read8_delegate(FUNC(a2600_state::modeFA_switch_r),this)); - break; - - case modeF6: - space.install_write_handler(0x1ff6, 0x1ff9, write8_delegate(FUNC(a2600_state::modeF6_switch_w),this)); - space.install_read_handler(0x1ff6, 0x1ff9, read8_delegate(FUNC(a2600_state::modeF6_switch_r),this)); - space.set_direct_update_handler(direct_update_delegate(FUNC(a2600_state::modeF6_opbase), this)); - break; - - case modeF4: - space.install_write_handler(0x1ff4, 0x1ffb, write8_delegate(FUNC(a2600_state::modeF4_switch_w),this)); - space.install_read_handler(0x1ff4, 0x1ffb, read8_delegate(FUNC(a2600_state::modeF4_switch_r),this)); - break; - - case modeE0: - space.install_write_handler(0x1fe0, 0x1ff8, write8_delegate(FUNC(a2600_state::modeE0_switch_w),this)); - space.install_read_handler(0x1fe0, 0x1ff8, read8_delegate(FUNC(a2600_state::modeE0_switch_r),this)); - break; - - case mode3F: - space.install_write_handler(0x00, 0x3f, write8_delegate(FUNC(a2600_state::mode3F_switch_w),this)); - break; - - case modeUA: - space.install_write_handler(0x200, 0x27f, write8_delegate(FUNC(a2600_state::modeUA_switch_w),this)); - space.install_read_handler(0x200, 0x27f, read8_delegate(FUNC(a2600_state::modeUA_switch_r),this)); - break; - - case modeE7: - space.install_write_handler(0x1fe0, 0x1fe7, write8_delegate(FUNC(a2600_state::modeE7_switch_w),this)); - space.install_read_handler(0x1fe0, 0x1fe7, read8_delegate(FUNC(a2600_state::modeE7_switch_r),this)); - space.install_write_handler(0x1fe8, 0x1feb, write8_delegate(FUNC(a2600_state::modeE7_RAM_switch_w),this)); - space.install_read_handler(0x1fe8, 0x1feb, read8_delegate(FUNC(a2600_state::modeE7_RAM_switch_r),this)); - space.install_write_bank(0x1800, 0x18ff, "bank9"); - space.install_read_bank(0x1900, 0x19ff, "bank9"); - membank("bank9")->set_base(m_extra_RAM->base() + 4 * 256 ); - break; - - case modeDC: - space.install_write_handler(0x1ff0, 0x1ff0, write8_delegate(FUNC(a2600_state::modeDC_switch_w),this)); - space.install_read_handler(0x1ff0, 0x1ff0, read8_delegate(FUNC(a2600_state::modeDC_switch_r),this)); - break; - - case modeFE: - space.install_write_handler(0x01fe, 0x01fe, write8_delegate(FUNC(a2600_state::modeFE_switch_w),this)); - space.install_read_handler(0x01fe, 0x01ff, read8_delegate(FUNC(a2600_state::modeFE_switch_r),this)); - space.install_read_handler(0x1000, 0x1fff, read8_delegate(FUNC(a2600_state::modeFE_rom_r),this)); - m_modeFE_trigger_on_next_access = false; - break; - - case mode3E: - space.install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(a2600_state::mode3E_RAM_switch_w),this)); - space.install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(a2600_state::mode3E_switch_w),this)); - space.install_write_handler(0x1400, 0x15ff, write8_delegate(FUNC(a2600_state::mode3E_RAM_w),this)); - break; - - case modeSS: - space.install_read_handler(0x1000, 0x1fff, read8_delegate(FUNC(a2600_state::modeSS_r),this)); - m_bank_base[1] = m_extra_RAM->base() + 2 * 0x800; - m_bank_base[2] = CART; - membank("bank1")->set_base(m_bank_base[1] ); - membank("bank2")->set_base(m_bank_base[2] ); - m_modeSS_write_enabled = 0; - m_modeSS_byte_started = 0; - /* The Supercharger has no motor control so just enable it */ - m_cassette->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MOTOR_DISABLED ); - break; - - case modeFV: - space.install_write_handler(0x1fd0, 0x1fd0, write8_delegate(FUNC(a2600_state::modeFV_switch_w),this)); - space.install_read_handler(0x1fd0, 0x1fd0, read8_delegate(FUNC(a2600_state::modeFV_switch_r),this)); - break; - - case modeDPC: - space.install_read_handler(0x1000, 0x103f, read8_delegate(FUNC(a2600_state::modeDPC_r),this)); - space.install_write_handler(0x1040, 0x107f, write8_delegate(FUNC(a2600_state::modeDPC_w),this)); - space.install_write_handler(0x1ff8, 0x1ff9, write8_delegate(FUNC(a2600_state::modeF8_switch_w),this)); - space.install_read_handler(0x1ff8, 0x1ff9, read8_delegate(FUNC(a2600_state::modeF8_switch_r),this)); - space.set_direct_update_handler(direct_update_delegate(FUNC(a2600_state::modeDPC_opbase_handler), this)); - { - int data_fetcher; - for( data_fetcher = 0; data_fetcher < 8; data_fetcher++ ) - { - m_dpc.df[data_fetcher].osc_clk = 0; - m_dpc.df[data_fetcher].flag = 0; - m_dpc.df[data_fetcher].music_mode = 0; - } - } - m_dpc.oscillator->adjust(attotime::from_hz(18400), 0, attotime::from_hz(18400)); - break; - - case mode32in1: - membank("bank1")->set_base(CART + m_current_reset_bank_counter * 0x800 ); - membank("bank2")->set_base(CART + m_current_reset_bank_counter * 0x800 ); - break; - - case modeJVP: - space.install_read_handler(0x0FA0, 0x0FC0, read8_delegate(FUNC(a2600_state::modeJVP_switch_r),this)); - space.install_write_handler(0x0FA0, 0x0FC0, write8_delegate(FUNC(a2600_state::modeJVP_switch_w),this)); - break; - } - - /* set up extra RAM */ - - if (m_banking_mode == modeFA) - { - space.install_write_bank(0x1000, 0x10ff, "bank9"); - space.install_read_bank(0x1100, 0x11ff, "bank9"); - - membank("bank9")->set_base(m_extra_RAM->base()); - } - - if (m_banking_mode == modeCV) - { - space.install_write_bank(0x1400, 0x17ff, "bank9"); - space.install_read_bank(0x1000, 0x13ff, "bank9"); - - membank("bank9")->set_base(m_extra_RAM->base()); - } - - if (chip) - { - space.install_write_bank(0x1000, 0x107f, "bank9"); - space.install_read_bank(0x1080, 0x10ff, "bank9"); - - membank("bank9")->set_base(m_extra_RAM->base()); - } - - /* Banks may have changed, reset the cpu so it uses the correct reset vector */ - m_maincpu->reset(); -} - static INPUT_PORTS_START( a2600 ) - PORT_START("SWB") /* SWCHB */ + PORT_START("SWB") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Reset Game") PORT_CODE(KEYCODE_2) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Select Game") PORT_CODE(KEYCODE_1) PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -1895,12 +411,34 @@ static INPUT_PORTS_START( a2600 ) INPUT_PORTS_END +static SLOT_INTERFACE_START(a2600_cart) + SLOT_INTERFACE_INTERNAL("a26_2k", A26_ROM_2K) + SLOT_INTERFACE_INTERNAL("a26_4k", A26_ROM_4K) + SLOT_INTERFACE_INTERNAL("a26_f4", A26_ROM_F4) + SLOT_INTERFACE_INTERNAL("a26_f6", A26_ROM_F6) + SLOT_INTERFACE_INTERNAL("a26_f8", A26_ROM_F8) + SLOT_INTERFACE_INTERNAL("a26_f8sw", A26_ROM_F8_SW) + SLOT_INTERFACE_INTERNAL("a26_fa", A26_ROM_FA) + SLOT_INTERFACE_INTERNAL("a26_fe", A26_ROM_FE) + SLOT_INTERFACE_INTERNAL("a26_3e", A26_ROM_3E) + SLOT_INTERFACE_INTERNAL("a26_3f", A26_ROM_3F) + SLOT_INTERFACE_INTERNAL("a26_e0", A26_ROM_E0) + SLOT_INTERFACE_INTERNAL("a26_e7", A26_ROM_E7) + SLOT_INTERFACE_INTERNAL("a26_ua", A26_ROM_UA) + SLOT_INTERFACE_INTERNAL("a26_cv", A26_ROM_CV) + SLOT_INTERFACE_INTERNAL("a26_dc", A26_ROM_DC) + SLOT_INTERFACE_INTERNAL("a26_fv", A26_ROM_FV) + SLOT_INTERFACE_INTERNAL("a26_jvp", A26_ROM_JVP) + SLOT_INTERFACE_INTERNAL("a26_cm", A26_ROM_COMPUMATE) + SLOT_INTERFACE_INTERNAL("a26_ss", A26_ROM_SUPERCHARGER) + SLOT_INTERFACE_INTERNAL("a26_dpc", A26_ROM_DPC) + SLOT_INTERFACE_INTERNAL("a26_4in1", A26_ROM_4IN1) + SLOT_INTERFACE_INTERNAL("a26_8in1", A26_ROM_8IN1) + SLOT_INTERFACE_INTERNAL("a26_32in1", A26_ROM_32IN1) +SLOT_INTERFACE_END + static MACHINE_CONFIG_FRAGMENT(a2600_cartslot) - MCFG_CARTSLOT_ADD("cart") - MCFG_CARTSLOT_EXTENSION_LIST("bin,a26") - MCFG_CARTSLOT_MANDATORY - MCFG_CARTSLOT_LOAD(a2600_state,a2600_cart) - MCFG_CARTSLOT_INTERFACE("a2600_cart") + MCFG_VCS_CARTRIDGE_ADD("cartslot", a2600_cart, NULL) /* software lists */ MCFG_SOFTWARE_LIST_ADD("cart_list","a2600") @@ -1930,8 +468,6 @@ static MACHINE_CONFIG_START( a2600, a2600_state ) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_TIA_ADD("tia", MASTER_CLOCK_NTSC/114) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) - MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) /* devices */ MCFG_DEVICE_ADD("riot", RIOT6532, MASTER_CLOCK_NTSC / 3) @@ -1946,10 +482,6 @@ static MACHINE_CONFIG_START( a2600, a2600_state ) MCFG_FRAGMENT_ADD(a2600_cartslot) MCFG_SOFTWARE_LIST_FILTER("cart_list", "NTSC") - MCFG_CASSETTE_ADD( "cassette" ) - MCFG_CASSETTE_FORMATS(a26_cassette_formats) - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED) - MCFG_CASSETTE_INTERFACE("a2600_cass") MACHINE_CONFIG_END @@ -1977,8 +509,6 @@ static MACHINE_CONFIG_START( a2600p, a2600_state ) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_TIA_ADD("tia", MASTER_CLOCK_PAL/114) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) - MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) /* devices */ MCFG_DEVICE_ADD("riot", RIOT6532, MASTER_CLOCK_PAL / 3) @@ -1993,18 +523,11 @@ static MACHINE_CONFIG_START( a2600p, a2600_state ) MCFG_FRAGMENT_ADD(a2600_cartslot) MCFG_SOFTWARE_LIST_FILTER("cart_list", "PAL") - MCFG_CASSETTE_ADD( "cassette" ) - MCFG_CASSETTE_FORMATS(a26_cassette_formats) - MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED) - MCFG_CASSETTE_INTERFACE("a2600_cass") MACHINE_CONFIG_END ROM_START( a2600 ) - ROM_REGION( 0x2000, "maincpu", 0 ) - ROM_FILL( 0x0000, 0x2000, 0xFF ) - ROM_REGION( 0x80000, "user1", 0 ) - ROM_FILL( 0x00000, 0x80000, 0xFF ) + ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASEFF ) ROM_END #define rom_a2600p rom_a2600 |