trunk/hash/odyssey2.xml
r0 | r20248 | |
| 1 | <?xml version="1.0"?> |
| 2 | <!DOCTYPE softwarelist SYSTEM "softwarelist.dtd"> |
| 3 | <!-- |
| 4 | TODO: |
| 5 | add first release date were applicable |
| 6 | add usage for those which use 2nd joystick (<info name="usage" value="Uses the 2nd joystick" />) |
| 7 | add programmers (<info name="programmer" value=""/>)(mainly Ed Averett) |
| 8 | add ntsc pal compatibility (<sharedfeat name="compatibility" value="NTSC,PAL"/>) |
| 9 | add rom names from pcbs (lack of) |
| 10 | add serials for radiola and jopacs |
| 11 | --> |
| 12 | <!-- |
| 13 | Undumped: |
| 14 | Spaans (spanish to dutch translator) |
| 15 | Crazy Horses |
| 16 | |
| 17 | Protos: |
| 18 | Bastion youtube.com/watch?v=cFdmgs4r7_E |
| 19 | Catburglar youtube.com/watch?v=DDsWDFxy0oE |
| 20 | Himalaya youtube.com/watch?v=L_lvOs6EnA4 |
| 21 | SoundTool youtube.com/watch?v=7JYn6B7rxqw |
| 22 | Terrahawks youtube.com/watch?v=AXk7OSA6NGg |
| 23 | |
| 24 | http://www.ozyr.com/rene/PICS/protos.jpg |
| 25 | Sherlock Holmes Consulting Detective (programmed by Ed Friedman, most likely dumped and hoarded) |
| 26 | Back Gammon |
| 27 | Freedom Fighters |
| 28 | K.C.'s Crazy Chase |
| 29 | Killer Bees (also 10/12/82 (silent version), and 11/12/82 builds exist) |
| 30 | Power Lords |
| 31 | Handicap I (?) |
| 32 | Frogger |
| 33 | Robot City |
| 34 | Requins (Shark Hunter?) |
| 35 | K.C. Munchkin! |
| 36 | Pick Axe Pete |
| 37 | |
| 38 | Unreleased, possibly no prototypes exist: |
| 39 | A Turma da Mônica [Mônica's Gang] |
| 40 | Pink Panther |
| 41 | Clean Up Yer Act (programmed by Robert S. Harris, never completed) |
| 42 | Star Wars (GST Video) |
| 43 | Moonsweeper (Imagic) |
| 44 | Fathom (Imagic) |
| 45 | --> |
| 46 | <!-- |
| 47 | NOTE: |
| 48 | PAL colours leave a lot to be desired |
| 49 | Chess needs emulation of the C7010 Chess Module, which had a NSC800 CMOS microprocessor, which gave the G7000 extra CPU and memory. |
| 50 | The C7420 Home Computer Module, which contains a Z80 microprocessor running at 3.574 MHz, |
| 51 | adds 16K RAM and 18K ROM, that plugs into the G7000 needs to be dumped. |
| 52 | --> |
| 53 | <softwarelist name="odyssey2" description="Magnavox Odyssey2 carts"> |
| 54 | <!-- Philips Videopac G7000/Magnavox Odyssey² carts --> |
| 55 | |
| 56 | <!-- Applications --> |
| 57 | <software name="compprog"> |
| 58 | <description>Computer Programmer (Euro)</description> |
| 59 | <year>1980</year> |
| 60 | <publisher>Philips</publisher> |
| 61 | <info name="serial" value="9"/> |
| 62 | <part name="cart" interface="odyssey_cart"> |
| 63 | <dataarea name="rom" size="2048"> |
| 64 | <rom name="computer programmer (europe).bin" size="2048" crc="b590cf14" sha1="913c1961dfa17b5873428f57429e3809580ff906" offset="0" /> |
| 65 | </dataarea> |
| 66 | </part> |
| 67 | </software> |
| 68 | <software name="compintr" cloneof="compprog"> |
| 69 | <description>Computer Intro (USA)</description> |
| 70 | <year>1980</year> |
| 71 | <publisher>Philips</publisher> |
| 72 | <info name="serial" value="AC9406"/> |
| 73 | <part name="cart" interface="odyssey_cart"> |
| 74 | <dataarea name="rom" size="2048"> |
| 75 | <rom name="computer intro (usa).bin" size="2048" crc="95efa98b" sha1="f93c448243db428a4c9e2354596844ed07bb7530" offset="0" /> |
| 76 | </dataarea> |
| 77 | </part> |
| 78 | </software> |
| 79 | <software name="newscast"> |
| 80 | <description>Newscaster (Euro)</description> |
| 81 | <year>1980</year> |
| 82 | <publisher>Philips</publisher> |
| 83 | <info name="serial" value="A"/> |
| 84 | <part name="cart" interface="odyssey_cart"> |
| 85 | <dataarea name="rom" size="2048"> |
| 86 | <rom name="newscaster (europe).bin" size="2048" crc="85dfcdd7" sha1="183b3b1b70db58cc9ada575cc324353f2e89c2ce" offset="0" /> |
| 87 | </dataarea> |
| 88 | </part> |
| 89 | </software> |
| 90 | <software name="keyboard" cloneof="newscast"> |
| 91 | <description>Keyboard Creations! (USA)</description> |
| 92 | <year>1980</year> |
| 93 | <publisher>Philips</publisher> |
| 94 | <info name="serial" value="AC9433"/> |
| 95 | <part name="cart" interface="odyssey_cart"> |
| 96 | <dataarea name="rom" size="2048"> |
| 97 | <rom name="keyboard creations (usa).bin" size="2048" crc="688fad11" sha1="8276ca41e571478eae2dd6add7f79bc7f8bd60de" offset="0" /> |
| 98 | </dataarea> |
| 99 | </part> |
| 100 | </software> |
| 101 | <software name="musician"> |
| 102 | <description>Musician (Euro)</description> |
| 103 | <year>1981</year> |
| 104 | <publisher>Philips</publisher> |
| 105 | <info name="serial" value="31"/> |
| 106 | <part name="cart" interface="odyssey_cart"> |
| 107 | <dataarea name="rom" size="4096"> |
| 108 | <rom name="musician (europe).bin" size="4096" crc="afb23f89" sha1="7445f4df9017c4d2ea94542d0db335dc18c9d7ed" offset="0" /> |
| 109 | </dataarea> |
| 110 | </part> |
| 111 | </software> |
| 112 | <software name="typetell"> |
| 113 | <description>Type & Tell! (USA)</description> |
| 114 | <year>1982</year> |
| 115 | <publisher>Philips</publisher> |
| 116 | <info name="programmer" value="Robert L. Cheezem" /> |
| 117 | <info name="serial" value="AC9440"/> |
| 118 | <part name="cart" interface="odyssey_cart"> |
| 119 | <dataarea name="rom" size="4096"> |
| 120 | <rom name="type and tell (usa).bin" size="4096" crc="b936bd78" sha1="40458eaf84a71f509b4069775e49551ce5152697" offset="0" /> |
| 121 | </dataarea> |
| 122 | </part> |
| 123 | </software> |
| 124 | |
| 125 | <!-- Educational --> |
| 126 | <software name="number"> |
| 127 | <description>Playschool Maths (Euro) ~ I've Got Your Number (USA)</description> |
| 128 | <year>1980</year> |
| 129 | <publisher>Philips</publisher> |
| 130 | <info name="serial" value="AC9413 (USA) ~ 13 (Euro)"/> |
| 131 | <part name="cart" interface="odyssey_cart"> |
| 132 | <dataarea name="rom" size="2048"> |
| 133 | <rom name="i've got your number (usa, europe).bin" size="2048" crc="1c8368e7" sha1="498cb0882d8a692042889e83775a83cf267a1837" offset="0" /> |
| 134 | </dataarea> |
| 135 | </part> |
| 136 | </software> |
| 137 | <software name="2mthecho"> |
| 138 | <description>Mathematician/Echo (Euro) ~ Math-a-Magic!/Echo! (USA)</description> |
| 139 | <year>1978</year> |
| 140 | <publisher>Philips</publisher> |
| 141 | <info name="usage" value="Press 1 for Mathematician/Math-a-Magic, press 2 for Echo" /> |
| 142 | <info name="serial" value="AJ9405 (USA) ~ 7 (Euro)"/> |
| 143 | <part name="cart" interface="odyssey_cart"> |
| 144 | <dataarea name="rom" size="2048"> |
| 145 | <rom name="math-a-magic - echo (usa, europe).bin" size="2048" crc="dc5afaa2" sha1="4dac55de1afadc1af2ac9166d7d47c462a8e797a" offset="0" /> |
| 146 | </dataarea> |
| 147 | </part> |
| 148 | </software> |
| 149 | <software name="2mthechf" cloneof="2mthecho"> |
| 150 | <description>Mathématicien/Echo (Fra)</description> |
| 151 | <year>1980</year> |
| 152 | <publisher>Radiola</publisher> |
| 153 | <info name="usage" value="Press 1 for Mathématicien, press 2 for Echo" /> |
| 154 | <part name="cart" interface="odyssey_cart"> |
| 155 | <dataarea name="rom" size="2048"> |
| 156 | <rom name="mathematicien - echo (france).bin" size="2048" crc="0c4e4b0a" sha1="d96c65670b9a3a4feedcb720807292708951fcd5" offset="0" /> |
| 157 | </dataarea> |
| 158 | </part> |
| 159 | </software> |
| 160 | <software name="morse"> |
| 161 | <description>Morse (Euro)</description> |
| 162 | <year>1982</year> |
| 163 | <publisher>Philips</publisher> |
| 164 | <info name="serial" value="45"/> |
| 165 | <part name="cart" interface="odyssey_cart"> |
| 166 | <dataarea name="rom" size="2048"> |
| 167 | <rom name="morse (europe).bin" size="2048" crc="2122012c" sha1="8431f56359d80ff6a67c83c50c12fa5d8bc46ff3" offset="0" /> |
| 168 | </dataarea> |
| 169 | </part> |
| 170 | </software> |
| 171 | <software name="morsef" cloneof="morse"> |
| 172 | <description>Morse (Fra)</description> |
| 173 | <year>1983</year> |
| 174 | <publisher>Radiola</publisher> |
| 175 | <part name="cart" interface="odyssey_cart"> |
| 176 | <dataarea name="rom" size="2048"> |
| 177 | <rom name="morse (france).bin" size="2048" crc="510416b7" sha1="11065dfbc22dd9ed7609cbcc7f8c6d3bc5b004ee" offset="0" /> |
| 178 | </dataarea> |
| 179 | </part> |
| 180 | </software> |
| 181 | <software name="nimble"> |
| 182 | <description>Nimble Numbers Ned! (USA)</description> |
| 183 | <year>1982</year> |
| 184 | <publisher>Philips</publisher> |
| 185 | <info name="programmer" value="Robert S. Harris" /> |
| 186 | <info name="serial" value="AC9439"/> |
| 187 | <part name="cart" interface="odyssey_cart"> |
| 188 | <dataarea name="rom" size="4096"> |
| 189 | <rom name="nimble numbers ned (usa).bin" size="4096" crc="cf2f8e7a" sha1="01dd021a1bcdafb58cb2bcca051934f05e978c53" offset="0" /> |
| 190 | </dataarea> |
| 191 | </part> |
| 192 | </software> |
| 193 | <software name="sidspell"> |
| 194 | <description>Sid the Spellbinder (USA)</description> |
| 195 | <year>1982</year> |
| 196 | <publisher>Philips</publisher> |
| 197 | <info name="programmer" value="Sam Overton" /> |
| 198 | <info name="serial" value="AC9438"/> |
| 199 | <part name="cart" interface="odyssey_cart"> |
| 200 | <dataarea name="rom" size="4096"> |
| 201 | <rom name="sid the spellbinder (usa).bin" size="4096" crc="1b9f2f16" sha1="dfed128d213d4192313f85fe2b8716579c2fc995" offset="0" /> |
| 202 | </dataarea> |
| 203 | </part> |
| 204 | </software> |
| 205 | <software name="vrkrspl1"> |
| 206 | <description>Verkehrsspiele 1 (Ger)</description> |
| 207 | <year>1982</year> |
| 208 | <publisher>CSV/Philips</publisher> |
| 209 | <part name="cart" interface="odyssey_cart"> |
| 210 | <dataarea name="rom" size="2048"> |
| 211 | <rom name="verkehrsspiele 1 (germany).bin" size="2048" crc="45e62222" sha1="e90f2a33e41d9bd4c50e96eacc483bc99e53993b" offset="0" /> |
| 212 | </dataarea> |
| 213 | </part> |
| 214 | </software> |
| 215 | <software name="kndrvrkr" cloneof="vrkrspl1"> |
| 216 | <description>Kinder im Verkehr 1 (Ger)</description> |
| 217 | <year>1982</year> |
| 218 | <publisher>CSV/Philips</publisher> |
| 219 | <part name="cart" interface="odyssey_cart"> |
| 220 | <dataarea name="rom" size="2048"> |
| 221 | <rom name="kinder im verkehr 1 (germany).bin" size="2048" crc="9c9dddf9" sha1="9b73685f7d2008467d4449a3bfedef6e763b5948" offset="0" /> |
| 222 | </dataarea> |
| 223 | </part> |
| 224 | </software> |
| 225 | <software name="vrkrspl2"> |
| 226 | <description>Verkehrsspiele 2 (Ger)</description> |
| 227 | <year>1982</year> |
| 228 | <publisher>CSV/Philips</publisher> |
| 229 | <part name="cart" interface="odyssey_cart"> |
| 230 | <dataarea name="rom" size="2048"> |
| 231 | <rom name="verkehrsspiele 2 (germany).bin" size="2048" crc="69893f7f" sha1="0904ea45c011d12857477db04b4d1c87544f27e6" offset="0" /> |
| 232 | </dataarea> |
| 233 | </part> |
| 234 | </software> |
| 235 | |
| 236 | <!-- Games --> |
| 237 | <software name="4in1"> |
| 238 | <description>4 in 1 Row (Euro)</description> |
| 239 | <year>1982</year> |
| 240 | <publisher>Philips</publisher> |
| 241 | <info name="serial" value="40"/> |
| 242 | <part name="cart" interface="odyssey_cart"> |
| 243 | <dataarea name="rom" size="4096"> |
| 244 | <rom name="4 in 1 row (europe).bin" size="4096" crc="3bfef56b" sha1="e9a8996c4fb87120d8620ab8876b90ddb48335db" offset="0" /> |
| 245 | </dataarea> |
| 246 | </part> |
| 247 | </software> |
| 248 | <software name="4en1" cloneof="4in1"> |
| 249 | <description>4 en 1 Ligne (Fra)</description> |
| 250 | <year>1982</year> |
| 251 | <publisher>Radiola</publisher> |
| 252 | <part name="cart" interface="odyssey_cart"> |
| 253 | <dataarea name="rom" size="4096"> |
| 254 | <rom name="4 en 1 ligne (france).bin" size="4096" crc="9b5e9356" sha1="0831c3212a9e0a588a242dcd2b136e350aaceac9" offset="0" /> |
| 255 | </dataarea> |
| 256 | </part> |
| 257 | </software> |
| 258 | <software name="alieninv"> |
| 259 | <description>Space Monster (Euro) ~ Alien Invaders - Plus! (USA)</description> |
| 260 | <year>1980</year> |
| 261 | <publisher>Magnavox</publisher> |
| 262 | <info name="serial" value="AA9428 (USA) ~ 22 (Euro)"/> |
| 263 | <part name="cart" interface="odyssey_cart"> |
| 264 | <dataarea name="rom" size="2048"> |
| 265 | <rom name="alien invaders - plus! (usa, europe).bin" size="2048" crc="71ae8533" sha1="9ba0737fdee2918375725bb5230d075a2f847159" offset="0" /> |
| 266 | </dataarea> |
| 267 | </part> |
| 268 | </software> |
| 269 | <software name="alpine"> |
| 270 | <description>Skiing (Euro) ~ Alpine Skiing! (USA)</description> |
| 271 | <year>1979</year> |
| 272 | <publisher>Philips</publisher> |
| 273 | <info name="serial" value="AK9418 (USA) ~ 25 (Euro)"/> |
| 274 | <part name="cart" interface="odyssey_cart"> |
| 275 | <dataarea name="rom" size="2048"> |
| 276 | <rom name="alpine skiing (usa, europe).bin" size="2048" crc="4663c4b6" sha1="9e7e16744b44fa83fa14c211b2365cf04604e06e" offset="0" /> |
| 277 | </dataarea> |
| 278 | </part> |
| 279 | </software> |
| 280 | <software name="ski" cloneof="alpine"> |
| 281 | <description>Ski (Fra)</description> |
| 282 | <year>1979</year> |
| 283 | <publisher>Radiola</publisher> |
| 284 | <part name="cart" interface="odyssey_cart"> |
| 285 | <dataarea name="rom" size="2048"> |
| 286 | <rom name="ski (france).bin" size="2048" crc="e129490d" sha1="a6e07b727b4f48d13ce21442911995eb46b99c5d" offset="0" /> |
| 287 | </dataarea> |
| 288 | </part> |
| 289 | </software> |
| 290 | <software name="2armrsub"> |
| 291 | <description>Air-Sea War/Battle (Euro) ~ Armored Encounter!/Sub Chase! (USA)</description> |
| 292 | <year>1978</year> |
| 293 | <publisher>Philips</publisher> |
| 294 | <info name="usage" value="Press A for Armored Encounter/Air-Sea War, press 1 for Sub Chase/Battle" /> |
| 295 | <info name="serial" value="AJ9403 (USA) ~ 4 (Euro)"/> |
| 296 | <part name="cart" interface="odyssey_cart"> |
| 297 | <dataarea name="rom" size="2048"> |
| 298 | <rom name="armored encounter - sub chase (usa, europe).bin" size="2048" crc="5ae57a8c" sha1="086a29eb625c935295157ce62ca9717dffff2af0" offset="0" /> |
| 299 | </dataarea> |
| 300 | </part> |
| 301 | </software> |
| 302 | <software name="atlantis"> |
| 303 | <description>Atlantis (USA, Euro)</description> |
| 304 | <year>1983</year> |
| 305 | <publisher>Imagic</publisher> |
| 306 | <info name="programmer" value="Jeff Ronnie" /> |
| 307 | <part name="cart" interface="odyssey_cart"> |
| 308 | <dataarea name="rom" size="4096"> |
| 309 | <rom name="atlantis (usa, europe).bin" size="4096" crc="a7344d1f" sha1="6975cf9fed3ee1a2567477921eb851a669d42446" offset="0" /> |
| 310 | </dataarea> |
| 311 | </part> |
| 312 | </software> |
| 313 | <software name="timelord"> |
| 314 | <description>Attack of the Timelord! (USA)</description><!-- possibly also "Terrahawks (Euro)[Videopac 51]"? --> |
| 315 | <year>1983</year> |
| 316 | <publisher>Philips</publisher> |
| 317 | <info name="serial" value="AC9445"/> |
| 318 | <part name="cart" interface="odyssey_cart"> |
| 319 | <dataarea name="rom" size="4096"> |
| 320 | <rom name="attack of the timelord (usa).bin" size="4096" crc="fc5a7f08" sha1="c63ad4e9aaa903ded9fcf185caf24e76f8aaf3a9" offset="0" /> |
| 321 | </dataarea> |
| 322 | </part> |
| 323 | </software> |
| 324 | <software name="baseball"> |
| 325 | <description>Baseball (Euro) ~ Baseball! (USA)</description> |
| 326 | <year>1980</year> |
| 327 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 328 | <info name="serial" value="AJ9408 (USA) ~ 8 (Euro)"/> |
| 329 | <part name="cart" interface="odyssey_cart"> |
| 330 | <dataarea name="rom" size="2048"> |
| 331 | <rom name="baseball (usa, europe).bin" size="2048" crc="b07748e7" sha1="14a37a38c582d8822cb78fb0aace221a2fa9a44c" offset="0" /> |
| 332 | </dataarea> |
| 333 | </part> |
| 334 | </software> |
| 335 | <software name="blobbers"> |
| 336 | <description>Blobbers (Euro)</description> |
| 337 | <year>1983</year> |
| 338 | <publisher>Philips</publisher> |
| 339 | <info name="serial" value="56"/> |
| 340 | <part name="cart" interface="odyssey_cart"> |
| 341 | <dataarea name="rom" size="8192"> |
| 342 | <rom name="blobbers (europe).bin" size="8192" crc="9d72d4e9" sha1="cae4e1f3ee090ec423aff89102f359b9e14dba41" offset="0" /> |
| 343 | </dataarea> |
| 344 | </part> |
| 345 | </software> |
| 346 | <software name="2blckbrk"> |
| 347 | <description>Dam Buster (Euro) ~ Blockout!/Breakdown! (USA)</description> |
| 348 | <year>1980</year> |
| 349 | <publisher>Philips</publisher> |
| 350 | <info name="usage" value="Press 0 then 1 for Blockout/Dam Buster, press 0 then 2 for Breakdown" /> |
| 351 | <info name="serial" value="AA9427 (USA) ~ 29 (Euro)"/> |
| 352 | <part name="cart" interface="odyssey_cart"> |
| 353 | <dataarea name="rom" size="2048"> |
| 354 | <rom name="blockout - breakdown (usa, europe).bin" size="2048" crc="fb83171e" sha1="00ef6868724a6826534da620f34dad207fcb3800" offset="0" /> |
| 355 | </dataarea> |
| 356 | </part> |
| 357 | </software> |
| 358 | <software name="magique" cloneof="2blckbrk"> |
| 359 | <description>Le Mûr Magique (Fra)</description> |
| 360 | <year>1981</year> |
| 361 | <publisher>Radiola</publisher> |
| 362 | <part name="cart" interface="odyssey_cart"> |
| 363 | <dataarea name="rom" size="2048"> |
| 364 | <rom name="mur magique, le (france).bin" size="2048" crc="d38153f6" sha1="ff0ebe9efc275011a0534fd98ca1f4112dae3dab" offset="0" /> |
| 365 | </dataarea> |
| 366 | </part> |
| 367 | </software> |
| 368 | <software name="2bwlbskt"> |
| 369 | <description>Ten Pin Bowling/Basketball (Euro) ~ Bowling!/Basketball! (USA)</description> |
| 370 | <year>1978</year> |
| 371 | <publisher>Philips</publisher> |
| 372 | <info name="usage" value="Press 1 for League Night Bowling, press 2 for Tournament Play Bowling, press 3 for Basketball" /> |
| 373 | <info name="serial" value="AJ9404 (USA) ~ 6 (Euro)"/> |
| 374 | <part name="cart" interface="odyssey_cart"> |
| 375 | <dataarea name="rom" size="2048"> |
| 376 | <rom name="bowling - basketball (usa, europe).bin" size="2048" crc="084ee035" sha1="2630c304b6beb0f8021578277be68e837202895d" offset="0" /> |
| 377 | </dataarea> |
| 378 | </part> |
| 379 | </software> |
| 380 | <software name="2qllbskt" cloneof="2bwlbskt"> |
| 381 | <description>Jeu de Quilles/Basketball (Fra)</description> |
| 382 | <year>1978</year> |
| 383 | <publisher>Radiola</publisher> |
| 384 | <info name="usage" value="Press 1 for (League Night Bowling), press 2 for (Tournament Play Bowling), press 3 for Basketball" /> |
| 385 | <part name="cart" interface="odyssey_cart"> |
| 386 | <dataarea name="rom" size="2048"> |
| 387 | <rom name="jeu de quilles - basketball (france).bin" size="2048" crc="a7e97958" sha1="30cbbec570fa0872c13e89ddc312b2f74e3749fb" offset="0" /> |
| 388 | </dataarea> |
| 389 | </part> |
| 390 | </software> |
| 391 | <software name="buraco"> |
| 392 | <description>Buraco Negro! (Brazil)</description> |
| 393 | <year>1984</year> |
| 394 | <publisher>Philips</publisher> |
| 395 | <part name="cart" interface="odyssey_cart"> |
| 396 | <dataarea name="rom" size="8192"> |
| 397 | <rom name="buraco negro (brazil).bin" size="8192" crc="25874b04" sha1="8414605a62e78753e3f8474fa020035596292583" offset="0" /> |
| 398 | </dataarea> |
| 399 | </part> |
| 400 | </software> |
| 401 | <software name="neutron" cloneof="buraco"> |
| 402 | <description>Neutron Star (Euro, Prototype)</description> |
| 403 | <year>1983</year> |
| 404 | <publisher>Philips</publisher> |
| 405 | <part name="cart" interface="odyssey_cart"> |
| 406 | <dataarea name="rom" size="8192"> |
| 407 | <rom name="neutron star (europe) (proto).bin" size="8192" crc="d03efa86" sha1="0a91bdb293f52ac37414a63f71d90c6338a4a91a" offset="0" /> |
| 408 | </dataarea> |
| 409 | </part> |
| 410 | </software> |
| 411 | <software name="casino"> |
| 412 | <description>Las Vegas Gambling (Euro) ~ Casino Slot Machine! (USA)</description> |
| 413 | <year>1980</year> |
| 414 | <publisher>Magnavox</publisher> |
| 415 | <info name="serial" value="AA9426 (USA) ~ 23 (Euro)"/> |
| 416 | <part name="cart" interface="odyssey_cart"> |
| 417 | <dataarea name="rom" size="2048"> |
| 418 | <rom name="casino slot machine (usa, europe).bin" size="2048" crc="bb6e7135" sha1="052bc62eb03e2673a802bab866dd0ab3c39fd584" offset="0" /> |
| 419 | </dataarea> |
| 420 | </part> |
| 421 | </software> |
| 422 | <software name="lasvegas" cloneof="casino"> |
| 423 | <description>Las Vegas (Fra)</description> |
| 424 | <year>1980</year> |
| 425 | <publisher>Radiola</publisher> |
| 426 | <part name="cart" interface="odyssey_cart"> |
| 427 | <dataarea name="rom" size="2048"> |
| 428 | <rom name="las vegas (france).bin" size="2048" crc="a0620082" sha1="b83463b7c40367d4310f142fa15d06d12061f3be" offset="0" /> |
| 429 | </dataarea> |
| 430 | </part> |
| 431 | </software> |
| 432 | <software name="2bllcrss"> |
| 433 | <description>Catch the Ball/Noughts and Crosses (Euro)</description> |
| 434 | <year>1979</year> |
| 435 | <publisher>Philips</publisher> |
| 436 | <info name="usage" value="Press 1 for Catch the Ball, press 7 for Noughts and Crosses" /> |
| 437 | <info name="serial" value="19"/> |
| 438 | <part name="cart" interface="odyssey_cart"> |
| 439 | <dataarea name="rom" size="2048"> |
| 440 | <rom name="catch the ball - noughts and crosses (europe).bin" size="2048" crc="a57e1724" sha1="671a43595b867b7877e723be18825e9e5d5c4ee9" offset="0" /> |
| 441 | </dataarea> |
| 442 | </part> |
| 443 | </software> |
| 444 | <software name="2mlajogo" cloneof="2bllcrss"> |
| 445 | <description>O Malabarista!/Jogo da Velha! (Brazil)</description> |
| 446 | <year>1979</year> |
| 447 | <publisher>Philips</publisher> |
| 448 | <info name="usage" value="Press 1 for O Malabarista, press 7 for Jogo da Velha" /> |
| 449 | <part name="cart" interface="odyssey_cart"> |
| 450 | <dataarea name="rom" size="2048"> |
| 451 | <rom name="o malabarista - jogo da velha (brazil).bin" size="2048" crc="e39500a6" sha1="68de402f57eb0c8afefdbc46d80d2bc5520afc68" offset="0" /> |
| 452 | </dataarea> |
| 453 | </part> |
| 454 | </software> |
| 455 | <software name="chess" supported="no"><!-- needs chess module emulation --> |
| 456 | <description>Chess (Euro)</description> |
| 457 | <year>198?</year> |
| 458 | <publisher>Philips</publisher> |
| 459 | <info name="serial" value="G7010"/> |
| 460 | <part name="cart" interface="odyssey_cart"> |
| 461 | <dataarea name="rom" size="2048"> |
| 462 | <rom name="chess (europe).bin" size="2048" crc="77066338" sha1="7162359313f66fe759bdd8a34755a5f62f3cadfb" offset="0" /> |
| 463 | </dataarea> |
| 464 | </part> |
| 465 | </software> |
| 466 | <software name="chezmxme"><!-- I know it's a clone of something... --> |
| 467 | <description>Chez Maxime (Fra)</description> |
| 468 | <year>198?</year> |
| 469 | <publisher>Radiola</publisher> |
| 470 | <part name="cart" interface="g7400_cart"> |
| 471 | <dataarea name="rom" size="4096"> |
| 472 | <rom name="chez maxime (france).bin" size="4096" crc="0f46cf66" sha1="cd58d267fe5bab82f5dab01dbb08d5adf0053108" offset="0" /> |
| 473 | </dataarea> |
| 474 | </part> |
| 475 | </software> |
| 476 | <software name="chinese"> |
| 477 | <description>Chinese Logic (Euro)</description> |
| 478 | <year>1980</year> |
| 479 | <publisher>Philips</publisher> |
| 480 | <info name="serial" value="17"/> |
| 481 | <part name="cart" interface="odyssey_cart"> |
| 482 | <dataarea name="rom" size="2048"> |
| 483 | <rom name="chinese logic (europe).bin" size="2048" crc="11edf25b" sha1="431bd5b4ee86e62500eab263e073a585656d16c6" offset="0" /> |
| 484 | </dataarea> |
| 485 | </part> |
| 486 | </software> |
| 487 | <software name="desafio" cloneof="chinese"> |
| 488 | <description>Desafio Chinês! (Brazil)</description> |
| 489 | <year>1980</year> |
| 490 | <publisher>Philips</publisher> |
| 491 | <part name="cart" interface="odyssey_cart"> |
| 492 | <dataarea name="rom" size="2048"> |
| 493 | <rom name="desafio chines (brazil).bin" size="2048" crc="838a2d1e" sha1="241160f0691a394afe632b5b29969dae2d8f2d34" offset="0" /> |
| 494 | </dataarea> |
| 495 | </part> |
| 496 | </software> |
| 497 | <software name="claypig"> |
| 498 | <description>Clay Pigeon! (Brazil)</description> |
| 499 | <year>198?</year> |
| 500 | <publisher>Philips</publisher> |
| 501 | <part name="cart" interface="odyssey_cart"> |
| 502 | <dataarea name="rom" size="4096"> |
| 503 | <rom name="clay pigeon (brazil).bin" size="4096" crc="fd179f6d" sha1="c07c1206db8d4fb5142b38ead52082d4682d70be" offset="0" /> |
| 504 | </dataarea> |
| 505 | </part> |
| 506 | </software> |
| 507 | <software name="comando"> |
| 508 | <description>Comando Noturno! (Brazil)</description> |
| 509 | <year>1983</year> |
| 510 | <publisher>Philips</publisher> |
| 511 | <part name="cart" interface="odyssey_cart"> |
| 512 | <dataarea name="rom" size="8192"> |
| 513 | <rom name="comando noturno (brazil).bin" size="8192" crc="26517e77" sha1="e0aa46211967c880bf7ff39836fe5e73c0302460" offset="0" /> |
| 514 | </dataarea> |
| 515 | </part> |
| 516 | </software> |
| 517 | <software name="night" cloneof="comando"> |
| 518 | <description>Nightfighter (Euro, Prototype)</description> |
| 519 | <year>198?</year> |
| 520 | <publisher>Philips</publisher> |
| 521 | <part name="cart" interface="odyssey_cart"> |
| 522 | <dataarea name="rom" size="8192"> |
| 523 | <rom name="nightfighter (europe) (proto).bin" size="8192" crc="7be6f1ef" sha1="ec364634c2a8160da1916a43246b76d78932be1d" offset="0" /> |
| 524 | </dataarea> |
| 525 | </part> |
| 526 | </software> |
| 527 | <software name="conquest"> |
| 528 | <description>Conquest of the World (USA, Euro)</description> |
| 529 | <year>1981</year> |
| 530 | <publisher>Philips</publisher> |
| 531 | <info name="serial" value="AB9431 (USA) ~ 41 (Euro)"/> |
| 532 | <part name="cart" interface="odyssey_cart"> |
| 533 | <dataarea name="rom" size="4096"> |
| 534 | <rom name="conquest of the world (usa, europe).bin" size="4096" crc="afc093fd" sha1="508d1475670ba561e7ddf961a4f0cf6d139d168c" offset="0" /> |
| 535 | </dataarea> |
| 536 | </part> |
| 537 | </software> |
| 538 | <software name="cosmic"> |
| 539 | <description>Cosmic Conflict (Euro)</description> |
| 540 | <year>1980</year> |
| 541 | <publisher>Philips</publisher> |
| 542 | <info name="usage" value="Uses the 2nd joystick" /> |
| 543 | <info name="serial" value="11"/> |
| 544 | <part name="cart" interface="odyssey_cart"> |
| 545 | <dataarea name="rom" size="2048"> |
| 546 | <rom name="cosmic conflict (europe).bin" size="2048" crc="f4c2075e" sha1="a22f99dcc4aba3126f5b5bbbf2a3890878ac953b" offset="0" /> |
| 547 | </dataarea> |
| 548 | </part> |
| 549 | </software> |
| 550 | <software name="conflit" cloneof="cosmic"> |
| 551 | <description>Conflit Cosmique (Can, Fra?)</description> |
| 552 | <year>1980</year> |
| 553 | <publisher>Philips</publisher> |
| 554 | <info name="usage" value="Uses the 2nd joystick" /> |
| 555 | <part name="cart" interface="odyssey_cart"> |
| 556 | <dataarea name="rom" size="2048"> |
| 557 | <rom name="conflit cosmique (canada).bin" size="2048" crc="2f6e4b46" sha1="e54fe13ee27884524255063aa6fd69e4598a5104" offset="0" /> |
| 558 | </dataarea> |
| 559 | </part> |
| 560 | </software> |
| 561 | <software name="cosmica" cloneof="cosmic"> |
| 562 | <description>Cosmic Conflict (Euro, Alt)</description> |
| 563 | <year>1980</year> |
| 564 | <publisher>Philips</publisher> |
| 565 | <info name="usage" value="Uses the 2nd joystick" /> |
| 566 | <part name="cart" interface="odyssey_cart"> |
| 567 | <dataarea name="rom" size="2048"> |
| 568 | <rom name="cosmic conflict (europe) (alt).bin" size="2048" crc="2a5f0b2b" sha1="9f8f10c9e6e1a5e07eb5a6eee4e0fe19fcaee17f" offset="0" /> |
| 569 | </dataarea> |
| 570 | </part> |
| 571 | </software> |
| 572 | <software name="cosmicu" cloneof="cosmic"> |
| 573 | <description>Cosmic Conflict! (USA)</description> |
| 574 | <year>1980</year> |
| 575 | <publisher>Philips</publisher> |
| 576 | <info name="usage" value="Uses the 2nd joystick" /> |
| 577 | <info name="serial" value="AJ9411"/> |
| 578 | <part name="cart" interface="odyssey_cart"> |
| 579 | <dataarea name="rom" size="2048"> |
| 580 | <rom name="cosmic conflict (usa).bin" size="2048" crc="c049e79e" sha1="dccbf881e21dd02cbaf15ec049e0801118fb9c96" offset="0" /> |
| 581 | </dataarea> |
| 582 | </part> |
| 583 | </software> |
| 584 | <software name="demon"> |
| 585 | <description>Demon Attack (USA, Euro)</description> |
| 586 | <year>1983</year> |
| 587 | <publisher>Imagic</publisher> |
| 588 | <info name="programmer" value="Dave Johnson" /> |
| 589 | <part name="cart" interface="odyssey_cart"> |
| 590 | <dataarea name="rom" size="4096"> |
| 591 | <rom name="demon attack (usa, europe).bin" size="4096" crc="9bfc3e01" sha1="2d78ccbb56e8b43bb8101b2a1932f5e778b9dbc3" offset="0" /> |
| 592 | </dataarea> |
| 593 | </part> |
| 594 | </software> |
| 595 | <software name="2dpthmrk" supported="partial"> |
| 596 | <description>Depth Charge/Marksman (Euro)</description> |
| 597 | <year>1980</year> |
| 598 | <publisher>Philips</publisher> |
| 599 | <info name="usage" value="Press 1 for Depth Charge, press 2 for Marksman; Uses the 2nd joystick" /> |
| 600 | <sharedfeat name="compatibility" value="PAL"/> |
| 601 | <info name="serial" value="16"/> |
| 602 | <part name="cart" interface="odyssey_cart"> |
| 603 | <dataarea name="rom" size="2048"> |
| 604 | <rom name="depth charge - marksman (europe).bin" size="2048" crc="2dcb77f0" sha1="95ccda2010f756069645e50269142a063c9aabc2" offset="0" /> |
| 605 | </dataarea> |
| 606 | </part> |
| 607 | </software> |
| 608 | <software name="2bmbalvo" cloneof="2dpthmrk"> |
| 609 | <description>Bombardeio Submarino!/Tiro ao Alvo! (Brazil)</description> |
| 610 | <year>1980</year> |
| 611 | <publisher>Philips</publisher> |
| 612 | <info name="usage" value="Press 1 for Depth Charge, press 2 for Marksman; Uses the 2nd joystick" /> |
| 613 | <sharedfeat name="compatibility" value="NTSC"/> |
| 614 | <part name="cart" interface="odyssey_cart"> |
| 615 | <dataarea name="rom" size="2048"> |
| 616 | <rom name="bombardeio submarino - tiro ao alvo (brazil).bin" size="2048" crc="b1109a09" sha1="e15f778efeb95530f8108854b14c404cf63f213a" offset="0" /> |
| 617 | </dataarea> |
| 618 | </part> |
| 619 | </software> |
| 620 | <software name="soccer"> |
| 621 | <description>Electronic Table Football (Euro) ~ Electronic Table Soccer (USA)</description> |
| 622 | <year>1980</year> |
| 623 | <publisher>Magnavox</publisher> |
| 624 | <info name="serial" value="AA9423 (USA) ~ 27 (Euro)"/> |
| 625 | <part name="cart" interface="odyssey_cart"> |
| 626 | <dataarea name="rom" size="2048"> |
| 627 | <rom name="electronic table soccer (usa, europe).bin" size="2048" crc="89c6de2c" sha1="3a032c9be1081db58f28f906940641d74d6bae2b" offset="0" /> |
| 628 | </dataarea> |
| 629 | </part> |
| 630 | </software> |
| 631 | <software name="football"> |
| 632 | <description>American Football (Euro) ~ Football! (USA)</description> |
| 633 | <year>1980</year> |
| 634 | <publisher>Philips</publisher> |
| 635 | <info name="serial" value="AJ9402 (USA) ~ 3 (Euro)"/> |
| 636 | <part name="cart" interface="odyssey_cart"> |
| 637 | <dataarea name="rom" size="2048"> |
| 638 | <rom name="football (usa, europe).bin" size="2048" crc="f9084aa3" sha1="364504ffce1108bcf09a5cc784f7ea2cf141f7b8" offset="0" /> |
| 639 | </dataarea> |
| 640 | </part> |
| 641 | </software> |
| 642 | <software name="freedom"> |
| 643 | <description>Freedom Fighters (Euro) ~ Freedom Fighters! (USA)</description> |
| 644 | <year>1982</year> |
| 645 | <publisher>Philips</publisher> |
| 646 | <info name="serial" value="AC9436 (USA) ~ 39 (Euro)"/> |
| 647 | <part name="cart" interface="odyssey_cart"> |
| 648 | <dataarea name="rom" size="4096"> |
| 649 | <rom name="freedom fighters (usa, europe).bin" size="4096" crc="54736b74" sha1="ad11f3fad2dfd3716445fef3b7d83d479edee0ed" offset="0" /> |
| 650 | </dataarea> |
| 651 | </part> |
| 652 | </software> |
| 653 | <software name="frogger"> |
| 654 | <description>Frogger (Euro)</description> |
| 655 | <year>1983</year> |
| 656 | <publisher>Parker Brothers</publisher> |
| 657 | <info name="usage" value="Uses the 2nd joystick" /> |
| 658 | <info name="programmer" value="Peter Inser" /> |
| 659 | <part name="cart" interface="odyssey_cart"> |
| 660 | <dataarea name="rom" size="8192"> |
| 661 | <rom name="frogger (europe).bin" size="8192" crc="d0bc4ee6" sha1="0beda7b36259b3be84d34206a77a35cd3f04892f" offset="0" /> |
| 662 | </dataarea> |
| 663 | </part> |
| 664 | </software> |
| 665 | <software name="froggerb" cloneof="frogger"> |
| 666 | <description>Frogger (Brazil)</description> |
| 667 | <year>1983</year> |
| 668 | <publisher>Parker Brothers</publisher> |
| 669 | <info name="usage" value="Uses the 2nd joystick" /> |
| 670 | <part name="cart" interface="odyssey_cart"> |
| 671 | <dataarea name="rom" size="8192"> |
| 672 | <rom name="frogger (brazil).bin" size="8192" crc="a57d84f3" sha1="bedb714c88b9aa7a02da9ebcde12446ec8350d18" offset="0" /> |
| 673 | </dataarea> |
| 674 | </part> |
| 675 | </software> |
| 676 | <software name="golf"> |
| 677 | <description>Golf (Euro)</description> |
| 678 | <year>1980</year> |
| 679 | <publisher>Philips</publisher> |
| 680 | <info name="serial" value="10"/> |
| 681 | <part name="cart" interface="odyssey_cart"> |
| 682 | <dataarea name="rom" size="2048"> |
| 683 | <rom name="golf (europe).bin" size="2048" crc="14b6cc76" sha1="c2bf8d92b8827e3071d6ce4c43e34b21afc54f8d" offset="0" /> |
| 684 | </dataarea> |
| 685 | </part> |
| 686 | </software> |
| 687 | <software name="compgolf" cloneof="golf"> |
| 688 | <description>Computer Golf! (USA)</description> |
| 689 | <year>1980</year> |
| 690 | <publisher>Philips</publisher> |
| 691 | <info name="serial" value="AJ9410"/> |
| 692 | <part name="cart" interface="odyssey_cart"> |
| 693 | <dataarea name="rom" size="2048"> |
| 694 | <rom name="computer golf (usa).bin" size="2048" crc="0f870806" sha1="c8736250ebf376543256d85cf853e825475e0af6" offset="0" /> |
| 695 | </dataarea> |
| 696 | </part> |
| 697 | </software> |
| 698 | <software name="gtwallst"> |
| 699 | <description>The Great Wall Street Fortune Hunt (USA, Euro)</description> |
| 700 | <year>1983</year> |
| 701 | <publisher>Philips</publisher> |
| 702 | <info name="serial" value="AC9434 (USA) ~ 46 (Euro)"/> |
| 703 | <part name="cart" interface="odyssey_cart"> |
| 704 | <dataarea name="rom" size="4096"> |
| 705 | <rom name="the great wall street fortune hunt (usa, europe).bin" size="4096" crc="881ceae4" sha1="d54b1d5667bf90368dddab55a91955b1789f177c" offset="0" /> |
| 706 | </dataarea> |
| 707 | </part> |
| 708 | </software> |
| 709 | <software name="wallst" cloneof="gtwallst"> |
| 710 | <description>Wall Street (Brazil)</description> |
| 711 | <year>1983</year> |
| 712 | <publisher>Philips</publisher> |
| 713 | <part name="cart" interface="odyssey_cart"> |
| 714 | <dataarea name="rom" size="4096"> |
| 715 | <rom name="wall street (brazil).bin" size="4096" crc="228842df" sha1="af9db337a2edbb3fe79a3d50f1b4ec1b007f4a52" offset="0" /> |
| 716 | </dataarea> |
| 717 | </part> |
| 718 | </software> |
| 719 | <software name="gunfight"> |
| 720 | <description>Gunfighter (Euro)</description> |
| 721 | <year>1980</year> |
| 722 | <publisher>Philips</publisher> |
| 723 | <info name="serial" value="14"/> |
| 724 | <part name="cart" interface="odyssey_cart"> |
| 725 | <dataarea name="rom" size="2048"> |
| 726 | <rom name="gunfighter (europe).bin" size="2048" crc="abe368bf" sha1="b5ec5ed9373372de6d70620094af06282c48968d" offset="0" /> |
| 727 | </dataarea> |
| 728 | </part> |
| 729 | </software> |
| 730 | <software name="showdown" cloneof="gunfight"> |
| 731 | <description>Showdown in 2100 A.D. (USA)</description> |
| 732 | <year>1980</year> |
| 733 | <publisher>Philips</publisher> |
| 734 | <info name="serial" value="AK9416"/> |
| 735 | <part name="cart" interface="odyssey_cart"> |
| 736 | <dataarea name="rom" size="2048"> |
| 737 | <rom name="showdown in 2100 a.d. (usa).bin" size="2048" crc="9487c920" sha1="7163c3e0d0e926287df670bfa5d5d5c42b5b3cf6" offset="0" /> |
| 738 | </dataarea> |
| 739 | </part> |
| 740 | </software> |
| 741 | <software name="2hckyscr"> |
| 742 | <description>Electronic Ice Hockey/Electronic Soccer (Euro) ~ Hockey!/Soccer! (USA)</description> |
| 743 | <year>1981</year> |
| 744 | <publisher>Philips</publisher> |
| 745 | <info name="usage" value="Move joystick when game is on screen." /> |
| 746 | <info name="serial" value="AK9420 (USA) ~ 36 (Euro)"/> |
| 747 | <part name="cart" interface="odyssey_cart"> |
| 748 | <dataarea name="rom" size="2048"> |
| 749 | <rom name="hockey - soccer (usa, europe).bin" size="2048" crc="39989464" sha1="f39c9801984f97d5a685a4b7a1accd0164a49b43" offset="0" /> |
| 750 | </dataarea> |
| 751 | </part> |
| 752 | </software> |
| 753 | <software name="2fblhcky" cloneof="2hckyscr"> |
| 754 | <description>Football Electronique/Hockey Electronique (Fra)</description> |
| 755 | <year>1981</year> |
| 756 | <publisher>Radiola</publisher> |
| 757 | <info name="usage" value="Move joystick when game is on screen." /> |
| 758 | <part name="cart" interface="odyssey_cart"> |
| 759 | <dataarea name="rom" size="2048"> |
| 760 | <rom name="football electronique - hockey electronique (france).bin" size="2048" crc="f00f9dba" sha1="d7593ade4d60a6e314e4f18711e8ea59e3c8c3ad" offset="0" /> |
| 761 | </dataarea> |
| 762 | </part> |
| 763 | </software> |
| 764 | <software name="interpol"> |
| 765 | <description>Interpol (Euro, Prototype)</description> |
| 766 | <year>198?</year> |
| 767 | <publisher>GST Video</publisher> |
| 768 | <info name="programmer" value="Mick Rouse" /> |
| 769 | <part name="cart" interface="odyssey_cart"> |
| 770 | <dataarea name="rom" size="4096"> |
| 771 | <rom name="interpol (europe) (proto).bin" size="4096" crc="69d21f8f" sha1="c0b10b79461bc1939e08e4c05166126d2b8d7dda" offset="0" /> |
| 772 | </dataarea> |
| 773 | </part> |
| 774 | </software> |
| 775 | <software name="acrobat"> |
| 776 | <description>Jumping Acrobats (Euro)</description> |
| 777 | <year>1981</year> |
| 778 | <publisher>Philips</publisher> |
| 779 | <info name="programmer" value="Jim Butler" /> |
| 780 | <info name="serial" value="33"/> |
| 781 | <part name="cart" interface="odyssey_cart"> |
| 782 | <dataarea name="rom" size="2048"> |
| 783 | <rom name="jumping acrobats (europe).bin" size="2048" crc="6cebab74" sha1="a44587d48e76117838cb6a4cf964321d37efcde1" offset="0" /> |
| 784 | </dataarea> |
| 785 | </part> |
| 786 | </software> |
| 787 | <software name="acrobata" cloneof="acrobat"> |
| 788 | <description>Jumping Acrobats (Euro, Alt)</description> |
| 789 | <year>1981</year> |
| 790 | <publisher>Philips</publisher> |
| 791 | <info name="programmer" value="Jim Butler" /> |
| 792 | <part name="cart" interface="odyssey_cart"> |
| 793 | <dataarea name="rom" size="2048"> |
| 794 | <rom name="jumping acrobats (europe) (alt).bin" size="2048" crc="e7b26a56" sha1="ee5c0471fc192570fe4575ca65882d3d7b85350d" offset="0" /> |
| 795 | </dataarea> |
| 796 | </part> |
| 797 | </software> |
| 798 | <software name="ptbarnum" cloneof="acrobat"> |
| 799 | <description>P.T. Barnum's Acrobats! (USA)</description> |
| 800 | <year>1982</year> |
| 801 | <publisher>Philips</publisher> |
| 802 | <info name="programmer" value="Jim Butler" /> |
| 803 | <info name="serial" value="AC9443"/> |
| 804 | <part name="cart" interface="odyssey_cart"> |
| 805 | <dataarea name="rom" size="4096"> |
| 806 | <rom name="p.t. barnum's acrobats (usa).bin" size="4096" crc="874f36a4" sha1="661a73bd490cc592815f742eb33b2d3f0066be41" offset="0" /> |
| 807 | </dataarea> |
| 808 | </part> |
| 809 | </software> |
| 810 | <software name="kckrazy"> |
| 811 | <description>Crazy Chase (Euro) ~ K.C.'s Krazy Chase! (USA)</description> |
| 812 | <year>1982</year> |
| 813 | <publisher>Philips</publisher> |
| 814 | <info name="serial" value="AC9442 (USA) ~ 44 (Euro)"/> |
| 815 | <part name="cart" interface="odyssey_cart"> |
| 816 | <dataarea name="rom" size="4096"> |
| 817 | <rom name="k.c.'s krazy chase (usa, europe).bin" size="4096" crc="a6909a8b" sha1="3391e48c0048a2f588d8238bb202e2ec346a6ad4" offset="0" /> |
| 818 | </dataarea> |
| 819 | </part> |
| 820 | </software> |
| 821 | <software name="bees"> |
| 822 | <description>Killer Bees! (USA)</description><!-- also "Killer Bees (Euro)[Videopac 52]"? --> |
| 823 | <year>1983</year> |
| 824 | <publisher>Philips</publisher> |
| 825 | <info name="programmer" value="Robert S. Harris" /> |
| 826 | <info name="serial" value="AC9447"/> |
| 827 | <part name="cart" interface="odyssey_cart"> |
| 828 | <dataarea name="rom" size="8192"> |
| 829 | <rom name="killer bees (usa).bin" size="8192" crc="b096654e" sha1="b446a2730aefafe71394dbb9850d43c5cf01d367" offset="0" /> |
| 830 | </dataarea> |
| 831 | </part> |
| 832 | </software> |
| 833 | <software name="2lbsprmd"> |
| 834 | <description>A Labyrinth Game/Supermind (Euro)</description> |
| 835 | <year>1981</year> |
| 836 | <publisher>Philips</publisher> |
| 837 | <info name="serial" value="32"/> |
| 838 | <part name="cart" interface="odyssey_cart"> |
| 839 | <dataarea name="rom" size="2048"> |
| 840 | <rom name="a labyrinth game - supermind (europe).bin" size="2048" crc="d158eeba" sha1="85c567c8f38239350a5d04f8cfd9dd7872f448c9" offset="0" /> |
| 841 | </dataarea> |
| 842 | </part> |
| 843 | </software> |
| 844 | <software name="lsvsblck"> |
| 845 | <description>Blackjack (Euro) ~ Las Vegas Blackjack! (USA)</description> |
| 846 | <year>1980</year> |
| 847 | <publisher>Philips</publisher> |
| 848 | <info name="serial" value="AJ9401 (USA) ~ 5 (Euro)"/> |
| 849 | <part name="cart" interface="odyssey_cart"> |
| 850 | <dataarea name="rom" size="2048"> |
| 851 | <rom name="las vegas blackjack (usa, europe).bin" size="2048" crc="6f66b1f7" sha1="3e10fc687b1d07612305f680f24590f99842e62b" offset="0" /> |
| 852 | </dataarea> |
| 853 | </part> |
| 854 | </software> |
| 855 | <software name="blackjck" cloneof="lsvsblck"> |
| 856 | <description>Blackjack (Fra)</description> |
| 857 | <year>1980</year> |
| 858 | <publisher>Radiola</publisher> |
| 859 | <part name="cart" interface="odyssey_cart"> |
| 860 | <dataarea name="rom" size="2048"> |
| 861 | <rom name="blackjack (france).bin" size="2048" crc="6381e402" sha1="9ec331ce8e50ef60de93e615c18327f08b4a24fb" offset="0" /> |
| 862 | </dataarea> |
| 863 | </part> |
| 864 | </software> |
| 865 | <software name="laser"> |
| 866 | <description>Laser War (Euro)</description> |
| 867 | <year>1980</year> |
| 868 | <publisher>Philips</publisher> |
| 869 | <info name="serial" value="18"/> |
| 870 | <part name="cart" interface="odyssey_cart"> |
| 871 | <dataarea name="rom" size="2048"> |
| 872 | <rom name="laser war (europe).bin" size="2048" crc="17be749b" sha1="3d188d49d4a2409f66ac86bcf58d90d35908032b" offset="0" /> |
| 873 | </dataarea> |
| 874 | </part> |
| 875 | </software> |
| 876 | <software name="guerre" cloneof="laser"> |
| 877 | <description>Guerre Lazer (Fra)</description> |
| 878 | <year>1980</year> |
| 879 | <publisher>Radiola</publisher> |
| 880 | <part name="cart" interface="odyssey_cart"> |
| 881 | <dataarea name="rom" size="2048"> |
| 882 | <rom name="guerre laser (france).bin" size="2048" crc="ca8ab259" sha1="12f08273e6c5e97e0a35c4033bd7527bb8a559d3" offset="0" /> |
| 883 | </dataarea> |
| 884 | </part> |
| 885 | </software> |
| 886 | <software name="invaders" cloneof="laser"> |
| 887 | <description>Invaders from Hyperspace! (USA)</description> |
| 888 | <year>1980</year> |
| 889 | <publisher>Philips</publisher> |
| 890 | <info name="serial" value="AK9414"/> |
| 891 | <part name="cart" interface="odyssey_cart"> |
| 892 | <dataarea name="rom" size="2048"> |
| 893 | <rom name="invaders from hyperspace (usa).bin" size="2048" crc="ad7a9a11" sha1="00032798bd4cc01323e663e98634b82a74b0dc53" offset="0" /> |
| 894 | </dataarea> |
| 895 | </part> |
| 896 | </software> |
| 897 | <software name="balao"> |
| 898 | <description>Balão Travesso! (Brazil)</description> |
| 899 | <year>1983</year> |
| 900 | <publisher>Philips</publisher> |
| 901 | <part name="cart" interface="odyssey_cart"> |
| 902 | <dataarea name="rom" size="4096"> |
| 903 | <rom name="balao travesso (brazil).bin" size="4096" crc="5b6e741a" sha1="73bf363400fece63d1a10b6b8cd9413612a1a126" offset="0" /> |
| 904 | </dataarea> |
| 905 | </part> |
| 906 | </software> |
| 907 | <software name="loony" cloneof="balao"> |
| 908 | <description>Loony Balloon (Euro, Prototype)</description> |
| 909 | <year>1983</year> |
| 910 | <publisher>Philips</publisher> |
| 911 | <part name="cart" interface="odyssey_cart"> |
| 912 | <dataarea name="rom" size="4096"> |
| 913 | <rom name="loony balloon (europe) (proto).bin" size="4096" crc="ca23f40c" sha1="3cb324b047cbac8ec4381150b1c2aee98573841b" offset="0" /> |
| 914 | </dataarea> |
| 915 | </part> |
| 916 | </software> |
| 917 | <software name="martian"> |
| 918 | <description>Martian Threat (Euro, Prototype)</description> |
| 919 | <year>198?</year> |
| 920 | <publisher>Philips</publisher> |
| 921 | <info name="programmer" value="Jake Dowding?" /><!-- first prototype found was named "Jake" --> |
| 922 | <part name="cart" interface="odyssey_cart"> |
| 923 | <dataarea name="rom" size="8192"> |
| 924 | <rom name="martian threat (europe) (proto).bin" size="8192" crc="39e31bf0" sha1="4266ca9aa34ace118edd8153e2847cfa94a9a2f0" offset="0" /> |
| 925 | </dataarea> |
| 926 | </part> |
| 927 | </software> |
| 928 | <software name="3prspclg"> |
| 929 | <description>Pairs/Space Rendezvous/Logic (Euro)</description> |
| 930 | <year>1978</year> |
| 931 | <publisher>Philips</publisher> |
| 932 | <info name="usage" value="Press 1 for Pairs 1 player, press 2 for Pairs 2 players, press 3 for Space Rendezvous, press 4 for Logic" /> |
| 933 | <info name="serial" value="2"/> |
| 934 | <part name="cart" interface="odyssey_cart"> |
| 935 | <dataarea name="rom" size="2048"> |
| 936 | <rom name="pairs - space rendezvous - logic (europe).bin" size="2048" crc="a69c2c93" sha1="7ea8e5ff3b9f86914774de2aa6f7a4652adcf47a" offset="0" /> |
| 937 | </dataarea> |
| 938 | </part> |
| 939 | </software> |
| 940 | <software name="3mkrbzlg" cloneof="3prspclg"> |
| 941 | <description>Matchmaker!/Buzzword!/Logix! (USA)</description> |
| 942 | <year>1978</year> |
| 943 | <publisher>Magnavox</publisher> |
| 944 | <info name="usage" value="Press 1 for Matchmaker 1 player, press 2 for Matchmaker 2 players, press 3 for Buzzword, press 4 for Logix" /> |
| 945 | <info name="serial" value="AJ9407"/> |
| 946 | <part name="cart" interface="odyssey_cart"> |
| 947 | <dataarea name="rom" size="2048"> |
| 948 | <rom name="matchmaker - buzzword - logix (usa).bin" size="2048" crc="bbf276a0" sha1="908387d2446f4c62019017fe262b412dfa040d10" offset="0" /> |
| 949 | </dataarea> |
| 950 | </part> |
| 951 | </software> |
| 952 | <software name="2missprg"> |
| 953 | <description>Missão Impossível/Viagem Programada (Bra)</description><!-- limited release --> |
| 954 | <year>198?</year> |
| 955 | <publisher>Ectron Eletrônica Ltda.</publisher> |
| 956 | <info name="usage" value="Press 1 for Missão Impossível, press 2 for Viagem Programada" /> |
| 957 | <part name="cart" interface="odyssey_cart"> |
| 958 | <dataarea name="rom" size="2048"> |
| 959 | <rom name="mission impossible (brazil).bin" size="2048" crc="655fdf57" sha1="7ff030e8ba236c9f354b903b89b283886c7455d7" offset="0" /> |
| 960 | </dataarea> |
| 961 | </part> |
| 962 | </software> |
| 963 | <software name="monkey"> |
| 964 | <description>Monkeyshines (Euro) ~ Monkeyshines! (USA)</description> |
| 965 | <year>1981</year> |
| 966 | <publisher>Philips</publisher> |
| 967 | <info name="programmer" value="Ed Averett"/> |
| 968 | <info name="serial" value="AB9432 (USA) ~ 37 (Euro)"/> |
| 969 | <part name="cart" interface="odyssey_cart"> |
| 970 | <dataarea name="rom" size="4096"> |
| 971 | <rom name="monkeyshines (usa, europe).bin" size="4096" crc="fee664f3" sha1="6d6659539934255711357537d4fa6e969c3c4754" offset="0" /> |
| 972 | </dataarea> |
| 973 | </part> |
| 974 | </software> |
| 975 | <software name="mousing"> |
| 976 | <description>The Mousing Cat (Euro)</description> |
| 977 | <year>1982</year> |
| 978 | <publisher>Philips</publisher> |
| 979 | <info name="serial" value="47"/> |
| 980 | <part name="cart" interface="odyssey_cart"> |
| 981 | <dataarea name="rom" size="4096"> |
| 982 | <rom name="the mousing cat (europe).bin" size="4096" crc="f390bfec" sha1="f9727e6c5a941518187c08e5f5d104460ac3b3e3" offset="0" /> |
| 983 | </dataarea> |
| 984 | </part> |
| 985 | </software> |
| 986 | <software name="chat" cloneof="mousing"> |
| 987 | <description>Chat et Souris (Fra)</description> |
| 988 | <year>1983</year> |
| 989 | <publisher>Radiola</publisher> |
| 990 | <part name="cart" interface="odyssey_cart"> |
| 991 | <dataarea name="rom" size="4096"> |
| 992 | <rom name="chat et souris (france).bin" size="4096" crc="61a350e6" sha1="afa67f2110647753de9dfacb268d96e75d6d8657" offset="0" /> |
| 993 | </dataarea> |
| 994 | </part> |
| 995 | </software> |
| 996 | <software name="munchkin"> |
| 997 | <description>Munchkin (Euro)</description> |
| 998 | <year>1982</year> |
| 999 | <publisher>Philips</publisher> |
| 1000 | <info name="programmer" value="Ed Averett"/> |
| 1001 | <info name="serial" value="38"/> |
| 1002 | <part name="cart" interface="odyssey_cart"> |
| 1003 | <dataarea name="rom" size="4096"> |
| 1004 | <rom name="munchkin (europe).bin" size="4096" crc="4a3e2dc8" sha1="83d06385fd74e3f7c19309e6908a975fa8856f32" offset="0" /> |
| 1005 | </dataarea> |
| 1006 | </part> |
| 1007 | </software> |
| 1008 | <software name="kcmunch"> |
| 1009 | <description>K.C. Munchkin! (USA)</description> |
| 1010 | <year>1981</year> |
| 1011 | <publisher>Philips</publisher> |
| 1012 | <info name="programmer" value="Ed Averett"/> |
| 1013 | <info name="serial" value="AC9435"/> |
| 1014 | <part name="cart" interface="odyssey_cart"> |
| 1015 | <dataarea name="rom" size="4096"> |
| 1016 | <rom name="k.c. munchkin (usa).bin" size="4096" crc="7108e058" sha1="d273cf993dfcbca3b65cd4959b45a3009f242bc6" offset="0" /> |
| 1017 | </dataarea> |
| 1018 | </part> |
| 1019 | </software> |
| 1020 | <software name="phantom"> |
| 1021 | <description>Phantom House (Euro, Prototype)</description> |
| 1022 | <year>1983</year> |
| 1023 | <publisher>Philips</publisher> |
| 1024 | <part name="cart" interface="odyssey_cart"> |
| 1025 | <dataarea name="rom" size="8192"> |
| 1026 | <rom name="phantom house (europe)(proto).bin" size="8192" crc="313547eb" sha1="3cc218587116eb105e95ffce9eb1b5e268258d4a" offset="0" /> |
| 1027 | </dataarea> |
| 1028 | </part> |
| 1029 | </software> |
| 1030 | <software name="2wrldrsc"> |
| 1031 | <description>Out of this World!/Helicopter Rescue! (USA)</description> |
| 1032 | <year>1979</year> |
| 1033 | <publisher>Magnavox</publisher> |
| 1034 | <info name="usage" value="Press 3 for Out of this World, press 1 for Helicopter Rescue" /> |
| 1035 | <info name="serial" value="AC9419"/> |
| 1036 | <part name="cart" interface="odyssey_cart"> |
| 1037 | <dataarea name="rom" size="2048"> |
| 1038 | <rom name="out of this world - helicopter rescue (usa).bin" size="2048" crc="0c2e4811" sha1="c6a79e721ee501d82d9a1c4f71f98bc23f1e7c7e" offset="0" /> |
| 1039 | </dataarea> |
| 1040 | </part> |
| 1041 | </software> |
| 1042 | <software name="pachinko"> |
| 1043 | <description>Basket Game (Euro) ~ Pachinko! (USA)</description> |
| 1044 | <year>1981</year> |
| 1045 | <publisher>Philips</publisher> |
| 1046 | <info name="programmer" value="Ed Averett"/> |
| 1047 | <info name="serial" value="AA9425 (USA) ~ 26 (Euro)"/> |
| 1048 | <part name="cart" interface="odyssey_cart"> |
| 1049 | <dataarea name="rom" size="2048"> |
| 1050 | <rom name="pachinko (usa, europe).bin" size="2048" crc="239df97d" sha1="ffd525d5c6023409afdcdb2afbda227bc4568304" offset="0" /> |
| 1051 | </dataarea> |
| 1052 | </part> |
| 1053 | </software> |
| 1054 | <software name="pickaxe"> |
| 1055 | <description>Pickaxe Pete (Euro) ~ Pick Axe Pete! (USA)</description> |
| 1056 | <year>1980</year> |
| 1057 | <info name="serial" value="AC9437 (USA) ~ 43 (Euro)"/> |
| 1058 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 1059 | <part name="cart" interface="odyssey_cart"> |
| 1060 | <dataarea name="rom" size="4096"> |
| 1061 | <rom name="pick axe pete (usa, europe).bin" size="4096" crc="d62814a3" sha1="b979ed0c2b8947f764786fcf4444463b3d3ae87d" offset="0" /> |
| 1062 | </dataarea> |
| 1063 | </part> |
| 1064 | </software> |
| 1065 | <software name="pinball"> |
| 1066 | <description>Pinball! (USA, Prototype)</description> |
| 1067 | <year>1979</year><!-- re-released at Classic Games Expo (2004 in Philidelphia) with Ralph Baer's autograph (as he was designer) --> |
| 1068 | <publisher>Philips</publisher> |
| 1069 | <info name="programmer" value="Don McGuiness"/> |
| 1070 | <part name="cart" interface="odyssey_cart"> |
| 1071 | <dataarea name="rom" size="2048"> |
| 1072 | <rom name="pinball (usa) (proto).bin" size="2048" crc="6ef2471a" sha1="350a9e3f95dbf2d5e7aa1ddbd5e531300ddeeee4" offset="0" /> |
| 1073 | </dataarea> |
| 1074 | </part> |
| 1075 | </software> |
| 1076 | <software name="playtag"> |
| 1077 | <description>Plantage ~ Play Tag (Euro, Prototype)</description> |
| 1078 | <year>198?</year> |
| 1079 | <publisher>Philips</publisher> |
| 1080 | <part name="cart" interface="odyssey_cart"> |
| 1081 | <dataarea name="rom" size="4096"> |
| 1082 | <rom name="playtag (europe) (proto).bin" size="4096" crc="a29f0fd4" sha1="759dc0efb9dbf64034d9fd78c12207206b173c0c" offset="0" /> |
| 1083 | </dataarea> |
| 1084 | </part> |
| 1085 | </software> |
| 1086 | <software name="billiard"> |
| 1087 | <description>Electronic Billiards (Euro) ~ Pocket Billiards! (USA)</description> |
| 1088 | <year>1978</year> |
| 1089 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 1090 | <info name="programmer" value="Ed Averett"/> |
| 1091 | <info name="serial" value="AC9424 (USA) ~ 35 (Euro)"/> |
| 1092 | <part name="cart" interface="odyssey_cart"> |
| 1093 | <dataarea name="rom" size="2048"> |
| 1094 | <rom name="pocket billiards (usa, europe).bin" size="2048" crc="24d53e2c" sha1="8abd1057202ebac12acf3822ed4d965bba02b7de" offset="0" /> |
| 1095 | </dataarea> |
| 1096 | </part> |
| 1097 | </software> |
| 1098 | <software name="billamer" cloneof="billiard"> |
| 1099 | <description>Billard Américain (Fra)</description> |
| 1100 | <year>1978</year> |
| 1101 | <publisher>Radiola</publisher> |
| 1102 | <info name="programmer" value="Ed Averett"/> |
| 1103 | <part name="cart" interface="odyssey_cart"> |
| 1104 | <dataarea name="rom" size="2048"> |
| 1105 | <rom name="billiard americain (france).bin" size="2048" crc="a674ea27" sha1="283ae5fa1d6e89a5ac921c7f2e21a89a67dd138c" offset="0" /> |
| 1106 | </dataarea> |
| 1107 | </part> |
| 1108 | </software> |
| 1109 | <software name="popeye"> |
| 1110 | <description>Popeye (Euro)</description> |
| 1111 | <year>1983</year> |
| 1112 | <publisher>Parker Brothers</publisher> |
| 1113 | <info name="programmer" value="Gil Williamson and Charles Dear" /> |
| 1114 | <part name="cart" interface="odyssey_cart"> |
| 1115 | <dataarea name="rom" size="8192"> |
| 1116 | <rom name="popeye (europe).bin" size="8192" crc="5216771a" sha1="a13e7b338ba15820949f51eb862b381ddc6870af" offset="0" /> |
| 1117 | </dataarea> |
| 1118 | </part> |
| 1119 | </software> |
| 1120 | <software name="popeyeb" cloneof="popeye"> |
| 1121 | <description>Popeye (Brazil)</description> |
| 1122 | <year>1983</year> |
| 1123 | <publisher>Parker Brothers</publisher> |
| 1124 | <info name="programmer" value="Gil Williamson and Charles Dear" /> |
| 1125 | <part name="cart" interface="odyssey_cart"> |
| 1126 | <dataarea name="rom" size="8192"> |
| 1127 | <rom name="popeye (brazil).bin" size="8192" crc="1b188870" sha1="d12197942a99d5902de1352bbb5475ab4396c7d0" offset="0" /> |
| 1128 | </dataarea> |
| 1129 | </part> |
| 1130 | </software> |
| 1131 | <software name="powerlrd"> |
| 1132 | <description>Power Lords (USA)</description> |
| 1133 | <year>1983</year> |
| 1134 | <publisher>Philips</publisher> |
| 1135 | <info name="usage" value="Uses the 2nd joystick" /> |
| 1136 | <info name="serial" value="AC9448"/> |
| 1137 | <part name="cart" interface="odyssey_cart"> |
| 1138 | <dataarea name="rom" size="4096"> |
| 1139 | <rom name="power lords (usa).bin" size="4096" crc="40ae062d" sha1="e81570282b8ade6b7c0d126c819a95c7011cd063" offset="0" /> |
| 1140 | </dataarea> |
| 1141 | </part> |
| 1142 | </software> |
| 1143 | <software name="qbert"> |
| 1144 | <description>Q*bert (Euro)</description> |
| 1145 | <year>1983</year> |
| 1146 | <publisher>Parker Brothers</publisher> |
| 1147 | <info name="programmer" value="Gil Williamson and Charles Dear" /> |
| 1148 | <part name="cart" interface="odyssey_cart"> |
| 1149 | <dataarea name="rom" size="8192"> |
| 1150 | <rom name="q*bert (europe).bin" size="8192" crc="202f2749" sha1="80d76d5c56fc716a8f7a55166390658c320e4c34" offset="0" /> |
| 1151 | </dataarea> |
| 1152 | </part> |
| 1153 | </software> |
| 1154 | <software name="quest"> |
| 1155 | <description>Quest for the Rings (USA, Euro)</description> |
| 1156 | <year>1981</year> |
| 1157 | <publisher>Philips</publisher> |
| 1158 | <info name="programmer" value="Ed Averett"/> |
| 1159 | <info name="serial" value="AC9429 (USA) ~ 42 (Euro)"/> |
| 1160 | <part name="cart" interface="odyssey_cart"> |
| 1161 | <dataarea name="rom" size="4096"> |
| 1162 | <rom name="quest for the rings (usa, europe).bin" size="4096" crc="9451be1e" sha1="32759c8d502cd8b959da5f03351db7cd46c8f96a" offset="0" /> |
| 1163 | </dataarea> |
| 1164 | </part> |
| 1165 | </software> |
| 1166 | <software name="laquete" cloneof="quest"> |
| 1167 | <description>La Quête Des Anneux (Fra)</description> |
| 1168 | <year>1982</year> |
| 1169 | <publisher>Radiola</publisher> |
| 1170 | <info name="programmer" value="Ed Averett"/> |
| 1171 | <part name="cart" interface="odyssey_cart"> |
| 1172 | <dataarea name="rom" size="4096"> |
| 1173 | <rom name="la quete des anneaux (france).bin" size="4096" crc="a21da732" sha1="04543bdbea8112f7cc55caef5da9445d08d65e46" offset="0" /> |
| 1174 | </dataarea> |
| 1175 | </part> |
| 1176 | </software> |
| 1177 | <software name="battle"> |
| 1178 | <description>Barão Vermelho! (Brazil)</description> |
| 1179 | <year>198?</year> |
| 1180 | <publisher>Philips</publisher> |
| 1181 | <part name="cart" interface="odyssey_cart"> |
| 1182 | <dataarea name="rom" size="8192"> |
| 1183 | <rom name="air battle (brazil).bin" size="8192" crc="4103ee95" sha1="b6842b9264b722e2b39c8647b7963e513a0cde16" offset="0" /> |
| 1184 | </dataarea> |
| 1185 | </part> |
| 1186 | </software> |
| 1187 | <software name="baron" cloneof="battle"> |
| 1188 | <description>Red Baron (Euro, Prototype)</description> |
| 1189 | <year>198?</year> |
| 1190 | <publisher>Philips</publisher> |
| 1191 | <part name="cart" interface="odyssey_cart"> |
| 1192 | <dataarea name="rom" size="8192"> |
| 1193 | <rom name="red baron (europe) (proto).bin" size="8192" crc="1eeb88f5" sha1="50eba68915b0ccc95f07719f80d9011ca2cf67c9" offset="0" /> |
| 1194 | </dataarea> |
| 1195 | </part> |
| 1196 | </software> |
| 1197 | <software name="robot"> |
| 1198 | <description>Robot City (Euro, Prototype)</description> |
| 1199 | <year>198?</year> |
| 1200 | <publisher>Philips</publisher> |
| 1201 | <part name="cart" interface="odyssey_cart"> |
| 1202 | <dataarea name="rom" size="8192"> |
| 1203 | <rom name="robot city (europe) (proto).bin" size="8192" crc="ef9e9c3b" sha1="ff92b024ef80919146e822ce947882d0744ac09f" offset="0" /> |
| 1204 | </dataarea> |
| 1205 | </part> |
| 1206 | </software> |
| 1207 | <software name="samurai"> |
| 1208 | <description>Samurai (Euro)</description> |
| 1209 | <year>1980</year> |
| 1210 | <publisher>Philips</publisher> |
| 1211 | <info name="programmer" value="Ed Averett"/> |
| 1212 | <info name="serial" value="15"/> |
| 1213 | <part name="cart" interface="odyssey_cart"> |
| 1214 | <dataarea name="rom" size="2048"> |
| 1215 | <rom name="samurai (europe).bin" size="2048" crc="7810bad5" sha1="fd354b726bd86dcbe97bcc284cf1e09485dd81ac" offset="0" /> |
| 1216 | </dataarea> |
| 1217 | </part> |
| 1218 | </software> |
| 1219 | <software name="dynasty" cloneof="samurai"> |
| 1220 | <description>Dynasty! (USA)</description> |
| 1221 | <year>1979</year> |
| 1222 | <publisher>Philips</publisher> |
| 1223 | <info name="programmer" value="Ed Averett"/> |
| 1224 | <info name="serial" value="AK9421"/> |
| 1225 | <part name="cart" interface="odyssey_cart"> |
| 1226 | <dataarea name="rom" size="2048"> |
| 1227 | <rom name="dynasty (usa).bin" size="2048" crc="dc30ad3d" sha1="20c6e4035ce8dd5a8f331c18ceef1056dc9ce818" offset="0" /> |
| 1228 | </dataarea> |
| 1229 | </part> |
| 1230 | </software> |
| 1231 | <software name="satellit"> |
| 1232 | <description>Satellite Attack (Euro)</description> |
| 1233 | <year>1981</year> |
| 1234 | <publisher>Philips</publisher> |
| 1235 | <info name="programmer" value="Ed Averett"/> |
| 1236 | <info name="serial" value="34"/> |
| 1237 | <part name="cart" interface="odyssey_cart"> |
| 1238 | <dataarea name="rom" size="2048"> |
| 1239 | <rom name="satellite attack (europe).bin" size="2048" crc="395629e1" sha1="e0383dd98b85dc2156a859e731ff904b6ebad95b" offset="0" /> |
| 1240 | </dataarea> |
| 1241 | </part> |
| 1242 | </software> |
| 1243 | <software name="ufo" cloneof="satellit"> |
| 1244 | <description>UFO! (USA)</description> |
| 1245 | <year>1982</year> |
| 1246 | <publisher>Magnavox</publisher> |
| 1247 | <info name="programmer" value="Ed Averett"/> |
| 1248 | <info name="serial" value="AB9430"/> |
| 1249 | <part name="cart" interface="odyssey_cart"> |
| 1250 | <dataarea name="rom" size="2048"> |
| 1251 | <rom name="ufo (usa).bin" size="2048" crc="2b1e9e19" sha1="0e819a4b0f17520da24ff79901197f5397cb9a26" offset="0" /> |
| 1252 | </dataarea> |
| 1253 | </part> |
| 1254 | </software> |
| 1255 | <software name="syracuse"> |
| 1256 | <description>Syracuse (Fra)</description> |
| 1257 | <year>1981</year> |
| 1258 | <publisher>Jopac</publisher> |
| 1259 | <part name="cart" interface="odyssey_cart"> |
| 1260 | <dataarea name="rom" size="4096"> |
| 1261 | <rom name="syracuse (france).bin" size="4096" crc="280d08f4" sha1="37aa11cbf0a32ece89d1d2c500b74660830377df" offset="0" /> |
| 1262 | </dataarea> |
| 1263 | </part> |
| 1264 | </software> |
| 1265 | <software name="pharaohs"> |
| 1266 | <description>Secret of the Pharaohs (Euro)</description> |
| 1267 | <year>1981</year> |
| 1268 | <publisher>Philips</publisher> |
| 1269 | <info name="serial" value="21"/> |
| 1270 | <part name="cart" interface="odyssey_cart"> |
| 1271 | <dataarea name="rom" size="2048"> |
| 1272 | <rom name="secret of the pharaohs (europe).bin" size="2048" crc="7394e82c" sha1="9ff434312fa9d3b7b63909a9ece01d4e3e87f3b7" offset="0" /> |
| 1273 | </dataarea> |
| 1274 | </part> |
| 1275 | </software> |
| 1276 | <software name="farao" cloneof="pharaohs"> |
| 1277 | <description>O Segredo do Faraó! (Brazil)</description> |
| 1278 | <year>198?</year> |
| 1279 | <publisher>Philips</publisher> |
| 1280 | <part name="cart" interface="odyssey_cart"> |
| 1281 | <dataarea name="rom" size="4096"> |
| 1282 | <rom name="o segredo do farao (brazil).bin" size="4096" crc="16c574c8" sha1="ba42f5e642f5dc7be231bb0e230ffa77a766c805" offset="0" /> |
| 1283 | </dataarea> |
| 1284 | </part> |
| 1285 | </software> |
| 1286 | <software name="shark"> |
| 1287 | <description>Shark Hunter (Euro, Prototype)</description> |
| 1288 | <year>198?</year> |
| 1289 | <publisher>Philips</publisher> |
| 1290 | <info name="developer" value="Graham Conduit" /> |
| 1291 | <part name="cart" interface="odyssey_cart"> |
| 1292 | <dataarea name="rom" size="8192"> |
| 1293 | <rom name="shark hunter (europe) (proto).bin" size="8192" crc="df36683f" sha1="eca31e4d8a9e198a8661f6b6e63b33c184e9b22b" offset="0" /> |
| 1294 | </dataarea> |
| 1295 | </part> |
| 1296 | </software> |
| 1297 | <software name="3rcsocpt"> |
| 1298 | <description>Race/Spin-Out/Cryptogram (Euro) ~ Speedway/Spin-Out/Crypto-logic (USA)</description> |
| 1299 | <year>1978</year> |
| 1300 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 1301 | <info name="usage" value="Press 1 for Race/Speedway, press 2 for 3-lap Spin-out, press 4 for 15-lap Spin-out, press 5 for Cryptogram/Crypto-logic" /> |
| 1302 | <info name="serial" value="AC9400 (USA) ~ 1 (Euro)"/> |
| 1303 | <part name="cart" interface="odyssey_cart"> |
| 1304 | <dataarea name="rom" size="2048"> |
| 1305 | <rom name="speedway - spin-out - crypto-logic (usa, europe).bin" size="2048" crc="4eda4917" sha1="29d078f587be2afa4612800c64a5af72705e5681" offset="0" /> |
| 1306 | </dataarea> |
| 1307 | </part> |
| 1308 | </software> |
| 1309 | <software name="3csaucpt" cloneof="3rcsocpt"> |
| 1310 | <description>Course de Voitures/Autodrome/Cryptogramme (Fra)</description> |
| 1311 | <year>1978</year> |
| 1312 | <publisher>Radiola</publisher> |
| 1313 | <info name="usage" value="Press 1 for Course de Voitures, press 2 for 3-lap Autodrome, press 4 for 15-lap Autodrome, press 5 for Cryptogramme" /> |
| 1314 | <part name="cart" interface="odyssey_cart"> |
| 1315 | <dataarea name="rom" size="2048"> |
| 1316 | <rom name="course de voitures - autodrome - cryptogramme (france).bin" size="2048" crc="3b24e1ee" sha1="9e44ca9fc9e5def58c61b24274f0cbfb57d559ee" offset="0" /> |
| 1317 | </dataarea> |
| 1318 | </part> |
| 1319 | </software> |
| 1320 | <software name="spider"> |
| 1321 | <description>Spider-Man (Euro, Prototype)</description> |
| 1322 | <year>198?</year> |
| 1323 | <publisher>Parker Brothers</publisher> |
| 1324 | <part name="cart" interface="odyssey_cart"> |
| 1325 | <dataarea name="rom" size="8192"> |
| 1326 | <rom name="spider-man (europe) (proto).bin" size="8192" crc="35ace4e8" sha1="4b1d675cb1fbf72ed35681e2b2e6e99fed7154cd" offset="0" /> |
| 1327 | </dataarea> |
| 1328 | </part> |
| 1329 | </software> |
| 1330 | <software name="stone"> |
| 1331 | <description>Stone Sling (Euro)</description> |
| 1332 | <year>1981</year> |
| 1333 | <publisher>Philips</publisher> |
| 1334 | <info name="programmer" value="Robert L. Cheezem" /> |
| 1335 | <info name="serial" value="20"/> |
| 1336 | <part name="cart" interface="odyssey_cart"> |
| 1337 | <dataarea name="rom" size="2048"> |
| 1338 | <rom name="stone sling (europe).bin" size="2048" crc="44d1a8a5" sha1="50763429d12206d7bf9fad6a6bd6076a34d54b51" offset="0" /> |
| 1339 | </dataarea> |
| 1340 | </part> |
| 1341 | </software> |
| 1342 | <software name="smither" cloneof="stone"> |
| 1343 | <description>Smithereens! (USA)</description> |
| 1344 | <year>1982</year> |
| 1345 | <publisher>Philips</publisher> |
| 1346 | <info name="programmer" value="Robert L. Cheezem" /> |
| 1347 | <info name="serial" value="AC9441"/> |
| 1348 | <part name="cart" interface="odyssey_cart"> |
| 1349 | <dataarea name="rom" size="4096"> |
| 1350 | <rom name="smithereens (usa).bin" size="4096" crc="67069924" sha1="fc798f3cf770e8bf5f9a4064b6a4ca66e5a4eb71" offset="0" /> |
| 1351 | </dataarea> |
| 1352 | </part> |
| 1353 | </software> |
| 1354 | <software name="superbee"> |
| 1355 | <description>Super Bee (Euro)</description> |
| 1356 | <year>1983</year> |
| 1357 | <publisher>GST Video</publisher> |
| 1358 | <info name="programmer" value="Mick Rouse" /> |
| 1359 | <info name="serial" value="50"/> |
| 1360 | <part name="cart" interface="odyssey_cart"> |
| 1361 | <dataarea name="rom" size="4096"> |
| 1362 | <rom name="super bee (europe).bin" size="4096" crc="9585d511" sha1="dfcfd9c019773e703aa130bc55f5b2f972ece8f0" offset="0" /> |
| 1363 | </dataarea> |
| 1364 | </part> |
| 1365 | </software> |
| 1366 | <software name="superbeeb" cloneof="superbee"> |
| 1367 | <description>Super Bee! (Brazil)</description> |
| 1368 | <year>1983</year> |
| 1369 | <publisher>Philips</publisher> |
| 1370 | <part name="cart" interface="odyssey_cart"> |
| 1371 | <dataarea name="rom" size="4096"> |
| 1372 | <rom name="super bee (brazil).bin" size="4096" crc="02743352" sha1="98c1f3a9726fe1ba880d43f0ba004821c4cbec6c" offset="0" /> |
| 1373 | </dataarea> |
| 1374 | </part> |
| 1375 | </software> |
| 1376 | <software name="cobra"> |
| 1377 | <description>Super Cobra (Euro)</description> |
| 1378 | <year>1983</year> |
| 1379 | <publisher>Parker Brothers</publisher> |
| 1380 | <part name="cart" interface="odyssey_cart"> |
| 1381 | <dataarea name="rom" size="8192"> |
| 1382 | <rom name="super cobra (europe).bin" size="8192" crc="95936b07" sha1="5521ff83e3be32c38205472b2df49eb507249dc2" offset="0" /> |
| 1383 | </dataarea> |
| 1384 | </part> |
| 1385 | </software> |
| 1386 | <software name="cobrab" cloneof="cobra"> |
| 1387 | <description>Super Cobra (Brazil)</description> |
| 1388 | <year>1983</year> |
| 1389 | <publisher>Parker Brothers</publisher> |
| 1390 | <part name="cart" interface="odyssey_cart"> |
| 1391 | <dataarea name="rom" size="8192"> |
| 1392 | <rom name="super cobra (brazil).bin" size="8192" crc="e58aa0ac" sha1="46716a927b902759bfe252022f84186098fb5863" offset="0" /> |
| 1393 | </dataarea> |
| 1394 | </part> |
| 1395 | </software> |
| 1396 | <software name="moneyrun"> |
| 1397 | <description>Take the Money and Run (Euro) ~ Take the Money and Run! (USA)</description> |
| 1398 | <year>1978</year> |
| 1399 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 1400 | <info name="programmer" value="Ed Averett"/> |
| 1401 | <info name="serial" value="AJ9412 (USA) ~ 12 (Euro)"/> |
| 1402 | <part name="cart" interface="odyssey_cart"> |
| 1403 | <dataarea name="rom" size="2048"> |
| 1404 | <rom name="take the money and run (usa, europe).bin" size="2048" crc="11ff50ad" sha1="8c181f4835d53a358ecb8e4385e087ee942b4b4f" offset="0" /> |
| 1405 | </dataarea> |
| 1406 | </part> |
| 1407 | </software> |
| 1408 | <software name="prendre" cloneof="moneyrun"> |
| 1409 | <description>Prendre l'Argent et Fuir (Fra)</description> |
| 1410 | <year>1978</year> |
| 1411 | <publisher>Radiola</publisher> |
| 1412 | <info name="programmer" value="Ed Averett"/> |
| 1413 | <part name="cart" interface="odyssey_cart"> |
| 1414 | <dataarea name="rom" size="2048"> |
| 1415 | <rom name="prendre l'argent et fuir (france).bin" size="2048" crc="ad89f799" sha1="2a55d179acfd9fe31b5f8f0ed0e2379b584f7c8a" offset="0" /> |
| 1416 | </dataarea> |
| 1417 | </part> |
| 1418 | </software> |
| 1419 | <software name="flipper"> |
| 1420 | <description>Flipper Game (Euro) ~ Thunderball! (USA)</description> |
| 1421 | <year>1979</year> |
| 1422 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 1423 | <info name="serial" value="AK9415 (USA) ~ 24 (Euro)"/> |
| 1424 | <part name="cart" interface="odyssey_cart"> |
| 1425 | <dataarea name="rom" size="2048"> |
| 1426 | <rom name="thunderball (usa, europe).bin" size="2048" crc="2c9d1715" sha1="d0070e12d6b0f406dab6e1fa550ab01509c9362e" offset="0" /> |
| 1427 | </dataarea> |
| 1428 | </part> |
| 1429 | </software> |
| 1430 | <software name="flipperf"> |
| 1431 | <description>Flipper (Fra)</description> |
| 1432 | <year>1980</year> |
| 1433 | <publisher>Radiola</publisher> |
| 1434 | <part name="cart" interface="odyssey_cart"> |
| 1435 | <dataarea name="rom" size="2048"> |
| 1436 | <rom name="billard electrique (france).bin" size="2048" crc="54bf4750" sha1="d12a242d273c4f4417806c3bcd868a9a0f553854" offset="0" /> |
| 1437 | </dataarea> |
| 1438 | </part> |
| 1439 | </software> |
| 1440 | <software name="turtles"> |
| 1441 | <description>Turtles (Euro)</description> |
| 1442 | <year>1982</year> |
| 1443 | <publisher>Philips</publisher> |
| 1444 | <info name="programmer" value="Jim Butler" /> |
| 1445 | <info name="serial" value="49"/> |
| 1446 | <part name="cart" interface="odyssey_cart"> |
| 1447 | <dataarea name="rom" size="8192"> |
| 1448 | <rom name="turtles (europe).bin" size="8192" crc="1c750349" sha1="1fdca749675f62212d0b79c5f0911bcabc4e4e11" offset="0" /> |
| 1449 | </dataarea> |
| 1450 | </part> |
| 1451 | </software> |
| 1452 | <software name="turtlesu" cloneof="turtles"> |
| 1453 | <description>Turtles (USA)</description> |
| 1454 | <year>1983</year> |
| 1455 | <publisher>Philips</publisher> |
| 1456 | <info name="programmer" value="Jim Butler" /> |
| 1457 | <info name="serial" value="AC9446"/> |
| 1458 | <part name="cart" interface="odyssey_cart"> |
| 1459 | <dataarea name="rom" size="8192"> |
| 1460 | <rom name="turtles (usa).bin" size="8192" crc="9e42e766" sha1="ee456305397ecbd54fffa0bb7a894f53976d2a7c" offset="0" /> |
| 1461 | </dataarea> |
| 1462 | </part> |
| 1463 | </software> |
| 1464 | <software name="tutank"> |
| 1465 | <description>Tutankham (Euro, Prototype)</description> |
| 1466 | <year>198?</year> |
| 1467 | <publisher>Parker Brothers</publisher> |
| 1468 | <info name="programmer" value="Gil Williamson and Charles Dear" /> |
| 1469 | <part name="cart" interface="odyssey_cart"> |
| 1470 | <dataarea name="rom" size="8192"> |
| 1471 | <rom name="tutankham (europe) (proto).bin" size="8192" crc="0b2deb61" sha1="c4985a344be7da3d78656b6473a3a1ad3ebe6497" offset="0" /> |
| 1472 | </dataarea> |
| 1473 | </part> |
| 1474 | </software> |
| 1475 | <software name="volley"> |
| 1476 | <description>Electronic Volleyball (Euro) ~ Volleyball! (USA)</description> |
| 1477 | <year>1979</year> |
| 1478 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 1479 | <info name="programmer" value="Ed Averett" /> |
| 1480 | <info name="serial" value="AA9422 (USA) ~ 28 (Euro)"/> |
| 1481 | <part name="cart" interface="odyssey_cart"> |
| 1482 | <dataarea name="rom" size="2048"> |
| 1483 | <rom name="volleyball (usa, europe).bin" size="2048" crc="d3b09fec" sha1="830c9b3628f2e9c4f8c882024dd912b9d7610765" offset="0" /> |
| 1484 | </dataarea> |
| 1485 | </part> |
| 1486 | </software> |
| 1487 | <software name="volleyf" cloneof="volley"> |
| 1488 | <description>Volleyball (Fra)</description> |
| 1489 | <year>1979</year> |
| 1490 | <publisher>Radiola</publisher> |
| 1491 | <info name="programmer" value="Ed Averett" /> |
| 1492 | <part name="cart" interface="odyssey_cart"> |
| 1493 | <dataarea name="rom" size="2048"> |
| 1494 | <rom name="volleyball electronique (france).bin" size="2048" crc="551e38a2" sha1="9ea8d921ca03699f74e53e25b139632391838c7d" offset="0" /> |
| 1495 | </dataarea> |
| 1496 | </part> |
| 1497 | </software> |
| 1498 | <software name="battlef"> |
| 1499 | <description>Battlefield (Euro) ~ War of Nerves! (USA)</description> |
| 1500 | <year>1979</year> |
| 1501 | <publisher>Philips</publisher> |
| 1502 | <info name="serial" value="AK9417 (USA) ~ 30 (Euro)"/> |
| 1503 | <info name="programmer" value="Ed Averett" /> |
| 1504 | <part name="cart" interface="odyssey_cart"> |
| 1505 | <dataarea name="rom" size="2048"> |
| 1506 | <rom name="war of nerves (usa, europe).bin" size="2048" crc="58fa6766" sha1="e56b674c832e5a7cad977cc76779548fdd2f338e" offset="0" /> |
| 1507 | </dataarea> |
| 1508 | </part> |
| 1509 | </software> |
| 1510 | </softwarelist> |
| | No newline at end of file |
trunk/src/mess/drivers/thomson.c
r20247 | r20248 | |
130 | 130 | static INPUT_PORTS_START( thom_game_port ) |
131 | 131 | |
132 | 132 | /* joysticks, common to CM 90-112 & SX 90-018 */ |
133 | | PORT_START ( "game_port_directions" ) |
| 133 | PORT_START ( "game_port_directions" ) |
134 | 134 | PAD ( 0x01, 1, UTF8_UP, JOYSTICK_UP, UP, UP) |
135 | 135 | PAD ( 0x02, 1, UTF8_DOWN, JOYSTICK_DOWN, DOWN, DOWN ) |
136 | 136 | PAD ( 0x04, 1, UTF8_LEFT, JOYSTICK_LEFT, LEFT, LEFT ) |
r20247 | r20248 | |
140 | 140 | PAD ( 0x40, 2, UTF8_LEFT, JOYSTICK_LEFT, LEFT, 4_PAD ) |
141 | 141 | PAD ( 0x80, 2, UTF8_RIGHT, JOYSTICK_RIGHT, RIGHT, 6_PAD ) |
142 | 142 | |
143 | | PORT_START ( "game_port_buttons" ) |
| 143 | PORT_START ( "game_port_buttons" ) |
144 | 144 | PAD ( 0x40, 1, "Action A", BUTTON1, BUTTON1, LCONTROL ) |
145 | 145 | PAD ( 0x80, 2, "Action A", BUTTON1, BUTTON1, RCONTROL ) |
146 | 146 | |
147 | 147 | /* joysticks, SX 90-018 specific */ |
148 | 148 | PAD ( 0x04, 1, "Action B", BUTTON2, BUTTON2, LALT ) |
149 | 149 | PAD ( 0x08, 2, "Action B", BUTTON2, BUTTON2, RALT ) |
150 | | PORT_BIT ( 0x30, IP_ACTIVE_HIGH, IPT_UNUSED ) |
151 | | PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) /* ? */ |
| 150 | PORT_BIT ( 0x30, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 151 | PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) /* ? */ |
152 | 152 | |
153 | 153 | /* mouse, SX 90-018 specific */ |
154 | | PORT_START ( "mouse_x" ) |
155 | | PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_X ) |
156 | | PORT_NAME ( "Mouse X" ) |
157 | | PORT_SENSITIVITY ( 150 ) |
158 | | PORT_PLAYER (1) |
| 154 | PORT_START ( "mouse_x" ) |
| 155 | PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_X ) |
| 156 | PORT_NAME ( "Mouse X" ) |
| 157 | PORT_SENSITIVITY ( 150 ) |
| 158 | PORT_PLAYER (1) |
159 | 159 | |
160 | | PORT_START ( "mouse_y" ) |
161 | | PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_Y ) |
162 | | PORT_NAME ( "Mouse Y" ) |
163 | | PORT_SENSITIVITY ( 150 ) |
164 | | PORT_PLAYER (1) |
| 160 | PORT_START ( "mouse_y" ) |
| 161 | PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_Y ) |
| 162 | PORT_NAME ( "Mouse Y" ) |
| 163 | PORT_SENSITIVITY ( 150 ) |
| 164 | PORT_PLAYER (1) |
165 | 165 | |
166 | | PORT_START ( "mouse_button" ) |
167 | | PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
168 | | PORT_NAME ( "Left Mouse Button" ) |
169 | | PORT_CODE( MOUSECODE_BUTTON1 ) |
170 | | PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) |
171 | | PORT_NAME ( "Right Mouse Button" ) |
| 166 | PORT_START ( "mouse_button" ) |
| 167 | PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 168 | PORT_NAME ( "Left Mouse Button" ) |
| 169 | PORT_CODE( MOUSECODE_BUTTON1 ) |
| 170 | PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) |
| 171 | PORT_NAME ( "Right Mouse Button" ) |
172 | 172 | |
173 | 173 | INPUT_PORTS_END |
174 | 174 | |
r20247 | r20248 | |
177 | 177 | |
178 | 178 | static INPUT_PORTS_START( thom_lightpen ) |
179 | 179 | |
180 | | PORT_START ( "lightpen_x" ) |
181 | | PORT_BIT ( 0xffff, THOM_TOTAL_WIDTH/2, IPT_LIGHTGUN_X ) |
182 | | PORT_NAME ( "Lightpen X" ) |
183 | | PORT_MINMAX( 0, THOM_TOTAL_WIDTH ) |
184 | | PORT_SENSITIVITY( 50 ) |
185 | | PORT_CROSSHAIR(X, 1.0, 0.0, 0) |
| 180 | PORT_START ( "lightpen_x" ) |
| 181 | PORT_BIT ( 0xffff, THOM_TOTAL_WIDTH/2, IPT_LIGHTGUN_X ) |
| 182 | PORT_NAME ( "Lightpen X" ) |
| 183 | PORT_MINMAX( 0, THOM_TOTAL_WIDTH ) |
| 184 | PORT_SENSITIVITY( 50 ) |
| 185 | PORT_CROSSHAIR(X, 1.0, 0.0, 0) |
186 | 186 | |
187 | | PORT_START ( "lightpen_y" ) |
188 | | PORT_BIT ( 0xffff, THOM_TOTAL_HEIGHT/2, IPT_LIGHTGUN_Y ) |
189 | | PORT_NAME ( "Lightpen Y" ) |
190 | | PORT_MINMAX ( 0, THOM_TOTAL_HEIGHT ) |
191 | | PORT_SENSITIVITY( 50 ) |
192 | | PORT_CROSSHAIR(Y, 1.0, 0.0, 0) |
| 187 | PORT_START ( "lightpen_y" ) |
| 188 | PORT_BIT ( 0xffff, THOM_TOTAL_HEIGHT/2, IPT_LIGHTGUN_Y ) |
| 189 | PORT_NAME ( "Lightpen Y" ) |
| 190 | PORT_MINMAX ( 0, THOM_TOTAL_HEIGHT ) |
| 191 | PORT_SENSITIVITY( 50 ) |
| 192 | PORT_CROSSHAIR(Y, 1.0, 0.0, 0) |
193 | 193 | |
194 | | PORT_START ( "lightpen_button" ) |
195 | | PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
196 | | PORT_NAME ( "Lightpen Button" ) |
197 | | PORT_CODE( MOUSECODE_BUTTON1 ) |
| 194 | PORT_START ( "lightpen_button" ) |
| 195 | PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 196 | PORT_NAME ( "Lightpen Button" ) |
| 197 | PORT_CODE( MOUSECODE_BUTTON1 ) |
198 | 198 | |
199 | 199 | INPUT_PORTS_END |
200 | 200 | |
r20247 | r20248 | |
305 | 305 | |
306 | 306 | static ADDRESS_MAP_START ( to7, AS_PROGRAM, 8, thomson_state ) |
307 | 307 | |
308 | | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */ |
309 | | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to7_vram_w ) |
310 | | AM_RANGE ( 0x6000, 0x7fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 1 * 8 KB */ |
311 | | AM_RANGE ( 0x8000, 0xbfff ) AM_NOP /* 16 KB (for extension) */ |
312 | | AM_RANGE ( 0xc000, 0xdfff ) AM_NOP /* 8 KB (for extension) */ |
313 | | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
314 | | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
315 | | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt ) |
316 | | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt ) |
317 | | AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w ) |
318 | | AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt ) |
319 | | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
320 | | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
321 | | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt ) |
322 | | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
323 | | AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */ |
| 308 | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */ |
| 309 | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to7_vram_w ) |
| 310 | AM_RANGE ( 0x6000, 0x7fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 1 * 8 KB */ |
| 311 | AM_RANGE ( 0x8000, 0xbfff ) AM_NOP /* 16 KB (for extension) */ |
| 312 | AM_RANGE ( 0xc000, 0xdfff ) AM_NOP /* 8 KB (for extension) */ |
| 313 | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
| 314 | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
| 315 | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt ) |
| 316 | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt ) |
| 317 | AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w ) |
| 318 | AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt ) |
| 319 | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
| 320 | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
| 321 | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt ) |
| 322 | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
| 323 | AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */ |
324 | 324 | |
325 | 325 | /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ |
326 | 326 | /* 0x20000 - 0x247ff: 18 KB floppy / network ROM controllers */ |
r20247 | r20248 | |
340 | 340 | /* external floppy controllers */ |
341 | 341 | #define ROM_FLOPPY( base ) \ |
342 | 342 | /* no controller */ \ |
343 | | ROM_FILL( base, 0x800, 0x39 ) \ |
| 343 | ROM_FILL( base, 0x800, 0x39 ) \ |
344 | 344 | /* CD 90-015 (5"1/4) */ \ |
345 | | ROM_LOAD ( "cd90-015.rom", base+0x800, 0x7c0, \ |
| 345 | ROM_LOAD ( "cd90-015.rom", base+0x800, 0x7c0, \ |
346 | 346 | CRC(821d34c1) \ |
347 | 347 | SHA1(31a6bb81baaeec5fc8de457c97264f9dfa92c18b) ) \ |
348 | 348 | /* CD 90-640 (5"1/4) */ \ |
349 | | ROM_LOAD ( "cd90-640.rom", base+0x1000, 0x7c0, \ |
| 349 | ROM_LOAD ( "cd90-640.rom", base+0x1000, 0x7c0, \ |
350 | 350 | CRC(5114c0a5) \ |
351 | 351 | SHA1(5c72566c22d8160ef0c75959e1863a1309bbbe49) ) \ |
352 | 352 | /* CD 90-351 (3"1/2) */ \ |
353 | | ROM_LOAD ( "cd-351-0.rom", base+0x1800, 0x7c0, \ |
| 353 | ROM_LOAD ( "cd-351-0.rom", base+0x1800, 0x7c0, \ |
354 | 354 | CRC(2c0159fd) \ |
355 | 355 | SHA1(bab5395ed8bc7c06f9897897f836054e6546e8e8) ) \ |
356 | | ROM_LOAD ( "cd-351-1.rom", base+0x2000, 0x7c0, \ |
| 356 | ROM_LOAD ( "cd-351-1.rom", base+0x2000, 0x7c0, \ |
357 | 357 | CRC(8e58d159) \ |
358 | 358 | SHA1(dcf992c96e7556b2faee6bacd3f744e56998e6ea) ) \ |
359 | | ROM_LOAD ( "cd-351-2.rom", base+0x2800, 0x7c0, \ |
| 359 | ROM_LOAD ( "cd-351-2.rom", base+0x2800, 0x7c0, \ |
360 | 360 | CRC(c9228b60) \ |
361 | 361 | SHA1(179e10107d5be91e684069dee80f94847b83201f) ) \ |
362 | | ROM_LOAD ( "cd-351-3.rom", base+0x3000, 0x7c0, \ |
| 362 | ROM_LOAD ( "cd-351-3.rom", base+0x3000, 0x7c0, \ |
363 | 363 | CRC(3ca8e5dc) \ |
364 | 364 | SHA1(7118636fb5c597c78c2fce17b02aed5e4ba38635) ) \ |
365 | 365 | /* CQ 90-028 (2"8, aka QDD) */ \ |
366 | | ROM_LOAD ( "cq90-028.rom", base+0x3800, 0x7c0, \ |
| 366 | ROM_LOAD ( "cq90-028.rom", base+0x3800, 0x7c0, \ |
367 | 367 | CRC(ca4dba3d) \ |
368 | 368 | SHA1(949c1f777c892da62c242215d79757d61e71e62b) ) |
369 | 369 | |
r20247 | r20248 | |
382 | 382 | |
383 | 383 | |
384 | 384 | ROM_START ( to7 ) |
385 | | ROM_REGION ( 0x24800, "maincpu", 0 ) |
386 | | ROM_LOAD ( "to7.rom", 0xe800, 0x1800, |
| 385 | ROM_REGION ( 0x24800, "maincpu", 0 ) |
| 386 | ROM_LOAD ( "to7.rom", 0xe800, 0x1800, |
387 | 387 | CRC(0e7826da) |
388 | 388 | SHA1(23a2f84b03c01d385cc1923c8ece95c43756297a) ) |
389 | | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
390 | | ROM_FLOPPY7 ( 0x20000 ) |
| 389 | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
| 390 | ROM_FLOPPY7 ( 0x20000 ) |
391 | 391 | ROM_END |
392 | 392 | |
393 | 393 | ROM_START ( t9000 ) |
394 | | ROM_REGION ( 0x24800, "maincpu", 0 ) |
395 | | ROM_LOAD ( "t9000.rom", 0xe800, 0x1800, |
| 394 | ROM_REGION ( 0x24800, "maincpu", 0 ) |
| 395 | ROM_LOAD ( "t9000.rom", 0xe800, 0x1800, |
396 | 396 | CRC(daa8cfbf) |
397 | 397 | SHA1(a5735db1ad4e529804fc46603f838d3f4ccaf5cf) ) |
398 | | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
399 | | ROM_FLOPPY7 ( 0x20000 ) |
| 398 | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
| 399 | ROM_FLOPPY7 ( 0x20000 ) |
400 | 400 | ROM_END |
401 | 401 | |
402 | 402 | |
403 | 403 | /* ------------ inputs ------------ */ |
404 | 404 | |
405 | 405 | static INPUT_PORTS_START ( to7_config ) |
406 | | PORT_START ( "config" ) |
| 406 | PORT_START ( "config" ) |
407 | 407 | |
408 | | PORT_CONFNAME ( 0x01, 0x00, "Game Port" ) |
409 | | PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) ) |
410 | | PORT_CONFSETTING ( 0x01, "Mouse" ) |
| 408 | PORT_CONFNAME ( 0x01, 0x00, "Game Port" ) |
| 409 | PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) ) |
| 410 | PORT_CONFSETTING ( 0x01, "Mouse" ) |
411 | 411 | |
412 | 412 | INPUT_PORTS_END |
413 | 413 | |
414 | 414 | static INPUT_PORTS_START ( to7_vconfig ) |
415 | | PORT_START ( "vconfig" ) |
| 415 | PORT_START ( "vconfig" ) |
416 | 416 | |
417 | | PORT_CONFNAME ( 0x03, 0x00, "Border" ) |
418 | | PORT_CONFSETTING ( 0x00, "Normal (56x47)" ) |
419 | | PORT_CONFSETTING ( 0x01, "Small (16x16)" ) |
420 | | PORT_CONFSETTING ( 0x02, DEF_STR ( None ) ) |
| 417 | PORT_CONFNAME ( 0x03, 0x00, "Border" ) |
| 418 | PORT_CONFSETTING ( 0x00, "Normal (56x47)" ) |
| 419 | PORT_CONFSETTING ( 0x01, "Small (16x16)" ) |
| 420 | PORT_CONFSETTING ( 0x02, DEF_STR ( None ) ) |
421 | 421 | |
422 | | PORT_CONFNAME ( 0x0c, 0x08, "Resolution" ) |
423 | | PORT_CONFSETTING ( 0x00, DEF_STR ( Low ) ) |
424 | | PORT_CONFSETTING ( 0x04, DEF_STR ( High ) ) |
425 | | PORT_CONFSETTING ( 0x08, "Auto" ) |
| 422 | PORT_CONFNAME ( 0x0c, 0x08, "Resolution" ) |
| 423 | PORT_CONFSETTING ( 0x00, DEF_STR ( Low ) ) |
| 424 | PORT_CONFSETTING ( 0x04, DEF_STR ( High ) ) |
| 425 | PORT_CONFSETTING ( 0x08, "Auto" ) |
426 | 426 | |
427 | 427 | INPUT_PORTS_END |
428 | 428 | |
429 | 429 | static INPUT_PORTS_START ( to7_mconfig ) |
430 | | PORT_START ( "mconfig" ) |
| 430 | PORT_START ( "mconfig" ) |
431 | 431 | |
432 | | PORT_CONFNAME ( 0x01, 0x01, "E7FE-F port" ) |
433 | | PORT_CONFSETTING ( 0x00, "Modem (unemulated)" ) |
434 | | PORT_CONFSETTING ( 0x01, "Speech" ) |
| 432 | PORT_CONFNAME ( 0x01, 0x01, "E7FE-F port" ) |
| 433 | PORT_CONFSETTING ( 0x00, "Modem (unemulated)" ) |
| 434 | PORT_CONFSETTING ( 0x01, "Speech" ) |
435 | 435 | |
436 | 436 | INPUT_PORTS_END |
437 | 437 | |
438 | 438 | static INPUT_PORTS_START ( to7_fconfig ) |
439 | | PORT_START ( "fconfig" ) |
| 439 | PORT_START ( "fconfig" ) |
440 | 440 | |
441 | | PORT_CONFNAME ( 0x07, 0x03, "Floppy (reset)" ) |
442 | | PORT_CONFSETTING ( 0x00, DEF_STR ( None ) ) |
443 | | PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" ) |
444 | | PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" ) |
445 | | PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" ) |
446 | | PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" ) |
447 | | PORT_CONFSETTING ( 0x05, "Network" ) |
| 441 | PORT_CONFNAME ( 0x07, 0x03, "Floppy (reset)" ) |
| 442 | PORT_CONFSETTING ( 0x00, DEF_STR ( None ) ) |
| 443 | PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" ) |
| 444 | PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" ) |
| 445 | PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" ) |
| 446 | PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" ) |
| 447 | PORT_CONFSETTING ( 0x05, "Network" ) |
448 | 448 | |
449 | | PORT_CONFNAME ( 0xf8, 0x08, "Network ID" ) |
450 | | PORT_CONFSETTING ( 0x00, "0 (Master)" ) |
451 | | PORT_CONFSETTING ( 0x08, "1" ) |
452 | | PORT_CONFSETTING ( 0x10, "2" ) |
453 | | PORT_CONFSETTING ( 0x18, "3" ) |
454 | | PORT_CONFSETTING ( 0x20, "4" ) |
455 | | PORT_CONFSETTING ( 0x28, "5" ) |
456 | | PORT_CONFSETTING ( 0x30, "6" ) |
457 | | PORT_CONFSETTING ( 0x38, "7" ) |
458 | | PORT_CONFSETTING ( 0x40, "8" ) |
459 | | PORT_CONFSETTING ( 0x48, "9" ) |
460 | | PORT_CONFSETTING ( 0x50, "10" ) |
461 | | PORT_CONFSETTING ( 0x58, "11" ) |
462 | | PORT_CONFSETTING ( 0x60, "12" ) |
463 | | PORT_CONFSETTING ( 0x68, "13" ) |
464 | | PORT_CONFSETTING ( 0x70, "14" ) |
465 | | PORT_CONFSETTING ( 0x78, "15" ) |
466 | | PORT_CONFSETTING ( 0x80, "16" ) |
467 | | PORT_CONFSETTING ( 0x88, "17" ) |
468 | | PORT_CONFSETTING ( 0x90, "18" ) |
469 | | PORT_CONFSETTING ( 0x98, "19" ) |
470 | | PORT_CONFSETTING ( 0xa0, "20" ) |
471 | | PORT_CONFSETTING ( 0xa8, "21" ) |
472 | | PORT_CONFSETTING ( 0xb0, "22" ) |
473 | | PORT_CONFSETTING ( 0xb8, "23" ) |
474 | | PORT_CONFSETTING ( 0xc0, "24" ) |
475 | | PORT_CONFSETTING ( 0xc8, "25" ) |
476 | | PORT_CONFSETTING ( 0xd0, "26" ) |
477 | | PORT_CONFSETTING ( 0xd8, "27" ) |
478 | | PORT_CONFSETTING ( 0xe0, "28" ) |
479 | | PORT_CONFSETTING ( 0xe8, "29" ) |
480 | | PORT_CONFSETTING ( 0xf0, "30" ) |
481 | | PORT_CONFSETTING ( 0xf8, "31" ) |
| 449 | PORT_CONFNAME ( 0xf8, 0x08, "Network ID" ) |
| 450 | PORT_CONFSETTING ( 0x00, "0 (Master)" ) |
| 451 | PORT_CONFSETTING ( 0x08, "1" ) |
| 452 | PORT_CONFSETTING ( 0x10, "2" ) |
| 453 | PORT_CONFSETTING ( 0x18, "3" ) |
| 454 | PORT_CONFSETTING ( 0x20, "4" ) |
| 455 | PORT_CONFSETTING ( 0x28, "5" ) |
| 456 | PORT_CONFSETTING ( 0x30, "6" ) |
| 457 | PORT_CONFSETTING ( 0x38, "7" ) |
| 458 | PORT_CONFSETTING ( 0x40, "8" ) |
| 459 | PORT_CONFSETTING ( 0x48, "9" ) |
| 460 | PORT_CONFSETTING ( 0x50, "10" ) |
| 461 | PORT_CONFSETTING ( 0x58, "11" ) |
| 462 | PORT_CONFSETTING ( 0x60, "12" ) |
| 463 | PORT_CONFSETTING ( 0x68, "13" ) |
| 464 | PORT_CONFSETTING ( 0x70, "14" ) |
| 465 | PORT_CONFSETTING ( 0x78, "15" ) |
| 466 | PORT_CONFSETTING ( 0x80, "16" ) |
| 467 | PORT_CONFSETTING ( 0x88, "17" ) |
| 468 | PORT_CONFSETTING ( 0x90, "18" ) |
| 469 | PORT_CONFSETTING ( 0x98, "19" ) |
| 470 | PORT_CONFSETTING ( 0xa0, "20" ) |
| 471 | PORT_CONFSETTING ( 0xa8, "21" ) |
| 472 | PORT_CONFSETTING ( 0xb0, "22" ) |
| 473 | PORT_CONFSETTING ( 0xb8, "23" ) |
| 474 | PORT_CONFSETTING ( 0xc0, "24" ) |
| 475 | PORT_CONFSETTING ( 0xc8, "25" ) |
| 476 | PORT_CONFSETTING ( 0xd0, "26" ) |
| 477 | PORT_CONFSETTING ( 0xd8, "27" ) |
| 478 | PORT_CONFSETTING ( 0xe0, "28" ) |
| 479 | PORT_CONFSETTING ( 0xe8, "29" ) |
| 480 | PORT_CONFSETTING ( 0xf0, "30" ) |
| 481 | PORT_CONFSETTING ( 0xf8, "31" ) |
482 | 482 | |
483 | 483 | INPUT_PORTS_END |
484 | 484 | |
485 | 485 | |
486 | 486 | static INPUT_PORTS_START ( to7_keyboard ) |
487 | | PORT_START ( "keyboard_0" ) |
| 487 | PORT_START ( "keyboard_0" ) |
488 | 488 | KEY ( 0, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1) |
489 | | PORT_BIT ( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED ) |
490 | | PORT_START ( "keyboard_1" ) |
| 489 | PORT_BIT ( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 490 | PORT_START ( "keyboard_1" ) |
491 | 491 | KEY ( 0, "W", W ) PORT_CHAR('W') |
492 | 492 | KEY ( 1, UTF8_UP, UP ) PORT_CHAR(UCHAR_MAMEKEY(UP)) |
493 | 493 | KEY ( 2, "C \303\247", C ) PORT_CHAR('C') |
r20247 | r20248 | |
496 | 496 | KEY ( 5, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL)) |
497 | 497 | KEY ( 6, "Accent", END ) PORT_CHAR(UCHAR_MAMEKEY(END)) |
498 | 498 | KEY ( 7, "Stop", TAB ) PORT_CHAR(27) |
499 | | PORT_START ( "keyboard_2" ) |
| 499 | PORT_START ( "keyboard_2" ) |
500 | 500 | KEY ( 0, "X", X ) PORT_CHAR('X') |
501 | 501 | KEY ( 1, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) |
502 | 502 | KEY ( 2, "V", V ) PORT_CHAR('V') |
r20247 | r20248 | |
505 | 505 | KEY ( 5, "A", A ) PORT_CHAR('A') |
506 | 506 | KEY ( 6, "+ ;", EQUALS ) PORT_CHAR('+') PORT_CHAR(';') |
507 | 507 | KEY ( 7, "1 !", 1 ) PORT_CHAR('1') PORT_CHAR('!') |
508 | | PORT_START ( "keyboard_3" ) |
| 508 | PORT_START ( "keyboard_3" ) |
509 | 509 | KEY ( 0, "Space Caps-Lock", SPACE ) PORT_CHAR(' ') PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) |
510 | 510 | KEY ( 1, UTF8_DOWN, DOWN ) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) |
511 | 511 | KEY ( 2, "B", B ) PORT_CHAR('B') |
r20247 | r20248 | |
514 | 514 | KEY ( 5, "Z \305\223", Z) PORT_CHAR('Z') |
515 | 515 | KEY ( 6, "- =", MINUS ) PORT_CHAR('-') PORT_CHAR('=') |
516 | 516 | KEY ( 7, "2 \" \302\250", 2 ) PORT_CHAR('2') PORT_CHAR('"') |
517 | | PORT_START ( "keyboard_4" ) |
| 517 | PORT_START ( "keyboard_4" ) |
518 | 518 | KEY ( 0, "@ \342\206\221", TILDE ) PORT_CHAR('@') |
519 | 519 | KEY ( 1, UTF8_RIGHT, RIGHT ) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) |
520 | 520 | KEY ( 2, "M", M ) PORT_CHAR('M') |
r20247 | r20248 | |
523 | 523 | KEY ( 5, "E", E ) PORT_CHAR('E') |
524 | 524 | KEY ( 6, "0 \140", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 ) |
525 | 525 | KEY ( 7, "3 #", 3 ) PORT_CHAR('3') PORT_CHAR('#') |
526 | | PORT_START ( "keyboard_5" ) |
| 526 | PORT_START ( "keyboard_5" ) |
527 | 527 | KEY ( 0, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>') |
528 | 528 | KEY ( 1, "Home", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) |
529 | 529 | KEY ( 2, "L", L ) PORT_CHAR('L') |
r20247 | r20248 | |
532 | 532 | KEY ( 5, "R", R ) PORT_CHAR('R') |
533 | 533 | KEY ( 6, "9 )", 9 ) PORT_CHAR('9') PORT_CHAR(')') |
534 | 534 | KEY ( 7, "4 $", 4 ) PORT_CHAR('4') PORT_CHAR('$') |
535 | | PORT_START ( "keyboard_6" ) |
| 535 | PORT_START ( "keyboard_6" ) |
536 | 536 | KEY ( 0, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<') |
537 | 537 | KEY ( 1, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) |
538 | 538 | KEY ( 2, "K", K ) PORT_CHAR('K') |
r20247 | r20248 | |
541 | 541 | KEY ( 5, "T", T ) PORT_CHAR('T') |
542 | 542 | KEY ( 6, "8 (", 8 ) PORT_CHAR('8') PORT_CHAR('(') |
543 | 543 | KEY ( 7, "5 %", 5 ) PORT_CHAR('5') PORT_CHAR('%') |
544 | | PORT_START ( "keyboard_7" ) |
| 544 | PORT_START ( "keyboard_7" ) |
545 | 545 | KEY ( 0, "N", N ) PORT_CHAR('N') |
546 | 546 | KEY ( 1, "Delete", DEL ) PORT_CHAR(8) |
547 | 547 | KEY ( 2, "J \305\222", J ) PORT_CHAR('J') |
r20247 | r20248 | |
552 | 552 | KEY ( 7, "6 &", 6 ) PORT_CHAR('6') PORT_CHAR('&') |
553 | 553 | |
554 | 554 | /* unused */ |
555 | | PORT_START ( "keyboard_8" ) |
556 | | PORT_START ( "keyboard_9" ) |
| 555 | PORT_START ( "keyboard_8" ) |
| 556 | PORT_START ( "keyboard_9" ) |
557 | 557 | |
558 | 558 | INPUT_PORTS_END |
559 | 559 | |
560 | 560 | static INPUT_PORTS_START ( to7 ) |
561 | | PORT_INCLUDE ( thom_lightpen ) |
562 | | PORT_INCLUDE ( thom_game_port ) |
563 | | PORT_INCLUDE ( to7_keyboard ) |
564 | | PORT_INCLUDE ( to7_config ) |
565 | | PORT_INCLUDE ( to7_fconfig ) |
566 | | PORT_INCLUDE ( to7_vconfig ) |
567 | | PORT_INCLUDE ( to7_mconfig ) |
| 561 | PORT_INCLUDE ( thom_lightpen ) |
| 562 | PORT_INCLUDE ( thom_game_port ) |
| 563 | PORT_INCLUDE ( to7_keyboard ) |
| 564 | PORT_INCLUDE ( to7_config ) |
| 565 | PORT_INCLUDE ( to7_fconfig ) |
| 566 | PORT_INCLUDE ( to7_vconfig ) |
| 567 | PORT_INCLUDE ( to7_mconfig ) |
568 | 568 | INPUT_PORTS_END |
569 | 569 | |
570 | 570 | static INPUT_PORTS_START ( t9000 ) |
571 | | PORT_INCLUDE ( to7 ) |
| 571 | PORT_INCLUDE ( to7 ) |
572 | 572 | INPUT_PORTS_END |
573 | 573 | |
574 | 574 | static const floppy_interface thomson_floppy_interface = |
r20247 | r20248 | |
623 | 623 | |
624 | 624 | static MACHINE_CONFIG_START( to7, thomson_state ) |
625 | 625 | |
626 | | MCFG_MACHINE_START ( to7 ) |
627 | | MCFG_MACHINE_RESET ( to7 ) |
| 626 | MCFG_MACHINE_START ( to7 ) |
| 627 | MCFG_MACHINE_RESET ( to7 ) |
628 | 628 | |
629 | 629 | /* cpu */ |
630 | | MCFG_CPU_ADD ( "maincpu", M6809, 1000000 ) |
631 | | MCFG_CPU_PROGRAM_MAP ( to7) |
| 630 | MCFG_CPU_ADD ( "maincpu", M6809, 1000000 ) |
| 631 | MCFG_CPU_PROGRAM_MAP ( to7) |
632 | 632 | |
633 | 633 | /* video */ |
634 | | MCFG_SCREEN_ADD("screen", RASTER) |
635 | | MCFG_SCREEN_REFRESH_RATE ( /*50*/ 1./0.019968 ) |
636 | | MCFG_SCREEN_SIZE ( THOM_TOTAL_WIDTH * 2, THOM_TOTAL_HEIGHT ) |
637 | | MCFG_SCREEN_VISIBLE_AREA ( 0, THOM_TOTAL_WIDTH * 2 - 1, |
| 634 | MCFG_SCREEN_ADD("screen", RASTER) |
| 635 | MCFG_SCREEN_REFRESH_RATE ( /*50*/ 1./0.019968 ) |
| 636 | MCFG_SCREEN_SIZE ( THOM_TOTAL_WIDTH * 2, THOM_TOTAL_HEIGHT ) |
| 637 | MCFG_SCREEN_VISIBLE_AREA ( 0, THOM_TOTAL_WIDTH * 2 - 1, |
638 | 638 | 0, THOM_TOTAL_HEIGHT - 1 ) |
639 | | MCFG_SCREEN_UPDATE_STATIC ( thom ) |
640 | | MCFG_SCREEN_VBLANK_STATIC ( thom ) |
| 639 | MCFG_SCREEN_UPDATE_STATIC ( thom ) |
| 640 | MCFG_SCREEN_VBLANK_STATIC ( thom ) |
641 | 641 | |
642 | | MCFG_PALETTE_LENGTH ( 4097 ) /* 12-bit color + transparency */ |
643 | | MCFG_PALETTE_INIT ( thom ) |
644 | | MCFG_VIDEO_START ( thom ) |
645 | | MCFG_DEFAULT_LAYOUT( layout_thomson ) |
| 642 | MCFG_PALETTE_LENGTH ( 4097 ) /* 12-bit color + transparency */ |
| 643 | MCFG_PALETTE_INIT ( thom ) |
| 644 | MCFG_VIDEO_START ( thom ) |
| 645 | MCFG_DEFAULT_LAYOUT( layout_thomson ) |
646 | 646 | |
647 | 647 | /* sound */ |
648 | | MCFG_SPEAKER_STANDARD_MONO("mono") |
649 | | MCFG_SOUND_ADD ( "buzzer", DAC, 0 ) |
650 | | MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 1-bit buzzer */ |
651 | | MCFG_SOUND_ADD ( "dac", DAC, 0 ) |
652 | | MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 6-bit game extention DAC */ |
653 | | MCFG_SOUND_ADD ( "speech", DAC, 0 ) |
654 | | MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* speech synthesis */ |
| 648 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 649 | MCFG_SOUND_ADD ( "buzzer", DAC, 0 ) |
| 650 | MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 1-bit buzzer */ |
| 651 | MCFG_SOUND_ADD ( "dac", DAC, 0 ) |
| 652 | MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 6-bit game extention DAC */ |
| 653 | MCFG_SOUND_ADD ( "speech", DAC, 0 ) |
| 654 | MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* speech synthesis */ |
655 | 655 | |
656 | 656 | /* printer */ |
657 | | MCFG_CENTRONICS_PRINTER_ADD("centronics", to7_centronics_config) |
| 657 | MCFG_CENTRONICS_PRINTER_ADD("centronics", to7_centronics_config) |
658 | 658 | |
659 | 659 | /* cassette */ |
660 | | MCFG_CASSETTE_ADD( CASSETTE_TAG, to7_cassette_interface ) |
| 660 | MCFG_CASSETTE_ADD( CASSETTE_TAG, to7_cassette_interface ) |
661 | 661 | |
662 | 662 | /* timer */ |
663 | | MCFG_MC6846_ADD( "mc6846", to7_timer ) |
| 663 | MCFG_MC6846_ADD( "mc6846", to7_timer ) |
664 | 664 | |
665 | 665 | /* speech synthesis */ |
666 | | MCFG_MEA8000_ADD( "mea8000", to7_speech ) |
| 666 | MCFG_MEA8000_ADD( "mea8000", to7_speech ) |
667 | 667 | |
668 | 668 | /* floppy */ |
669 | | MCFG_MC6843_ADD( "mc6843", to7_6843_itf ) |
670 | | MCFG_WD2793_ADD( "wd2793", default_wd17xx_interface ) |
671 | | MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(thomson_floppy_interface) |
| 669 | MCFG_MC6843_ADD( "mc6843", to7_6843_itf ) |
| 670 | MCFG_WD2793_ADD( "wd2793", default_wd17xx_interface ) |
| 671 | MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(thomson_floppy_interface) |
672 | 672 | |
673 | 673 | /* network */ |
674 | | MCFG_MC6854_ADD( "mc6854", to7_network_iface ) |
| 674 | MCFG_MC6854_ADD( "mc6854", to7_network_iface ) |
675 | 675 | |
676 | 676 | /* pia */ |
677 | | MCFG_PIA6821_ADD( THOM_PIA_SYS, to7_pia6821_sys ) |
678 | | MCFG_PIA6821_ADD( THOM_PIA_IO, to7_pia6821_io ) |
679 | | MCFG_PIA6821_ADD( THOM_PIA_GAME, to7_pia6821_game ) |
680 | | MCFG_PIA6821_ADD( THOM_PIA_MODEM, to7_pia6821_modem ) |
| 677 | MCFG_PIA6821_ADD( THOM_PIA_SYS, to7_pia6821_sys ) |
| 678 | MCFG_PIA6821_ADD( THOM_PIA_IO, to7_pia6821_io ) |
| 679 | MCFG_PIA6821_ADD( THOM_PIA_GAME, to7_pia6821_game ) |
| 680 | MCFG_PIA6821_ADD( THOM_PIA_MODEM, to7_pia6821_modem ) |
681 | 681 | |
682 | 682 | /* acia */ |
683 | | MCFG_ACIA6551_ADD("acia") |
| 683 | MCFG_ACIA6551_ADD("acia") |
684 | 684 | |
685 | 685 | /* to7 serial io line */ |
686 | | MCFG_TO7_IO_LINE_ADD("to7_io") |
| 686 | MCFG_TO7_IO_LINE_ADD("to7_io") |
687 | 687 | |
688 | 688 | /* modem */ |
689 | | MCFG_ACIA6850_ADD( "acia6850", to7_modem ) |
| 689 | MCFG_ACIA6850_ADD( "acia6850", to7_modem ) |
690 | 690 | |
691 | 691 | /* cartridge */ |
692 | | MCFG_CARTSLOT_ADD("cart") |
693 | | MCFG_CARTSLOT_EXTENSION_LIST("m7,rom") |
694 | | MCFG_CARTSLOT_NOT_MANDATORY |
695 | | MCFG_CARTSLOT_LOAD(to7_cartridge) |
| 692 | MCFG_CARTSLOT_ADD("cart") |
| 693 | MCFG_CARTSLOT_EXTENSION_LIST("m7,rom") |
| 694 | MCFG_CARTSLOT_NOT_MANDATORY |
| 695 | MCFG_CARTSLOT_LOAD(to7_cartridge) |
| 696 | MCFG_CARTSLOT_INTERFACE("to7_cart") |
| 697 | MCFG_SOFTWARE_LIST_ADD("cart_list","to7_cart") |
696 | 698 | |
697 | 699 | /* internal ram */ |
698 | 700 | MCFG_RAM_ADD(RAM_TAG) |
r20247 | r20248 | |
764 | 766 | |
765 | 767 | static ADDRESS_MAP_START ( to770, AS_PROGRAM, 8, thomson_state ) |
766 | 768 | |
767 | | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */ |
768 | | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
769 | | AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */ |
770 | | AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 6 * 16 KB */ |
771 | | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
772 | | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
773 | | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt ) |
774 | | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt ) |
775 | | AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w ) |
776 | | AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt ) |
777 | | AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to770_gatearray_r, to770_gatearray_w ) |
778 | | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
779 | | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
780 | | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt ) |
781 | | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
782 | | AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */ |
| 769 | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */ |
| 770 | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
| 771 | AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */ |
| 772 | AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 6 * 16 KB */ |
| 773 | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
| 774 | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
| 775 | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt ) |
| 776 | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt ) |
| 777 | AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w ) |
| 778 | AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt ) |
| 779 | AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to770_gatearray_r, to770_gatearray_w ) |
| 780 | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
| 781 | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
| 782 | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt ) |
| 783 | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
| 784 | AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */ |
783 | 785 | |
784 | 786 | /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ |
785 | 787 | /* 0x20000 - 0x247ff: 18 KB floppy / network ROM controllers */ |
r20247 | r20248 | |
797 | 799 | /* ------------ ROMS ------------ */ |
798 | 800 | |
799 | 801 | ROM_START ( to770 ) |
800 | | ROM_REGION ( 0x24800, "maincpu", 0 ) |
801 | | ROM_LOAD ( "to770.rom", 0xe800, 0x1800, /* BIOS */ |
| 802 | ROM_REGION ( 0x24800, "maincpu", 0 ) |
| 803 | ROM_LOAD ( "to770.rom", 0xe800, 0x1800, /* BIOS */ |
802 | 804 | CRC(89518862) |
803 | 805 | SHA1(cd34474c0bcc758f6d71c90fbd40cef379d61374) ) |
804 | | ROM_FLOPPY7 ( 0x20000 ) |
805 | | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
| 806 | ROM_FLOPPY7 ( 0x20000 ) |
| 807 | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
806 | 808 | ROM_END |
807 | 809 | |
808 | 810 | ROM_START ( to770a ) |
809 | | ROM_REGION ( 0x24800, "maincpu", 0 ) |
810 | | ROM_LOAD ( "to770a.rom", 0xe800, 0x1800, |
| 811 | ROM_REGION ( 0x24800, "maincpu", 0 ) |
| 812 | ROM_LOAD ( "to770a.rom", 0xe800, 0x1800, |
811 | 813 | CRC(378ea808) |
812 | 814 | SHA1(f4575b537dfdb46ff2a0e7cbe8dfe4ba63161b8e) ) |
813 | | ROM_FLOPPY7 ( 0x20000 ) |
814 | | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
| 815 | ROM_FLOPPY7 ( 0x20000 ) |
| 816 | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
815 | 817 | ROM_END |
816 | 818 | |
817 | 819 | |
818 | 820 | /* ------------ inputs ------------ */ |
819 | 821 | |
820 | 822 | static INPUT_PORTS_START ( to770 ) |
821 | | PORT_INCLUDE ( to7 ) |
| 823 | PORT_INCLUDE ( to7 ) |
822 | 824 | |
823 | | PORT_MODIFY ( "keyboard_1" ) |
| 825 | PORT_MODIFY ( "keyboard_1" ) |
824 | 826 | KEY ( 2, "C \302\250 \303\247", C ) PORT_CHAR('C') |
825 | | PORT_MODIFY ( "keyboard_4" ) |
| 827 | PORT_MODIFY ( "keyboard_4" ) |
826 | 828 | KEY ( 6, "0 \140 \303\240", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 ) |
827 | | PORT_MODIFY ( "keyboard_5" ) |
| 829 | PORT_MODIFY ( "keyboard_5" ) |
828 | 830 | KEY ( 6, "9 ) \303\247", 9 ) PORT_CHAR('9') PORT_CHAR(')') |
829 | | PORT_MODIFY ( "keyboard_6" ) |
| 831 | PORT_MODIFY ( "keyboard_6" ) |
830 | 832 | KEY ( 6, "8 ( \303\271", 8 ) PORT_CHAR('8') PORT_CHAR('(') |
831 | | PORT_MODIFY ( "keyboard_7" ) |
| 833 | PORT_MODIFY ( "keyboard_7" ) |
832 | 834 | KEY ( 6, "7 ' \303\250 \302\264", 7 ) PORT_CHAR('7') PORT_CHAR('\'') |
833 | 835 | KEY ( 7, "6 & \303\251", 6 ) PORT_CHAR('6') PORT_CHAR('&') |
834 | 836 | |
r20247 | r20248 | |
836 | 838 | |
837 | 839 | /* arabic version (QWERTY keyboard) */ |
838 | 840 | static INPUT_PORTS_START ( to770a ) |
839 | | PORT_INCLUDE ( to770 ) |
| 841 | PORT_INCLUDE ( to770 ) |
840 | 842 | |
841 | | PORT_MODIFY ( "keyboard_1" ) |
| 843 | PORT_MODIFY ( "keyboard_1" ) |
842 | 844 | KEY ( 0, "Z", Z ) PORT_CHAR('Z') |
843 | | PORT_MODIFY ( "keyboard_2" ) |
| 845 | PORT_MODIFY ( "keyboard_2" ) |
844 | 846 | KEY ( 3, "A", A ) PORT_CHAR('A') |
845 | 847 | KEY ( 4, "/ ?", QUOTE ) PORT_CHAR('/') PORT_CHAR('?') |
846 | 848 | KEY ( 5, "Q", Q ) PORT_CHAR('Q') |
847 | | PORT_MODIFY ( "keyboard_3" ) |
| 849 | PORT_MODIFY ( "keyboard_3" ) |
848 | 850 | KEY ( 4, "* :", SLASH ) PORT_CHAR('*') PORT_CHAR(':') |
849 | 851 | KEY ( 5, "W", W) PORT_CHAR('W') |
850 | | PORT_MODIFY ( "keyboard_4" ) |
| 852 | PORT_MODIFY ( "keyboard_4" ) |
851 | 853 | KEY ( 0, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>') |
852 | 854 | KEY ( 2, "@ \342\206\221", TILDE ) PORT_CHAR('@') PORT_CHAR('^') |
853 | 855 | KEY ( 6, "0 \302\243 \302\260 \140", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 ) |
854 | | PORT_MODIFY ( "keyboard_5" ) |
| 856 | PORT_MODIFY ( "keyboard_5" ) |
855 | 857 | KEY ( 0, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<') |
856 | 858 | KEY ( 6, "9 ) \303\261", 9 ) PORT_CHAR('9') PORT_CHAR(')') |
857 | | PORT_MODIFY ( "keyboard_6" ) |
| 859 | PORT_MODIFY ( "keyboard_6" ) |
858 | 860 | KEY ( 0, "M", M ) PORT_CHAR('M') |
859 | 861 | KEY ( 6, "8 ( \303\274", 8 ) PORT_CHAR('8') PORT_CHAR('(') |
860 | | PORT_MODIFY ( "keyboard_7" ) |
| 862 | PORT_MODIFY ( "keyboard_7" ) |
861 | 863 | KEY ( 6, "7 ' \303\266 \302\264", 7 ) PORT_CHAR('7') PORT_CHAR('\'') |
862 | 864 | KEY ( 7, "6 & \303\244", 6 ) PORT_CHAR('6') PORT_CHAR('&') |
863 | 865 | |
r20247 | r20248 | |
877 | 879 | |
878 | 880 | MCFG_MC6846_MODIFY( "mc6846", to770_timer ) |
879 | 881 | |
| 882 | MCFG_CARTSLOT_MODIFY("cart") |
| 883 | MCFG_CARTSLOT_INTERFACE("to770_cart") |
| 884 | MCFG_DEVICE_REMOVE("cart_list") |
| 885 | MCFG_SOFTWARE_LIST_ADD("cart_list","to770_cart") |
| 886 | |
880 | 887 | /* internal ram */ |
881 | 888 | MCFG_RAM_MODIFY(RAM_TAG) |
882 | 889 | MCFG_RAM_DEFAULT_SIZE("128K") |
r20247 | r20248 | |
952 | 959 | |
953 | 960 | static ADDRESS_MAP_START ( mo5, AS_PROGRAM, 8, thomson_state ) |
954 | 961 | |
955 | | AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w ) |
956 | | AM_RANGE ( 0x2000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) |
957 | | AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
958 | | AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt ) |
959 | | AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo5_ext_w ) |
960 | | AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt ) |
961 | | AM_RANGE ( 0xa7d0, 0xa7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w ) |
962 | | AM_RANGE ( 0xa7e0, 0xa7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt ) |
963 | | AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo5_gatearray_r, mo5_gatearray_w ) |
964 | | AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
965 | | AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
966 | | AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w) |
967 | | AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo5_cartridge_w ) |
968 | | AM_RANGE ( 0xf000, 0xffff ) AM_ROM /* system bios */ |
| 962 | AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w ) |
| 963 | AM_RANGE ( 0x2000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) |
| 964 | AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
| 965 | AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt ) |
| 966 | AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo5_ext_w ) |
| 967 | AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt ) |
| 968 | AM_RANGE ( 0xa7d0, 0xa7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w ) |
| 969 | AM_RANGE ( 0xa7e0, 0xa7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt ) |
| 970 | AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo5_gatearray_r, mo5_gatearray_w ) |
| 971 | AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
| 972 | AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
| 973 | AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w) |
| 974 | AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo5_cartridge_w ) |
| 975 | AM_RANGE ( 0xf000, 0xffff ) AM_ROM /* system bios */ |
969 | 976 | |
970 | 977 | /* 0x10000 - 0x1ffff: 16 KB integrated BASIC / 64 KB external cartridge */ |
971 | 978 | /* 0x20000 - 0x247ff: 18 KB floppy / network ROM controllers */ |
r20247 | r20248 | |
983 | 990 | /* ------------ ROMS ------------ */ |
984 | 991 | |
985 | 992 | ROM_START ( mo5 ) |
986 | | ROM_REGION ( 0x24800, "maincpu", 0 ) |
987 | | ROM_LOAD ( "mo5.rom", 0xf000, 0x1000, |
| 993 | ROM_REGION ( 0x24800, "maincpu", 0 ) |
| 994 | ROM_LOAD ( "mo5.rom", 0xf000, 0x1000, |
988 | 995 | CRC(f0ea9140) |
989 | 996 | SHA1(36ce2d3df1866ec2fe368c1c28757e2f5401cf44) ) |
990 | | ROM_LOAD ( "basic5.rom", 0x11000, 0x3000, |
| 997 | ROM_LOAD ( "basic5.rom", 0x11000, 0x3000, |
991 | 998 | CRC(c2c11b9d) |
992 | 999 | SHA1(512dd40fb45bc2b51a24c84b3723a32bc8e80c06) ) |
993 | | ROM_FLOPPY5 ( 0x20000 ) |
| 1000 | ROM_FLOPPY5 ( 0x20000 ) |
994 | 1001 | ROM_END |
995 | 1002 | |
996 | 1003 | ROM_START ( mo5e ) |
997 | | ROM_REGION ( 0x24800, "maincpu", 0 ) |
998 | | ROM_LOAD ( "mo5e.rom", 0xf000, 0x1000, |
| 1004 | ROM_REGION ( 0x24800, "maincpu", 0 ) |
| 1005 | ROM_LOAD ( "mo5e.rom", 0xf000, 0x1000, |
999 | 1006 | CRC(6520213a) |
1000 | 1007 | SHA1(f17a7a59baf2819ec80991b34b204795536a5e01) ) |
1001 | | ROM_LOAD ( "basic5e.rom", 0x11000, 0x3000, |
| 1008 | ROM_LOAD ( "basic5e.rom", 0x11000, 0x3000, |
1002 | 1009 | CRC(934a72b2) |
1003 | 1010 | SHA1(b37e2b1afbfba368c19be87b3bf61dfe6ad8b0bb) ) |
1004 | | ROM_FLOPPY5 ( 0x20000 ) |
| 1011 | ROM_FLOPPY5 ( 0x20000 ) |
1005 | 1012 | ROM_END |
1006 | 1013 | |
1007 | 1014 | |
1008 | 1015 | /* ------------ inputs ------------ */ |
1009 | 1016 | |
1010 | 1017 | static INPUT_PORTS_START ( mo5 ) |
1011 | | PORT_INCLUDE ( to770 ) |
| 1018 | PORT_INCLUDE ( to770 ) |
1012 | 1019 | |
1013 | | PORT_MODIFY ( "keyboard_0" ) |
| 1020 | PORT_MODIFY ( "keyboard_0" ) |
1014 | 1021 | KEY ( 1, "BASIC", RCONTROL) PORT_CHAR(UCHAR_MAMEKEY(RCONTROL)) |
1015 | | PORT_BIT ( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1022 | PORT_BIT ( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) |
1016 | 1023 | |
1017 | 1024 | INPUT_PORTS_END |
1018 | 1025 | |
1019 | 1026 | /* QWERTY version */ |
1020 | 1027 | static INPUT_PORTS_START ( mo5e ) |
1021 | | PORT_INCLUDE ( mo5 ) |
| 1028 | PORT_INCLUDE ( mo5 ) |
1022 | 1029 | |
1023 | | PORT_MODIFY ( "keyboard_1" ) |
| 1030 | PORT_MODIFY ( "keyboard_1" ) |
1024 | 1031 | KEY ( 0, "Z", Z ) PORT_CHAR('Z') |
1025 | | PORT_MODIFY ( "keyboard_2" ) |
| 1032 | PORT_MODIFY ( "keyboard_2" ) |
1026 | 1033 | KEY ( 3, "A", A ) PORT_CHAR('A') |
1027 | 1034 | KEY ( 5, "Q", Q ) PORT_CHAR('Q') |
1028 | | PORT_MODIFY ( "keyboard_3" ) |
| 1035 | PORT_MODIFY ( "keyboard_3" ) |
1029 | 1036 | KEY ( 5, "W", W) PORT_CHAR('W') |
1030 | | PORT_MODIFY ( "keyboard_4" ) |
| 1037 | PORT_MODIFY ( "keyboard_4" ) |
1031 | 1038 | KEY ( 0, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>') |
1032 | 1039 | KEY ( 2, "@ \342\206\221", TILDE ) PORT_CHAR('@') PORT_CHAR('^') |
1033 | 1040 | KEY ( 6, "0 \302\243 \302\260 \140", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 ) |
1034 | | PORT_MODIFY ( "keyboard_5" ) |
| 1041 | PORT_MODIFY ( "keyboard_5" ) |
1035 | 1042 | KEY ( 0, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<') |
1036 | 1043 | KEY ( 6, "9 ) \303\261", 9 ) PORT_CHAR('9') PORT_CHAR(')') |
1037 | | PORT_MODIFY ( "keyboard_6" ) |
| 1044 | PORT_MODIFY ( "keyboard_6" ) |
1038 | 1045 | KEY ( 0, "M", M ) PORT_CHAR('M') |
1039 | 1046 | KEY ( 6, "8 ( \303\274", 8 ) PORT_CHAR('8') PORT_CHAR('(') |
1040 | | PORT_MODIFY ( "keyboard_7" ) |
| 1047 | PORT_MODIFY ( "keyboard_7" ) |
1041 | 1048 | KEY ( 6, "7 ' \303\266 \302\264", 7 ) PORT_CHAR('7') PORT_CHAR('\'') |
1042 | 1049 | KEY ( 7, "6 & \303\244", 6 ) PORT_CHAR('6') PORT_CHAR('&') |
1043 | 1050 | |
r20247 | r20248 | |
1046 | 1053 | /* ------------ driver ------------ */ |
1047 | 1054 | |
1048 | 1055 | static MACHINE_CONFIG_DERIVED( mo5, to7 ) |
1049 | | MCFG_MACHINE_START ( mo5 ) |
1050 | | MCFG_MACHINE_RESET ( mo5 ) |
| 1056 | MCFG_MACHINE_START ( mo5 ) |
| 1057 | MCFG_MACHINE_RESET ( mo5 ) |
1051 | 1058 | |
1052 | | MCFG_CPU_MODIFY( "maincpu" ) |
1053 | | MCFG_CPU_PROGRAM_MAP ( mo5) |
| 1059 | MCFG_CPU_MODIFY( "maincpu" ) |
| 1060 | MCFG_CPU_PROGRAM_MAP ( mo5) |
1054 | 1061 | |
1055 | | MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface ) |
| 1062 | MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface ) |
1056 | 1063 | |
1057 | | MCFG_DEVICE_REMOVE( "mc6846" ) |
| 1064 | MCFG_DEVICE_REMOVE( "mc6846" ) |
1058 | 1065 | |
1059 | 1066 | MCFG_PIA6821_MODIFY( THOM_PIA_SYS, mo5_pia6821_sys ) |
1060 | 1067 | |
1061 | 1068 | MCFG_CARTSLOT_MODIFY("cart") |
1062 | 1069 | MCFG_CARTSLOT_EXTENSION_LIST("m5,rom") |
1063 | 1070 | MCFG_CARTSLOT_LOAD(mo5_cartridge) |
| 1071 | MCFG_CARTSLOT_INTERFACE("mo5_cart") |
1064 | 1072 | |
| 1073 | MCFG_DEVICE_REMOVE("cart_list") |
| 1074 | MCFG_SOFTWARE_LIST_ADD("cart_list","mo5_cart") |
| 1075 | |
1065 | 1076 | /* internal ram */ |
1066 | 1077 | MCFG_RAM_MODIFY(RAM_TAG) |
1067 | 1078 | MCFG_RAM_DEFAULT_SIZE("112K") |
r20247 | r20248 | |
1150 | 1161 | |
1151 | 1162 | static ADDRESS_MAP_START ( to9, AS_PROGRAM, 8, thomson_state ) |
1152 | 1163 | |
1153 | | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to9_cartridge_w )/* 4 * 16 KB */ |
1154 | | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w ) |
1155 | | AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */ |
1156 | | AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 10 * 16 KB */ |
1157 | | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
1158 | | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
1159 | | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
1160 | | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
1161 | | AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to9_floppy_r, to9_floppy_w ) |
1162 | | AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to9_vreg_r, to9_vreg_w ) |
1163 | | AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w ) |
1164 | | AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to9_gatearray_r, to9_gatearray_w ) |
1165 | | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
| 1164 | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to9_cartridge_w )/* 4 * 16 KB */ |
| 1165 | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w ) |
| 1166 | AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */ |
| 1167 | AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 10 * 16 KB */ |
| 1168 | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
| 1169 | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
| 1170 | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
| 1171 | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
| 1172 | AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to9_floppy_r, to9_floppy_w ) |
| 1173 | AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to9_vreg_r, to9_vreg_w ) |
| 1174 | AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w ) |
| 1175 | AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to9_gatearray_r, to9_gatearray_w ) |
| 1176 | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
1166 | 1177 | /* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */ |
1167 | | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
1168 | | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt) |
1169 | | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
1170 | | AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */ |
| 1178 | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
| 1179 | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt) |
| 1180 | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
| 1181 | AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */ |
1171 | 1182 | |
1172 | 1183 | /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ |
1173 | 1184 | /* 0x20000 - 0x3ffff: 128 KB internal software ROM */ |
r20247 | r20248 | |
1191 | 1202 | */ |
1192 | 1203 | |
1193 | 1204 | ROM_START ( to9 ) |
1194 | | ROM_REGION ( 0x44800, "maincpu", 0 ) |
1195 | | ROM_LOAD ( "to9.rom", 0xe000, 0x2000, /* BIOS & floppy controller */ |
| 1205 | ROM_REGION ( 0x44800, "maincpu", 0 ) |
| 1206 | ROM_LOAD ( "to9.rom", 0xe000, 0x2000, /* BIOS & floppy controller */ |
1196 | 1207 | CRC(f9278bf7) |
1197 | 1208 | SHA1(9e99e6ae0285950f007b19161de642a4031fe46e) ) |
1198 | 1209 | |
1199 | 1210 | /* BASIC & software */ |
1200 | | ROM_LOAD ( "basic9-0.rom", 0x20000, 0x4000, |
| 1211 | ROM_LOAD ( "basic9-0.rom", 0x20000, 0x4000, |
1201 | 1212 | CRC(c7bac620) |
1202 | 1213 | SHA1(4b2a8b30cf437858ce978ba7b0dfa2bbd57eb38a) ) |
1203 | | ROM_LOAD ( "basic9-1.rom", 0x24000, 0x4000, |
| 1214 | ROM_LOAD ( "basic9-1.rom", 0x24000, 0x4000, |
1204 | 1215 | CRC(ea5f3e43) |
1205 | 1216 | SHA1(5e58a29c2d117fcdb1f5e7ca31dbfffa0f9218f2) ) |
1206 | | ROM_LOAD ( "basic9-2.rom", 0x28000, 0x4000, |
| 1217 | ROM_LOAD ( "basic9-2.rom", 0x28000, 0x4000, |
1207 | 1218 | CRC(0f5581b3) |
1208 | 1219 | SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) ) |
1209 | | ROM_LOAD ( "basic9-3.rom", 0x2c000, 0x4000, |
| 1220 | ROM_LOAD ( "basic9-3.rom", 0x2c000, 0x4000, |
1210 | 1221 | CRC(6b5b19e3) |
1211 | 1222 | SHA1(0e832670c185694d9abbcebcc3ad90e94eed585d) ) |
1212 | | ROM_LOAD ( "soft9-0a.rom", 0x30000, 0x4000, |
| 1223 | ROM_LOAD ( "soft9-0a.rom", 0x30000, 0x4000, |
1213 | 1224 | CRC(8cee157e) |
1214 | 1225 | SHA1(f32fc39b95890c00571e9f3fbcc2d8e0596fc4a1) ) |
1215 | | ROM_LOAD ( "soft9-1a.rom", 0x34000, 0x4000, |
| 1226 | ROM_LOAD ( "soft9-1a.rom", 0x34000, 0x4000, |
1216 | 1227 | CRC(cf39ac93) |
1217 | 1228 | SHA1(b97e6b7389398e5706624973c11ee7ddba323ce1) ) |
1218 | | ROM_LOAD ( "soft9-0b.rom", 0x38000, 0x4000, |
| 1229 | ROM_LOAD ( "soft9-0b.rom", 0x38000, 0x4000, |
1219 | 1230 | CRC(033aee3f) |
1220 | 1231 | SHA1(f3604e500329ec0489b05dbab05530322e9463c5) ) |
1221 | | ROM_LOAD ( "soft9-1b.rom", 0x3c000, 0x4000, |
| 1232 | ROM_LOAD ( "soft9-1b.rom", 0x3c000, 0x4000, |
1222 | 1233 | CRC(214fe527) |
1223 | 1234 | SHA1(0d8e3f1ca347026e906c3d00a0371e8238c44a60) ) |
1224 | 1235 | |
1225 | | ROM_FLOPPY7( 0x40000 ) |
| 1236 | ROM_FLOPPY7( 0x40000 ) |
1226 | 1237 | |
1227 | | ROM_FILL( 0x10000, 0x10000, 0x39 ) |
| 1238 | ROM_FILL( 0x10000, 0x10000, 0x39 ) |
1228 | 1239 | ROM_END |
1229 | 1240 | |
1230 | 1241 | |
1231 | 1242 | /* ------------ inputs ------------ */ |
1232 | 1243 | |
1233 | 1244 | static INPUT_PORTS_START ( to9_keyboard ) |
1234 | | PORT_START ( "keyboard_0" ) |
| 1245 | PORT_START ( "keyboard_0" ) |
1235 | 1246 | KEY ( 0, "F2 F7", F2 ) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_CHAR(UCHAR_MAMEKEY(F7)) |
1236 | 1247 | KEY ( 1, "_ 6", 6 ) PORT_CHAR('_') PORT_CHAR('6') |
1237 | 1248 | KEY ( 2, "Y", Y ) PORT_CHAR('Y') |
r20247 | r20248 | |
1240 | 1251 | KEY ( 5, UTF8_RIGHT, RIGHT ) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) |
1241 | 1252 | KEY ( 6, "Home Clear", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CHAR(UCHAR_MAMEKEY(ESC)) |
1242 | 1253 | KEY ( 7, "N", N ) PORT_CHAR('N') |
1243 | | PORT_START ( "keyboard_1" ) |
| 1254 | PORT_START ( "keyboard_1" ) |
1244 | 1255 | KEY ( 0, "F3 F8", F3 ) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_CHAR(UCHAR_MAMEKEY(F8)) |
1245 | 1256 | KEY ( 1, "( 5", 5 ) PORT_CHAR('(') PORT_CHAR('5') |
1246 | 1257 | KEY ( 2, "T", T ) PORT_CHAR('T') |
r20247 | r20248 | |
1249 | 1260 | KEY ( 5, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) |
1250 | 1261 | KEY ( 6, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) |
1251 | 1262 | KEY ( 7, "B \302\264", B ) PORT_CHAR('B') |
1252 | | PORT_START ( "keyboard_2" ) |
| 1263 | PORT_START ( "keyboard_2" ) |
1253 | 1264 | KEY ( 0, "F4 F9", F4 ) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_CHAR(UCHAR_MAMEKEY(F9)) |
1254 | 1265 | KEY ( 1, "' 4", 4 ) PORT_CHAR('\'') PORT_CHAR('4') |
1255 | 1266 | KEY ( 2, "R", R ) PORT_CHAR('R') |
r20247 | r20248 | |
1258 | 1269 | KEY ( 5, "Keypad 1", 1_PAD ) PORT_CHAR(UCHAR_MAMEKEY(1_PAD)) |
1259 | 1270 | KEY ( 6, "Delete Backspace", DEL ) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE)) |
1260 | 1271 | KEY ( 7, "V", V ) PORT_CHAR('V') |
1261 | | PORT_START ( "keyboard_3" ) |
| 1272 | PORT_START ( "keyboard_3" ) |
1262 | 1273 | KEY ( 0, "F5 F10", F5 ) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CHAR(UCHAR_MAMEKEY(F10)) |
1263 | 1274 | KEY ( 1, "\" 3", 3 ) PORT_CHAR('"') PORT_CHAR('3') |
1264 | 1275 | KEY ( 2, "E", E ) PORT_CHAR('E') |
r20247 | r20248 | |
1267 | 1278 | KEY ( 5, "Keypad 4", 4_PAD ) PORT_CHAR(UCHAR_MAMEKEY(4_PAD)) |
1268 | 1279 | KEY ( 6, "Keypad 0", 0_PAD ) PORT_CHAR(UCHAR_MAMEKEY(0_PAD)) |
1269 | 1280 | KEY ( 7, "C \136", C ) PORT_CHAR('C') |
1270 | | PORT_START ( "keyboard_4" ) |
| 1281 | PORT_START ( "keyboard_4" ) |
1271 | 1282 | KEY ( 0, "F1 F6", F1 ) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CHAR(UCHAR_MAMEKEY(F6)) |
1272 | 1283 | KEY ( 1, "\303\251 2", 2 ) PORT_CHAR( 0xe9 ) PORT_CHAR('2') |
1273 | 1284 | KEY ( 2, "Z", Z ) PORT_CHAR('Z') |
r20247 | r20248 | |
1276 | 1287 | KEY ( 5, "Keypad 2", 2_PAD ) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) |
1277 | 1288 | KEY ( 6, "Keypad .", DEL_PAD ) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) |
1278 | 1289 | KEY ( 7, "X", X ) PORT_CHAR('X') |
1279 | | PORT_START ( "keyboard_5" ) |
| 1290 | PORT_START ( "keyboard_5" ) |
1280 | 1291 | KEY ( 0, "# @", TILDE ) PORT_CHAR('#') PORT_CHAR('@') |
1281 | 1292 | KEY ( 1, "* 1", 1 ) PORT_CHAR('*') PORT_CHAR('1') |
1282 | 1293 | KEY ( 2, "A \140", A ) PORT_CHAR('A') |
r20247 | r20248 | |
1285 | 1296 | KEY ( 5, "Keypad 5", 5_PAD ) PORT_CHAR(UCHAR_MAMEKEY(5_PAD)) |
1286 | 1297 | KEY ( 6, "Keypad 6", 6_PAD ) PORT_CHAR(UCHAR_MAMEKEY(6_PAD)) |
1287 | 1298 | KEY ( 7, "W", W ) PORT_CHAR('W') |
1288 | | PORT_START ( "keyboard_6" ) |
| 1299 | PORT_START ( "keyboard_6" ) |
1289 | 1300 | KEY ( 0, "Stop", TAB ) PORT_CHAR(27) |
1290 | 1301 | KEY ( 1, "\303\250 7", 7 ) PORT_CHAR( 0xe8 ) PORT_CHAR('7') |
1291 | 1302 | KEY ( 2, "U", U ) PORT_CHAR('U') |
r20247 | r20248 | |
1294 | 1305 | KEY ( 5, "Keypad 9", 9_PAD ) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) |
1295 | 1306 | KEY ( 6, "Keypad Enter", ENTER_PAD ) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD)) |
1296 | 1307 | KEY ( 7, ", ?", COMMA ) PORT_CHAR(',') PORT_CHAR('?') |
1297 | | PORT_START ( "keyboard_7" ) |
| 1308 | PORT_START ( "keyboard_7" ) |
1298 | 1309 | KEY ( 0, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL)) |
1299 | 1310 | KEY ( 1, "! 8", 8 ) PORT_CHAR('!') PORT_CHAR('8') |
1300 | 1311 | KEY ( 2, "I", I ) PORT_CHAR('I') |
r20247 | r20248 | |
1303 | 1314 | KEY ( 5, UTF8_DOWN, DOWN ) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) |
1304 | 1315 | KEY ( 6, "] }", BACKSLASH ) PORT_CHAR(']') PORT_CHAR('}') |
1305 | 1316 | KEY ( 7, "; .", STOP ) PORT_CHAR(';') PORT_CHAR('.') |
1306 | | PORT_START ( "keyboard_8" ) |
| 1317 | PORT_START ( "keyboard_8" ) |
1307 | 1318 | KEY ( 0, "Caps-Lock", CAPSLOCK ) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) |
1308 | 1319 | KEY ( 1, "\303\247 9", 9 ) PORT_CHAR( 0xe7 ) PORT_CHAR('9') |
1309 | 1320 | KEY ( 2, "O", O ) PORT_CHAR('O') |
r20247 | r20248 | |
1312 | 1323 | KEY ( 5, "\303\271 %", COLON ) PORT_CHAR( 0xf9 ) PORT_CHAR('%') |
1313 | 1324 | KEY ( 6, "Enter", ENTER ) PORT_CHAR(13) |
1314 | 1325 | KEY ( 7, ": /", SLASH ) PORT_CHAR(':') PORT_CHAR('/') |
1315 | | PORT_START ( "keyboard_9" ) |
| 1326 | PORT_START ( "keyboard_9" ) |
1316 | 1327 | KEY ( 0, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1) |
1317 | 1328 | KEY ( 1, "\303\240 0", 0 ) PORT_CHAR( 0xe0 ) PORT_CHAR('0') |
1318 | 1329 | KEY ( 2, "P", P ) PORT_CHAR('P') |
r20247 | r20248 | |
1324 | 1335 | INPUT_PORTS_END |
1325 | 1336 | |
1326 | 1337 | static INPUT_PORTS_START ( to9_fconfig ) |
1327 | | PORT_START ( "fconfig" ) |
| 1338 | PORT_START ( "fconfig" ) |
1328 | 1339 | |
1329 | | PORT_CONFNAME ( 0x07, 0x00, "External floppy (reset)" ) |
1330 | | PORT_CONFSETTING ( 0x00, "No external" ) |
1331 | | PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" ) |
1332 | | PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" ) |
1333 | | PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" ) |
1334 | | PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" ) |
1335 | | PORT_CONFSETTING ( 0x05, "Network" ) |
| 1340 | PORT_CONFNAME ( 0x07, 0x00, "External floppy (reset)" ) |
| 1341 | PORT_CONFSETTING ( 0x00, "No external" ) |
| 1342 | PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" ) |
| 1343 | PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" ) |
| 1344 | PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" ) |
| 1345 | PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" ) |
| 1346 | PORT_CONFSETTING ( 0x05, "Network" ) |
1336 | 1347 | |
1337 | | PORT_CONFNAME ( 0xf8, 0x08, "Network ID" ) |
1338 | | PORT_CONFSETTING ( 0x00, "0 (Master)" ) |
1339 | | PORT_CONFSETTING ( 0x08, "1" ) |
1340 | | PORT_CONFSETTING ( 0x10, "2" ) |
1341 | | PORT_CONFSETTING ( 0x18, "3" ) |
1342 | | PORT_CONFSETTING ( 0x20, "4" ) |
1343 | | PORT_CONFSETTING ( 0x28, "5" ) |
1344 | | PORT_CONFSETTING ( 0x30, "6" ) |
1345 | | PORT_CONFSETTING ( 0x38, "7" ) |
1346 | | PORT_CONFSETTING ( 0x40, "8" ) |
1347 | | PORT_CONFSETTING ( 0x48, "9" ) |
1348 | | PORT_CONFSETTING ( 0x50, "10" ) |
1349 | | PORT_CONFSETTING ( 0x58, "11" ) |
1350 | | PORT_CONFSETTING ( 0x60, "12" ) |
1351 | | PORT_CONFSETTING ( 0x68, "13" ) |
1352 | | PORT_CONFSETTING ( 0x70, "14" ) |
1353 | | PORT_CONFSETTING ( 0x78, "15" ) |
1354 | | PORT_CONFSETTING ( 0x80, "16" ) |
1355 | | PORT_CONFSETTING ( 0x88, "17" ) |
1356 | | PORT_CONFSETTING ( 0x90, "18" ) |
1357 | | PORT_CONFSETTING ( 0x98, "19" ) |
1358 | | PORT_CONFSETTING ( 0xa0, "20" ) |
1359 | | PORT_CONFSETTING ( 0xa8, "21" ) |
1360 | | PORT_CONFSETTING ( 0xb0, "22" ) |
1361 | | PORT_CONFSETTING ( 0xb8, "23" ) |
1362 | | PORT_CONFSETTING ( 0xc0, "24" ) |
1363 | | PORT_CONFSETTING ( 0xc8, "25" ) |
1364 | | PORT_CONFSETTING ( 0xd0, "26" ) |
1365 | | PORT_CONFSETTING ( 0xd8, "27" ) |
1366 | | PORT_CONFSETTING ( 0xe0, "28" ) |
1367 | | PORT_CONFSETTING ( 0xe8, "29" ) |
1368 | | PORT_CONFSETTING ( 0xf0, "30" ) |
1369 | | PORT_CONFSETTING ( 0xf8, "31" ) |
| 1348 | PORT_CONFNAME ( 0xf8, 0x08, "Network ID" ) |
| 1349 | PORT_CONFSETTING ( 0x00, "0 (Master)" ) |
| 1350 | PORT_CONFSETTING ( 0x08, "1" ) |
| 1351 | PORT_CONFSETTING ( 0x10, "2" ) |
| 1352 | PORT_CONFSETTING ( 0x18, "3" ) |
| 1353 | PORT_CONFSETTING ( 0x20, "4" ) |
| 1354 | PORT_CONFSETTING ( 0x28, "5" ) |
| 1355 | PORT_CONFSETTING ( 0x30, "6" ) |
| 1356 | PORT_CONFSETTING ( 0x38, "7" ) |
| 1357 | PORT_CONFSETTING ( 0x40, "8" ) |
| 1358 | PORT_CONFSETTING ( 0x48, "9" ) |
| 1359 | PORT_CONFSETTING ( 0x50, "10" ) |
| 1360 | PORT_CONFSETTING ( 0x58, "11" ) |
| 1361 | PORT_CONFSETTING ( 0x60, "12" ) |
| 1362 | PORT_CONFSETTING ( 0x68, "13" ) |
| 1363 | PORT_CONFSETTING ( 0x70, "14" ) |
| 1364 | PORT_CONFSETTING ( 0x78, "15" ) |
| 1365 | PORT_CONFSETTING ( 0x80, "16" ) |
| 1366 | PORT_CONFSETTING ( 0x88, "17" ) |
| 1367 | PORT_CONFSETTING ( 0x90, "18" ) |
| 1368 | PORT_CONFSETTING ( 0x98, "19" ) |
| 1369 | PORT_CONFSETTING ( 0xa0, "20" ) |
| 1370 | PORT_CONFSETTING ( 0xa8, "21" ) |
| 1371 | PORT_CONFSETTING ( 0xb0, "22" ) |
| 1372 | PORT_CONFSETTING ( 0xb8, "23" ) |
| 1373 | PORT_CONFSETTING ( 0xc0, "24" ) |
| 1374 | PORT_CONFSETTING ( 0xc8, "25" ) |
| 1375 | PORT_CONFSETTING ( 0xd0, "26" ) |
| 1376 | PORT_CONFSETTING ( 0xd8, "27" ) |
| 1377 | PORT_CONFSETTING ( 0xe0, "28" ) |
| 1378 | PORT_CONFSETTING ( 0xe8, "29" ) |
| 1379 | PORT_CONFSETTING ( 0xf0, "30" ) |
| 1380 | PORT_CONFSETTING ( 0xf8, "31" ) |
1370 | 1381 | |
1371 | 1382 | INPUT_PORTS_END |
1372 | 1383 | |
1373 | 1384 | static INPUT_PORTS_START ( to9 ) |
1374 | | PORT_INCLUDE ( thom_lightpen ) |
1375 | | PORT_INCLUDE ( thom_game_port ) |
1376 | | PORT_INCLUDE ( to9_keyboard ) |
1377 | | PORT_INCLUDE ( to7_config ) |
1378 | | PORT_INCLUDE ( to9_fconfig ) |
1379 | | PORT_INCLUDE ( to7_vconfig ) |
1380 | | PORT_INCLUDE ( to7_mconfig ) |
| 1385 | PORT_INCLUDE ( thom_lightpen ) |
| 1386 | PORT_INCLUDE ( thom_game_port ) |
| 1387 | PORT_INCLUDE ( to9_keyboard ) |
| 1388 | PORT_INCLUDE ( to7_config ) |
| 1389 | PORT_INCLUDE ( to9_fconfig ) |
| 1390 | PORT_INCLUDE ( to7_vconfig ) |
| 1391 | PORT_INCLUDE ( to7_mconfig ) |
1381 | 1392 | INPUT_PORTS_END |
1382 | 1393 | |
1383 | 1394 | /* ------------ driver ------------ */ |
1384 | 1395 | |
1385 | 1396 | static MACHINE_CONFIG_DERIVED( to9, to7 ) |
1386 | | MCFG_MACHINE_START ( to9 ) |
1387 | | MCFG_MACHINE_RESET ( to9 ) |
| 1397 | MCFG_MACHINE_START ( to9 ) |
| 1398 | MCFG_MACHINE_RESET ( to9 ) |
1388 | 1399 | |
1389 | | MCFG_CPU_MODIFY( "maincpu" ) |
1390 | | MCFG_CPU_PROGRAM_MAP ( to9) |
| 1400 | MCFG_CPU_MODIFY( "maincpu" ) |
| 1401 | MCFG_CPU_PROGRAM_MAP ( to9) |
1391 | 1402 | |
1392 | 1403 | MCFG_PIA6821_MODIFY( THOM_PIA_SYS, to9_pia6821_sys ) |
1393 | 1404 | MCFG_DEVICE_REMOVE( THOM_PIA_IO ) |
r20247 | r20248 | |
1395 | 1406 | MCFG_DEVICE_REMOVE("centronics") |
1396 | 1407 | MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics) |
1397 | 1408 | |
1398 | | MCFG_MC6846_MODIFY( "mc6846", to9_timer ) |
| 1409 | MCFG_MC6846_MODIFY( "mc6846", to9_timer ) |
1399 | 1410 | |
1400 | | /* internal ram */ |
| 1411 | |
| 1412 | MCFG_DEVICE_REMOVE("cart_list") |
| 1413 | |
| 1414 | /* internal ram */ |
1401 | 1415 | MCFG_RAM_MODIFY(RAM_TAG) |
1402 | 1416 | MCFG_RAM_DEFAULT_SIZE("192K") |
1403 | 1417 | MCFG_RAM_EXTRA_OPTIONS("128K") |
r20247 | r20248 | |
1472 | 1486 | |
1473 | 1487 | static ADDRESS_MAP_START ( to8, AS_PROGRAM, 8, thomson_state ) |
1474 | 1488 | |
1475 | | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */ |
1476 | | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
1477 | | AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w ) |
1478 | | AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w ) |
1479 | | AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w ) |
1480 | | AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w ) |
1481 | | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */ |
1482 | | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
1483 | | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
1484 | | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
1485 | | AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w ) |
1486 | | AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w ) |
1487 | | AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w ) |
1488 | | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
| 1489 | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */ |
| 1490 | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
| 1491 | AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w ) |
| 1492 | AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w ) |
| 1493 | AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w ) |
| 1494 | AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w ) |
| 1495 | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */ |
| 1496 | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
| 1497 | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
| 1498 | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
| 1499 | AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w ) |
| 1500 | AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w ) |
| 1501 | AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w ) |
| 1502 | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
1489 | 1503 | /* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */ |
1490 | | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
1491 | | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt) |
1492 | | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
1493 | | AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */ |
| 1504 | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
| 1505 | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt) |
| 1506 | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
| 1507 | AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */ |
1494 | 1508 | |
1495 | 1509 | /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ |
1496 | 1510 | /* 0x20000 - 0x2ffff: 64 KB internal software ROM */ |
r20247 | r20248 | |
1505 | 1519 | /* ------------ ROMS ------------ */ |
1506 | 1520 | |
1507 | 1521 | ROM_START ( to8 ) |
1508 | | ROM_REGION ( 0x38800, "maincpu", 0 ) |
| 1522 | ROM_REGION ( 0x38800, "maincpu", 0 ) |
1509 | 1523 | |
1510 | 1524 | /* BIOS & floppy */ |
1511 | | ROM_LOAD ( "to8-0.rom", 0x30000, 0x2000, |
| 1525 | ROM_LOAD ( "to8-0.rom", 0x30000, 0x2000, |
1512 | 1526 | CRC(3c4a640a) |
1513 | 1527 | SHA1(0a4952f0ca002d82ac83755e1f694d56399413b2) ) |
1514 | | ROM_LOAD ( "to8-1.rom", 0x32000, 0x2000, |
| 1528 | ROM_LOAD ( "to8-1.rom", 0x32000, 0x2000, |
1515 | 1529 | CRC(cb9bae2d) |
1516 | 1530 | SHA1(a4a55a6e2c74bca15951158c5164970e922fc1c1) ) |
1517 | 1531 | |
1518 | 1532 | /* BASIC */ |
1519 | | ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000, |
| 1533 | ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000, |
1520 | 1534 | CRC(e5a00fb3) |
1521 | 1535 | SHA1(281e535ed9b0f76e620253e9103292b8ff623d02) ) |
1522 | | ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000, |
| 1536 | ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000, |
1523 | 1537 | CRC(4b241e63) |
1524 | 1538 | SHA1(ca8941a10db6cc069bf84c773f5e7d7d2c18449e) ) |
1525 | | ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000, |
| 1539 | ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000, |
1526 | 1540 | CRC(0f5581b3) |
1527 | 1541 | SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) ) |
1528 | | ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000, |
| 1542 | ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000, |
1529 | 1543 | CRC(f552e7e3) |
1530 | 1544 | SHA1(3208e0d7d90241a327ed24e4921303f16e167bd5) ) |
1531 | 1545 | |
1532 | | ROM_FLOPPY7( 0x34000 ) |
| 1546 | ROM_FLOPPY7( 0x34000 ) |
1533 | 1547 | |
1534 | | ROM_FILL( 0x10000, 0x10000, 0x39 ) |
| 1548 | ROM_FILL( 0x10000, 0x10000, 0x39 ) |
1535 | 1549 | ROM_END |
1536 | 1550 | |
1537 | 1551 | ROM_START ( to8d ) |
1538 | | ROM_REGION ( 0x38800, "maincpu", 0 ) |
| 1552 | ROM_REGION ( 0x38800, "maincpu", 0 ) |
1539 | 1553 | |
1540 | 1554 | /* BIOS & floppy */ |
1541 | | ROM_LOAD ( "to8d-0.rom", 0x30000, 0x2000, |
| 1555 | ROM_LOAD ( "to8d-0.rom", 0x30000, 0x2000, |
1542 | 1556 | CRC(30ea4950) |
1543 | 1557 | SHA1(6705100cd337fffb26ce999302b55fb71557b128) ) |
1544 | | ROM_LOAD ( "to8d-1.rom", 0x32000, 0x2000, |
| 1558 | ROM_LOAD ( "to8d-1.rom", 0x32000, 0x2000, |
1545 | 1559 | CRC(926cf0ca) |
1546 | 1560 | SHA1(8521613ac00e04dd94b69e771aeaefbf4fe97bf7) ) |
1547 | 1561 | |
1548 | 1562 | /* BASIC */ |
1549 | | ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000, |
| 1563 | ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000, |
1550 | 1564 | CRC(e5a00fb3) |
1551 | 1565 | SHA1(281e535ed9b0f76e620253e9103292b8ff623d02) ) |
1552 | | ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000, |
| 1566 | ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000, |
1553 | 1567 | CRC(4b241e63) |
1554 | 1568 | SHA1(ca8941a10db6cc069bf84c773f5e7d7d2c18449e) ) |
1555 | | ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000, |
| 1569 | ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000, |
1556 | 1570 | CRC(0f5581b3) |
1557 | 1571 | SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) ) |
1558 | | ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000, |
| 1572 | ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000, |
1559 | 1573 | CRC(f552e7e3) |
1560 | 1574 | SHA1(3208e0d7d90241a327ed24e4921303f16e167bd5) ) |
1561 | 1575 | |
1562 | | ROM_FLOPPY7( 0x34000 ) |
| 1576 | ROM_FLOPPY7( 0x34000 ) |
1563 | 1577 | |
1564 | | ROM_FILL( 0x10000, 0x10000, 0x39 ) |
| 1578 | ROM_FILL( 0x10000, 0x10000, 0x39 ) |
1565 | 1579 | ROM_END |
1566 | 1580 | |
1567 | 1581 | |
1568 | 1582 | /* ------------ inputs ------------ */ |
1569 | 1583 | |
1570 | 1584 | static INPUT_PORTS_START ( to8_config ) |
1571 | | PORT_START ( "config" ) |
| 1585 | PORT_START ( "config" ) |
1572 | 1586 | |
1573 | | PORT_CONFNAME ( 0x01, 0x00, "Game Port" ) |
1574 | | PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) ) |
1575 | | PORT_CONFSETTING ( 0x01, "Mouse" ) |
| 1587 | PORT_CONFNAME ( 0x01, 0x00, "Game Port" ) |
| 1588 | PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) ) |
| 1589 | PORT_CONFSETTING ( 0x01, "Mouse" ) |
1576 | 1590 | |
1577 | | PORT_CONFNAME ( 0x02, 0x00, "Keyboard" ) |
1578 | | PORT_CONFSETTING ( 0x00, "Enabled" ) |
1579 | | PORT_CONFSETTING ( 0x02, "Disabled" ) |
| 1591 | PORT_CONFNAME ( 0x02, 0x00, "Keyboard" ) |
| 1592 | PORT_CONFSETTING ( 0x00, "Enabled" ) |
| 1593 | PORT_CONFSETTING ( 0x02, "Disabled" ) |
1580 | 1594 | |
1581 | 1595 | INPUT_PORTS_END |
1582 | 1596 | |
1583 | 1597 | |
1584 | 1598 | static INPUT_PORTS_START ( to8 ) |
1585 | | PORT_INCLUDE ( thom_lightpen ) |
1586 | | PORT_INCLUDE ( thom_game_port ) |
1587 | | PORT_INCLUDE ( to9_keyboard ) |
1588 | | PORT_INCLUDE ( to8_config ) |
1589 | | PORT_INCLUDE ( to9_fconfig ) |
1590 | | PORT_INCLUDE ( to7_vconfig ) |
1591 | | PORT_INCLUDE ( to7_mconfig ) |
| 1599 | PORT_INCLUDE ( thom_lightpen ) |
| 1600 | PORT_INCLUDE ( thom_game_port ) |
| 1601 | PORT_INCLUDE ( to9_keyboard ) |
| 1602 | PORT_INCLUDE ( to8_config ) |
| 1603 | PORT_INCLUDE ( to9_fconfig ) |
| 1604 | PORT_INCLUDE ( to7_vconfig ) |
| 1605 | PORT_INCLUDE ( to7_mconfig ) |
1592 | 1606 | INPUT_PORTS_END |
1593 | 1607 | |
1594 | 1608 | |
1595 | 1609 | static INPUT_PORTS_START ( to8d ) |
1596 | | PORT_INCLUDE ( to8 ) |
| 1610 | PORT_INCLUDE ( to8 ) |
1597 | 1611 | INPUT_PORTS_END |
1598 | 1612 | |
1599 | 1613 | /* ------------ driver ------------ */ |
1600 | 1614 | |
1601 | 1615 | static MACHINE_CONFIG_DERIVED( to8, to7 ) |
1602 | | MCFG_MACHINE_START ( to8 ) |
1603 | | MCFG_MACHINE_RESET ( to8 ) |
| 1616 | MCFG_MACHINE_START ( to8 ) |
| 1617 | MCFG_MACHINE_RESET ( to8 ) |
1604 | 1618 | |
1605 | | MCFG_CPU_MODIFY( "maincpu" ) |
1606 | | MCFG_CPU_PROGRAM_MAP ( to8) |
| 1619 | MCFG_CPU_MODIFY( "maincpu" ) |
| 1620 | MCFG_CPU_PROGRAM_MAP ( to8) |
1607 | 1621 | |
1608 | 1622 | MCFG_PIA6821_MODIFY( THOM_PIA_SYS, to8_pia6821_sys ) |
1609 | 1623 | MCFG_DEVICE_REMOVE( THOM_PIA_IO ) |
r20247 | r20248 | |
1611 | 1625 | MCFG_DEVICE_REMOVE("centronics") |
1612 | 1626 | MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics) |
1613 | 1627 | |
1614 | | MCFG_MC6846_MODIFY( "mc6846", to8_timer ) |
| 1628 | MCFG_MC6846_MODIFY( "mc6846", to8_timer ) |
1615 | 1629 | |
1616 | | /* internal ram */ |
| 1630 | MCFG_DEVICE_REMOVE("cart_list") |
| 1631 | |
| 1632 | /* internal ram */ |
1617 | 1633 | MCFG_RAM_MODIFY(RAM_TAG) |
1618 | 1634 | MCFG_RAM_DEFAULT_SIZE("512K") |
1619 | 1635 | MCFG_RAM_EXTRA_OPTIONS("256K") |
r20247 | r20248 | |
1667 | 1683 | |
1668 | 1684 | static ADDRESS_MAP_START ( to9p, AS_PROGRAM, 8, thomson_state ) |
1669 | 1685 | |
1670 | | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */ |
1671 | | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
1672 | | AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w ) |
1673 | | AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w ) |
1674 | | AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w ) |
1675 | | AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w ) |
1676 | | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */ |
1677 | | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
1678 | | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
1679 | | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
1680 | | AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w ) |
1681 | | AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w ) |
1682 | | AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w ) |
1683 | | AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w ) |
1684 | | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
| 1686 | AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */ |
| 1687 | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
| 1688 | AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w ) |
| 1689 | AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w ) |
| 1690 | AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w ) |
| 1691 | AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w ) |
| 1692 | AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */ |
| 1693 | AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w) |
| 1694 | AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
| 1695 | AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
| 1696 | AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w ) |
| 1697 | AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w ) |
| 1698 | AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w ) |
| 1699 | AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w ) |
| 1700 | AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
1685 | 1701 | /* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */ |
1686 | | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
1687 | | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt) |
1688 | | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
1689 | | AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */ |
| 1702 | AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
| 1703 | AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt) |
| 1704 | AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w ) |
| 1705 | AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */ |
1690 | 1706 | |
1691 | 1707 | /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ |
1692 | 1708 | /* 0x20000 - 0x2ffff: 64 KB internal software ROM */ |
r20247 | r20248 | |
1701 | 1717 | /* ------------ ROMS ------------ */ |
1702 | 1718 | |
1703 | 1719 | ROM_START ( to9p ) |
1704 | | ROM_REGION ( 0x38800, "maincpu", 0 ) |
| 1720 | ROM_REGION ( 0x38800, "maincpu", 0 ) |
1705 | 1721 | |
1706 | 1722 | /* BIOS & floppy */ |
1707 | | ROM_LOAD ( "to9p-0.rom", 0x30000, 0x2000, |
| 1723 | ROM_LOAD ( "to9p-0.rom", 0x30000, 0x2000, |
1708 | 1724 | CRC(a2731296) |
1709 | 1725 | SHA1(b30e06127d6e99d4ac5a5bb67881df27bbd9a7e5) ) |
1710 | | ROM_LOAD ( "to9p-1.rom", 0x32000, 0x2000, |
| 1726 | ROM_LOAD ( "to9p-1.rom", 0x32000, 0x2000, |
1711 | 1727 | CRC(c52ce315) |
1712 | 1728 | SHA1(7eacbd796e76bc72b872f9700c9b90414899ea0f) ) |
1713 | 1729 | |
1714 | 1730 | /* BASIC */ |
1715 | | ROM_LOAD ( "basicp-0.rom", 0x20000, 0x4000, |
| 1731 | ROM_LOAD ( "basicp-0.rom", 0x20000, 0x4000, |
1716 | 1732 | CRC(e5a00fb3) |
1717 | 1733 | SHA1(281e535ed9b0f76e620253e9103292b8ff623d02) ) |
1718 | | ROM_LOAD ( "basicp-1.rom", 0x24000, 0x4000, |
| 1734 | ROM_LOAD ( "basicp-1.rom", 0x24000, 0x4000, |
1719 | 1735 | CRC(4b241e63) |
1720 | 1736 | SHA1(ca8941a10db6cc069bf84c773f5e7d7d2c18449e) ) |
1721 | | ROM_LOAD ( "basicp-2.rom", 0x28000, 0x4000, |
| 1737 | ROM_LOAD ( "basicp-2.rom", 0x28000, 0x4000, |
1722 | 1738 | CRC(0f5581b3) |
1723 | 1739 | SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) ) |
1724 | | ROM_LOAD ( "basicp-3.rom", 0x2c000, 0x4000, |
| 1740 | ROM_LOAD ( "basicp-3.rom", 0x2c000, 0x4000, |
1725 | 1741 | CRC(ebe9c8d9) |
1726 | 1742 | SHA1(b667ad09a1181f65059a2cbb4c95421bc544a334) ) |
1727 | 1743 | |
1728 | | ROM_FLOPPY7( 0x34000 ) |
| 1744 | ROM_FLOPPY7( 0x34000 ) |
1729 | 1745 | |
1730 | | ROM_FILL( 0x10000, 0x10000, 0x39 ) |
| 1746 | ROM_FILL( 0x10000, 0x10000, 0x39 ) |
1731 | 1747 | ROM_END |
1732 | 1748 | |
1733 | 1749 | |
1734 | 1750 | /* ------------ inputs ------------ */ |
1735 | 1751 | |
1736 | 1752 | static INPUT_PORTS_START ( to9p ) |
1737 | | PORT_INCLUDE ( thom_lightpen ) |
1738 | | PORT_INCLUDE ( thom_game_port ) |
1739 | | PORT_INCLUDE ( to9_keyboard ) |
1740 | | PORT_INCLUDE ( to7_config ) |
1741 | | PORT_INCLUDE ( to9_fconfig ) |
1742 | | PORT_INCLUDE ( to7_vconfig ) |
1743 | | PORT_INCLUDE ( to7_mconfig ) |
| 1753 | PORT_INCLUDE ( thom_lightpen ) |
| 1754 | PORT_INCLUDE ( thom_game_port ) |
| 1755 | PORT_INCLUDE ( to9_keyboard ) |
| 1756 | PORT_INCLUDE ( to7_config ) |
| 1757 | PORT_INCLUDE ( to9_fconfig ) |
| 1758 | PORT_INCLUDE ( to7_vconfig ) |
| 1759 | PORT_INCLUDE ( to7_mconfig ) |
1744 | 1760 | INPUT_PORTS_END |
1745 | 1761 | |
1746 | 1762 | /* ------------ driver ------------ */ |
1747 | 1763 | |
1748 | 1764 | static MACHINE_CONFIG_DERIVED( to9p, to7 ) |
1749 | | MCFG_MACHINE_START ( to9p ) |
1750 | | MCFG_MACHINE_RESET ( to9p ) |
| 1765 | MCFG_MACHINE_START ( to9p ) |
| 1766 | MCFG_MACHINE_RESET ( to9p ) |
1751 | 1767 | |
1752 | | MCFG_CPU_MODIFY( "maincpu" ) |
1753 | | MCFG_CPU_PROGRAM_MAP ( to9p) |
| 1768 | MCFG_CPU_MODIFY( "maincpu" ) |
| 1769 | MCFG_CPU_PROGRAM_MAP ( to9p) |
1754 | 1770 | |
1755 | 1771 | MCFG_PIA6821_MODIFY( THOM_PIA_SYS, to9p_pia6821_sys ) |
1756 | 1772 | MCFG_DEVICE_REMOVE( THOM_PIA_IO ) |
r20247 | r20248 | |
1758 | 1774 | MCFG_DEVICE_REMOVE("centronics") |
1759 | 1775 | MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics) |
1760 | 1776 | |
1761 | | MCFG_MC6846_MODIFY( "mc6846", to9p_timer ) |
| 1777 | MCFG_MC6846_MODIFY( "mc6846", to9p_timer ) |
1762 | 1778 | |
| 1779 | MCFG_DEVICE_REMOVE("cart_list") |
| 1780 | |
1763 | 1781 | /* internal ram */ |
1764 | 1782 | MCFG_RAM_MODIFY(RAM_TAG) |
1765 | 1783 | MCFG_RAM_DEFAULT_SIZE("512K") |
r20247 | r20248 | |
1829 | 1847 | |
1830 | 1848 | static ADDRESS_MAP_START ( mo6, AS_PROGRAM, 8, thomson_state ) |
1831 | 1849 | |
1832 | | AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
1833 | | AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w ) |
1834 | | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w ) |
1835 | | AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w ) |
1836 | | AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w ) |
1837 | | AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
1838 | | AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
1839 | | AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w ) |
1840 | | AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
1841 | | AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w ) |
1842 | | AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w ) |
1843 | | AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w ) |
1844 | | AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
| 1850 | AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
| 1851 | AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w ) |
| 1852 | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w ) |
| 1853 | AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w ) |
| 1854 | AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w ) |
| 1855 | AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
| 1856 | AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
| 1857 | AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w ) |
| 1858 | AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
| 1859 | AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w ) |
| 1860 | AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w ) |
| 1861 | AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w ) |
| 1862 | AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
1845 | 1863 | /* AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w )*/ |
1846 | | AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
1847 | | AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w) |
1848 | | AM_RANGE ( 0xb000, 0xefff ) AM_ROMBANK ( THOM_CART_BANK ) |
1849 | | AM_WRITE_LEGACY(mo6_cartridge_w ) |
1850 | | AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) |
| 1864 | AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
| 1865 | AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w) |
| 1866 | AM_RANGE ( 0xb000, 0xefff ) AM_ROMBANK ( THOM_CART_BANK ) |
| 1867 | AM_WRITE_LEGACY(mo6_cartridge_w ) |
| 1868 | AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) |
1851 | 1869 | |
1852 | 1870 | /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ |
1853 | 1871 | /* 0x20000 - 0x2ffff: 64 KB BIOS ROM */ |
r20247 | r20248 | |
1861 | 1879 | /* ------------ ROMS ------------ */ |
1862 | 1880 | |
1863 | 1881 | ROM_START ( mo6 ) |
1864 | | ROM_REGION ( 0x34800, "maincpu", 0 ) |
| 1882 | ROM_REGION ( 0x34800, "maincpu", 0 ) |
1865 | 1883 | |
1866 | 1884 | /* BIOS */ |
1867 | | ROM_LOAD ( "mo6-0.rom", 0x23000, 0x1000, |
| 1885 | ROM_LOAD ( "mo6-0.rom", 0x23000, 0x1000, |
1868 | 1886 | CRC(0446eef6) |
1869 | 1887 | SHA1(b57fcda69c95f0c97c5cb0605d17c49a0c630300) ) |
1870 | | ROM_LOAD ( "mo6-1.rom", 0x27000, 0x1000, |
| 1888 | ROM_LOAD ( "mo6-1.rom", 0x27000, 0x1000, |
1871 | 1889 | CRC(eb6df8d4) |
1872 | 1890 | SHA1(24e2232f582ce04f260acd8e9ec710468a81505c) ) |
1873 | 1891 | |
1874 | 1892 | /* BASIC */ |
1875 | | ROM_LOAD ( "basic6-0.rom", 0x20000, 0x3000, |
| 1893 | ROM_LOAD ( "basic6-0.rom", 0x20000, 0x3000, |
1876 | 1894 | CRC(18789833) |
1877 | 1895 | SHA1(fccbf69cbc6deba45a767a26cd6454cf0eedfc2b) ) |
1878 | | ROM_LOAD ( "basic6-1.rom", 0x24000, 0x3000, |
| 1896 | ROM_LOAD ( "basic6-1.rom", 0x24000, 0x3000, |
1879 | 1897 | CRC(c9b4d6f4) |
1880 | 1898 | SHA1(47487d2bc4c9a9c09c733bd89c49693c52e262de) ) |
1881 | | ROM_LOAD ( "basic6-2.rom", 0x28000, 0x4000, |
| 1899 | ROM_LOAD ( "basic6-2.rom", 0x28000, 0x4000, |
1882 | 1900 | CRC(08eac9bb) |
1883 | 1901 | SHA1(c0231fdb3bcccbbb10c1f93cc529fc3b96dd3f4d) ) |
1884 | | ROM_LOAD ( "basic6-3.rom", 0x2c000, 0x4000, |
| 1902 | ROM_LOAD ( "basic6-3.rom", 0x2c000, 0x4000, |
1885 | 1903 | CRC(19d66dc4) |
1886 | 1904 | SHA1(301b6366269181b74cb5d7ccdf5455b7290ae99b) ) |
1887 | 1905 | |
1888 | | ROM_FLOPPY5 ( 0x30000 ) |
1889 | | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
| 1906 | ROM_FLOPPY5 ( 0x30000 ) |
| 1907 | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
1890 | 1908 | ROM_END |
1891 | 1909 | |
1892 | 1910 | ROM_START ( pro128 ) |
1893 | | ROM_REGION ( 0x34800, "maincpu", 0 ) |
| 1911 | ROM_REGION ( 0x34800, "maincpu", 0 ) |
1894 | 1912 | |
1895 | 1913 | /* BIOS */ |
1896 | | ROM_LOAD ( "pro128-0.rom", 0x23000, 0x1000, |
| 1914 | ROM_LOAD ( "pro128-0.rom", 0x23000, 0x1000, |
1897 | 1915 | CRC(a8aef291) |
1898 | 1916 | SHA1(2685cca841f405a37ef48b0115f90c865ce79d0f) ) |
1899 | | ROM_LOAD ( "pro128-1.rom", 0x27000, 0x1000, |
| 1917 | ROM_LOAD ( "pro128-1.rom", 0x27000, 0x1000, |
1900 | 1918 | CRC(5b3340ec) |
1901 | 1919 | SHA1(269f2eb3e3452014b8d1f0f9e1c63fe56375a863) ) |
1902 | 1920 | |
1903 | 1921 | /* BASIC */ |
1904 | | ROM_LOAD ( "basico-0.rom", 0x20000, 0x3000, |
| 1922 | ROM_LOAD ( "basico-0.rom", 0x20000, 0x3000, |
1905 | 1923 | CRC(98b10d5e) |
1906 | 1924 | SHA1(d6b77e694fa85e1114293448e5a64f6e2cf46c22) ) |
1907 | | ROM_LOAD ( "basico-1.rom", 0x24000, 0x3000, |
| 1925 | ROM_LOAD ( "basico-1.rom", 0x24000, 0x3000, |
1908 | 1926 | CRC(721d2124) |
1909 | 1927 | SHA1(51db1cd03b3891e212a24aa6563b09968930d897) ) |
1910 | | ROM_LOAD ( "basico-2.rom", 0x28000, 0x4000, |
| 1928 | ROM_LOAD ( "basico-2.rom", 0x28000, 0x4000, |
1911 | 1929 | CRC(135438ab) |
1912 | 1930 | SHA1(617d4e4979842bea2c21ef7f8c50f3b08b15239a) ) |
1913 | | ROM_LOAD ( "basico-3.rom", 0x2c000, 0x4000, |
| 1931 | ROM_LOAD ( "basico-3.rom", 0x2c000, 0x4000, |
1914 | 1932 | CRC(2c2befa6) |
1915 | 1933 | SHA1(3e94e182bacbb55bb07be2af4c76c0b0df47b3bf) ) |
1916 | 1934 | |
1917 | | ROM_FLOPPY5 ( 0x30000 ) |
1918 | | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
| 1935 | ROM_FLOPPY5 ( 0x30000 ) |
| 1936 | ROM_FILL ( 0x10000, 0x10000, 0x39 ) |
1919 | 1937 | ROM_END |
1920 | 1938 | |
1921 | 1939 | |
r20247 | r20248 | |
1923 | 1941 | |
1924 | 1942 | static INPUT_PORTS_START ( mo6_keyboard ) |
1925 | 1943 | |
1926 | | PORT_START ( "keyboard_0" ) |
| 1944 | PORT_START ( "keyboard_0" ) |
1927 | 1945 | KEY ( 0, "N", N ) PORT_CHAR('N') |
1928 | 1946 | KEY ( 1, ", ?", COMMA ) PORT_CHAR(',') PORT_CHAR('?') |
1929 | 1947 | KEY ( 2, "; .", STOP ) PORT_CHAR(';') PORT_CHAR('.') |
r20247 | r20248 | |
1932 | 1950 | KEY ( 5, "X", X ) PORT_CHAR('X') |
1933 | 1951 | KEY ( 6, "W", W ) PORT_CHAR('W') |
1934 | 1952 | KEY ( 7, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1) |
1935 | | PORT_START ( "keyboard_1" ) |
| 1953 | PORT_START ( "keyboard_1" ) |
1936 | 1954 | KEY ( 0, "Delete Backspace", DEL ) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE)) |
1937 | 1955 | KEY ( 1, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) |
1938 | 1956 | KEY ( 2, "> <", BACKSLASH2 ) PORT_CHAR('>') PORT_CHAR('<') |
r20247 | r20248 | |
1941 | 1959 | KEY ( 5, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) |
1942 | 1960 | KEY ( 6, UTF8_UP, UP ) PORT_CHAR(UCHAR_MAMEKEY(UP)) |
1943 | 1961 | KEY ( 7, "BASIC", RCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(RCONTROL)) |
1944 | | PORT_START ( "keyboard_2" ) |
| 1962 | PORT_START ( "keyboard_2" ) |
1945 | 1963 | KEY ( 0, "J", J ) PORT_CHAR('J') |
1946 | 1964 | KEY ( 1, "K", K ) PORT_CHAR('K') |
1947 | 1965 | KEY ( 2, "L", L ) PORT_CHAR('L') |
r20247 | r20248 | |
1950 | 1968 | KEY ( 5, "V", V ) PORT_CHAR('V') |
1951 | 1969 | KEY ( 6, "C \136", C ) PORT_CHAR('C') |
1952 | 1970 | KEY ( 7, "Caps-Lock", CAPSLOCK ) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) |
1953 | | PORT_START ( "keyboard_3" ) |
| 1971 | PORT_START ( "keyboard_3" ) |
1954 | 1972 | KEY ( 0, "H \302\250", H ) PORT_CHAR('H') |
1955 | 1973 | KEY ( 1, "G", G ) PORT_CHAR('G') |
1956 | 1974 | KEY ( 2, "F", F ) PORT_CHAR('F') |
r20247 | r20248 | |
1959 | 1977 | KEY ( 5, "Q", Q ) PORT_CHAR('Q') |
1960 | 1978 | KEY ( 6, "Home Clear", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CHAR(UCHAR_MAMEKEY(ESC)) |
1961 | 1979 | KEY ( 7, "F1 F6", F1 ) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CHAR(UCHAR_MAMEKEY(F6)) |
1962 | | PORT_START ( "keyboard_4" ) |
| 1980 | PORT_START ( "keyboard_4" ) |
1963 | 1981 | KEY ( 0, "U", U ) PORT_CHAR('U') |
1964 | 1982 | KEY ( 1, "I", I ) PORT_CHAR('I') |
1965 | 1983 | KEY ( 2, "O", O ) PORT_CHAR('O') |
r20247 | r20248 | |
1968 | 1986 | KEY ( 5, "$ &", CLOSEBRACE ) PORT_CHAR('$') PORT_CHAR('&') |
1969 | 1987 | KEY ( 6, "Enter", ENTER ) PORT_CHAR(13) |
1970 | 1988 | KEY ( 7, "F2 F7", F2 ) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_CHAR(UCHAR_MAMEKEY(F7)) |
1971 | | PORT_START ( "keyboard_5" ) |
| 1989 | PORT_START ( "keyboard_5" ) |
1972 | 1990 | KEY ( 0, "Y", Y ) PORT_CHAR('Y') |
1973 | 1991 | KEY ( 1, "T", T ) PORT_CHAR('T') |
1974 | 1992 | KEY ( 2, "R", R ) PORT_CHAR('R') |
r20247 | r20248 | |
1977 | 1995 | KEY ( 5, "A \140", A ) PORT_CHAR('A') |
1978 | 1996 | KEY ( 6, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL)) |
1979 | 1997 | KEY ( 7, "F3 F8", F3 ) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_CHAR(UCHAR_MAMEKEY(F8)) |
1980 | | PORT_START ( "keyboard_6" ) |
| 1998 | PORT_START ( "keyboard_6" ) |
1981 | 1999 | KEY ( 0, "7 \303\250", 7 ) PORT_CHAR('7') PORT_CHAR( 0xe8 ) |
1982 | 2000 | KEY ( 1, "8 !", 8 ) PORT_CHAR('8') PORT_CHAR('!') |
1983 | 2001 | KEY ( 2, "9 \303\247", 9 ) PORT_CHAR('9') PORT_CHAR( 0xe7 ) |
r20247 | r20248 | |
1986 | 2004 | KEY ( 5, "= +", EQUALS ) PORT_CHAR('=') PORT_CHAR('+') |
1987 | 2005 | KEY ( 6, "Accent", END ) PORT_CHAR(UCHAR_MAMEKEY(END)) |
1988 | 2006 | KEY ( 7, "F4 F9", F4 ) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_CHAR(UCHAR_MAMEKEY(F9)) |
1989 | | PORT_START ( "keyboard_7" ) |
| 2007 | PORT_START ( "keyboard_7" ) |
1990 | 2008 | KEY ( 0, "6 _", 6 ) PORT_CHAR('6') PORT_CHAR('_') |
1991 | 2009 | KEY ( 1, "5 (", 5 ) PORT_CHAR('5') PORT_CHAR('(') |
1992 | 2010 | KEY ( 2, "4 '", 4 ) PORT_CHAR('4') PORT_CHAR('\'') |
r20247 | r20248 | |
1995 | 2013 | KEY ( 5, "1 *", 1 ) PORT_CHAR('1') PORT_CHAR('*') |
1996 | 2014 | KEY ( 6, "Stop", TAB ) PORT_CHAR(27) |
1997 | 2015 | KEY ( 7, "F5 F10", F5 ) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CHAR(UCHAR_MAMEKEY(F10)) |
1998 | | PORT_START ( "keyboard_8" ) |
| 2016 | PORT_START ( "keyboard_8" ) |
1999 | 2017 | KEY ( 0, "[ {", QUOTE ) PORT_CHAR('[') PORT_CHAR('{') |
2000 | 2018 | KEY ( 1, "] }", BACKSLASH ) PORT_CHAR(']') PORT_CHAR('}') |
2001 | 2019 | KEY ( 2, ") \302\260", MINUS ) PORT_CHAR(')') PORT_CHAR( 0xb0 ) |
2002 | 2020 | KEY ( 3, "\342\206\221 \302\250", OPENBRACE ) PORT_CHAR('^') PORT_CHAR( 0xa8 ) |
2003 | 2021 | KEY ( 4, "\303\271 %", COLON ) PORT_CHAR( 0xf9 ) PORT_CHAR('%') |
2004 | | PORT_BIT ( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 2022 | PORT_BIT ( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) |
2005 | 2023 | |
2006 | 2024 | /* unused */ |
2007 | | PORT_START ( "keyboard_9" ) |
| 2025 | PORT_START ( "keyboard_9" ) |
2008 | 2026 | |
2009 | 2027 | INPUT_PORTS_END |
2010 | 2028 | |
2011 | 2029 | /* QWERTY version */ |
2012 | 2030 | static INPUT_PORTS_START ( pro128_keyboard ) |
2013 | | PORT_INCLUDE ( mo6_keyboard ) |
| 2031 | PORT_INCLUDE ( mo6_keyboard ) |
2014 | 2032 | |
2015 | | PORT_MODIFY ( "keyboard_0" ) |
| 2033 | PORT_MODIFY ( "keyboard_0" ) |
2016 | 2034 | KEY ( 1, "M", M ) PORT_CHAR('M') |
2017 | 2035 | KEY ( 2, ", ;", COMMA ) PORT_CHAR(',') PORT_CHAR(';') |
2018 | 2036 | KEY ( 3, "[ {", QUOTE ) PORT_CHAR('[') PORT_CHAR('{') |
2019 | 2037 | KEY ( 6, "Z", Z ) PORT_CHAR('Z') |
2020 | 2038 | KEY ( 7, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1) |
2021 | | PORT_MODIFY ( "keyboard_1" ) |
| 2039 | PORT_MODIFY ( "keyboard_1" ) |
2022 | 2040 | KEY ( 2, "- _", MINUS ) PORT_CHAR('-') PORT_CHAR('_') |
2023 | | PORT_MODIFY ( "keyboard_2" ) |
| 2041 | PORT_MODIFY ( "keyboard_2" ) |
2024 | 2042 | KEY ( 3, "\303\221", TILDE ) PORT_CHAR( 0xd1 ) |
2025 | | PORT_MODIFY ( "keyboard_3" ) |
| 2043 | PORT_MODIFY ( "keyboard_3" ) |
2026 | 2044 | KEY ( 5, "A \140", A ) PORT_CHAR('A') |
2027 | | PORT_MODIFY ( "keyboard_4" ) |
| 2045 | PORT_MODIFY ( "keyboard_4" ) |
2028 | 2046 | KEY ( 4, ". :", STOP ) PORT_CHAR('.') PORT_CHAR(':') |
2029 | 2047 | KEY ( 5, "+ *", BACKSPACE ) PORT_CHAR('+') PORT_CHAR('*') |
2030 | | PORT_MODIFY ( "keyboard_5" ) |
| 2048 | PORT_MODIFY ( "keyboard_5" ) |
2031 | 2049 | KEY ( 4, "W", W ) PORT_CHAR('W') |
2032 | 2050 | KEY ( 5, "Q", Q ) PORT_CHAR('Q') |
2033 | | PORT_MODIFY ( "keyboard_6" ) |
| 2051 | PORT_MODIFY ( "keyboard_6" ) |
2034 | 2052 | KEY ( 0, "7 /", 7 ) PORT_CHAR('7') PORT_CHAR('/') |
2035 | 2053 | KEY ( 1, "8 (", 8 ) PORT_CHAR('8') PORT_CHAR('(') |
2036 | 2054 | KEY ( 2, "9 )", 9 ) PORT_CHAR('9') PORT_CHAR(')') |
2037 | 2055 | KEY ( 3, "0 =", 0 ) PORT_CHAR('0') PORT_CHAR('=') |
2038 | 2056 | KEY ( 4, "' \302\243", CLOSEBRACE ) PORT_CHAR('\'') PORT_CHAR( 0xa3 ) |
2039 | 2057 | KEY ( 5, "] }", BACKSLASH ) PORT_CHAR(']') PORT_CHAR('}') |
2040 | | PORT_MODIFY ( "keyboard_7" ) |
| 2058 | PORT_MODIFY ( "keyboard_7" ) |
2041 | 2059 | KEY ( 0, "6 &", 6 ) PORT_CHAR('6') PORT_CHAR('&') |
2042 | 2060 | KEY ( 1, "5 %", 5 ) PORT_CHAR('5') PORT_CHAR('%') |
2043 | 2061 | KEY ( 2, "4 $", 4 ) PORT_CHAR('4') PORT_CHAR('$') |
2044 | 2062 | KEY ( 3, "3 \302\247", 3 ) PORT_CHAR('3') PORT_CHAR( 0xa7 ) |
2045 | 2063 | KEY ( 4, "2 \"", 2 ) PORT_CHAR('2') PORT_CHAR('"') |
2046 | 2064 | KEY ( 5, "1 !", 1 ) PORT_CHAR('1') PORT_CHAR('!') |
2047 | | PORT_MODIFY ( "keyboard_8" ) |
| 2065 | PORT_MODIFY ( "keyboard_8" ) |
2048 | 2066 | KEY ( 0, "> <", BACKSLASH2 ) PORT_CHAR('>') PORT_CHAR('<') |
2049 | 2067 | KEY ( 1, "# \342\206\221", EQUALS ) PORT_CHAR('#') PORT_CHAR('^') |
2050 | 2068 | KEY ( 2, "\303\247 ?", COLON ) PORT_CHAR( 0xe7 ) PORT_CHAR('?') |
r20247 | r20248 | |
2055 | 2073 | |
2056 | 2074 | |
2057 | 2075 | static INPUT_PORTS_START ( mo6 ) |
2058 | | PORT_INCLUDE ( thom_lightpen ) |
2059 | | PORT_INCLUDE ( thom_game_port ) |
2060 | | PORT_INCLUDE ( mo6_keyboard ) |
2061 | | PORT_INCLUDE ( to7_config ) |
2062 | | PORT_INCLUDE ( to7_fconfig ) |
2063 | | PORT_INCLUDE ( to7_vconfig ) |
| 2076 | PORT_INCLUDE ( thom_lightpen ) |
| 2077 | PORT_INCLUDE ( thom_game_port ) |
| 2078 | PORT_INCLUDE ( mo6_keyboard ) |
| 2079 | PORT_INCLUDE ( to7_config ) |
| 2080 | PORT_INCLUDE ( to7_fconfig ) |
| 2081 | PORT_INCLUDE ( to7_vconfig ) |
2064 | 2082 | INPUT_PORTS_END |
2065 | 2083 | |
2066 | 2084 | static INPUT_PORTS_START ( pro128 ) |
2067 | | PORT_INCLUDE ( thom_lightpen ) |
2068 | | PORT_INCLUDE ( thom_game_port ) |
2069 | | PORT_INCLUDE ( pro128_keyboard ) |
2070 | | PORT_INCLUDE ( to7_config ) |
2071 | | PORT_INCLUDE ( to7_fconfig ) |
2072 | | PORT_INCLUDE ( to7_vconfig ) |
| 2085 | PORT_INCLUDE ( thom_lightpen ) |
| 2086 | PORT_INCLUDE ( thom_game_port ) |
| 2087 | PORT_INCLUDE ( pro128_keyboard ) |
| 2088 | PORT_INCLUDE ( to7_config ) |
| 2089 | PORT_INCLUDE ( to7_fconfig ) |
| 2090 | PORT_INCLUDE ( to7_vconfig ) |
2073 | 2091 | INPUT_PORTS_END |
2074 | 2092 | |
2075 | 2093 | |
2076 | 2094 | /* ------------ driver ------------ */ |
2077 | 2095 | |
2078 | 2096 | static MACHINE_CONFIG_DERIVED( mo6, to7 ) |
2079 | | MCFG_MACHINE_START ( mo6 ) |
2080 | | MCFG_MACHINE_RESET ( mo6 ) |
| 2097 | MCFG_MACHINE_START ( mo6 ) |
| 2098 | MCFG_MACHINE_RESET ( mo6 ) |
2081 | 2099 | |
2082 | | MCFG_CPU_MODIFY( "maincpu" ) |
2083 | | MCFG_CPU_PROGRAM_MAP ( mo6) |
| 2100 | MCFG_CPU_MODIFY( "maincpu" ) |
| 2101 | MCFG_CPU_PROGRAM_MAP ( mo6) |
2084 | 2102 | |
2085 | | MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface ) |
| 2103 | MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface ) |
2086 | 2104 | |
2087 | | MCFG_DEVICE_REMOVE( "mc6846" ) |
| 2105 | MCFG_DEVICE_REMOVE( "mc6846" ) |
2088 | 2106 | |
2089 | 2107 | MCFG_PIA6821_MODIFY( THOM_PIA_SYS, mo6_pia6821_sys ) |
2090 | 2108 | MCFG_DEVICE_REMOVE( THOM_PIA_IO ) |
r20247 | r20248 | |
2097 | 2115 | MCFG_CARTSLOT_EXTENSION_LIST("m5,rom") |
2098 | 2116 | MCFG_CARTSLOT_LOAD(mo5_cartridge) |
2099 | 2117 | |
| 2118 | MCFG_DEVICE_REMOVE("cart_list") |
| 2119 | |
2100 | 2120 | /* internal ram */ |
2101 | 2121 | MCFG_RAM_MODIFY(RAM_TAG) |
2102 | 2122 | MCFG_RAM_DEFAULT_SIZE("128K") |
r20247 | r20248 | |
2142 | 2162 | |
2143 | 2163 | static ADDRESS_MAP_START ( mo5nr, AS_PROGRAM, 8, thomson_state ) |
2144 | 2164 | |
2145 | | AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
2146 | | AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w ) |
2147 | | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w ) |
2148 | | AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w ) |
2149 | | AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w ) |
2150 | | AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
2151 | | AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
2152 | | AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w ) |
2153 | | AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
2154 | | AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(mo5nr_net_r, mo5nr_net_w ) |
2155 | | AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w ) |
2156 | | AM_RANGE ( 0xa7e1, 0xa7e1 ) AM_DEVREADWRITE("centronics", centronics_device, read, write) |
2157 | | AM_RANGE ( 0xa7e3, 0xa7e3 ) AM_READWRITE_LEGACY(mo5nr_prn_r, mo5nr_prn_w ) |
2158 | | AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w ) |
2159 | | AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
| 2165 | AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w ) |
| 2166 | AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w ) |
| 2167 | AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w ) |
| 2168 | AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w ) |
| 2169 | AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w ) |
| 2170 | AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) |
| 2171 | AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt) |
| 2172 | AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w ) |
| 2173 | AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt) |
| 2174 | AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(mo5nr_net_r, mo5nr_net_w ) |
| 2175 | AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w ) |
| 2176 | AM_RANGE ( 0xa7e1, 0xa7e1 ) AM_DEVREADWRITE("centronics", centronics_device, read, write) |
| 2177 | AM_RANGE ( 0xa7e3, 0xa7e3 ) AM_READWRITE_LEGACY(mo5nr_prn_r, mo5nr_prn_w ) |
| 2178 | AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w ) |
| 2179 | AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write ) |
2160 | 2180 | /* AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */ |
2161 | | AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
2162 | | AM_RANGE ( 0xa7f8, 0xa7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt) |
2163 | | AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w) |
2164 | | AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo6_cartridge_w ) /* 4 * 16 KB */ |
2165 | | AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) |
| 2181 | AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w ) |
| 2182 | AM_RANGE ( 0xa7f8, 0xa7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt) |
| 2183 | AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w) |
| 2184 | AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo6_cartridge_w ) /* 4 * 16 KB */ |
| 2185 | AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) |
2166 | 2186 | |
2167 | 2187 | /* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */ |
2168 | 2188 | /* 0x20000 - 0x2ffff: 64 KB BIOS ROM */ |
r20247 | r20248 | |
2176 | 2196 | /* ------------ ROMS ------------ */ |
2177 | 2197 | |
2178 | 2198 | ROM_START ( mo5nr ) |
2179 | | ROM_REGION ( 0x34800, "maincpu", 0 ) |
| 2199 | ROM_REGION ( 0x34800, "maincpu", 0 ) |
2180 | 2200 | |
2181 | 2201 | /* BIOS */ |
2182 | | ROM_LOAD ( "mo5nr-0.rom", 0x23000, 0x1000, |
| 2202 | ROM_LOAD ( "mo5nr-0.rom", 0x23000, 0x1000, |
2183 | 2203 | CRC(06e31115) |
2184 | 2204 | SHA1(7429cc0c15475398b5ab514cb3d3efdc71cf082f) ) |
2185 | | ROM_LOAD ( "mo5nr-1.rom", 0x27000, 0x1000, |
| 2205 | ROM_LOAD ( "mo5nr-1.rom", 0x27000, 0x1000, |
2186 | 2206 | CRC(7cda17c9) |
2187 | 2207 | SHA1(2ff6480ce9e30acc4c89b6113d7c8ea6095d90a5) ) |
2188 | 2208 | |
2189 | 2209 | /* BASIC */ |
2190 | | ROM_LOAD ( "basicn-0.rom", 0x20000, 0x3000, |
| 2210 | ROM_LOAD ( "basicn-0.rom", 0x20000, 0x3000, |
2191 | 2211 | CRC(fae9e691) |
2192 | 2212 | SHA1(62fbfd6d4ca837f6cb8ed37f828eca97f80e6200) ) |
2193 | | ROM_LOAD ( "basicn-1.rom", 0x24000, 0x3000, |
| 2213 | ROM_LOAD ( "basicn-1.rom", 0x24000, 0x3000, |
2194 | 2214 | CRC(cf134dd7) |
2195 | 2215 | SHA1(1bd961314e16e460d37a65f5e7f4acf5604fbb17) ) |
2196 | | ROM_LOAD ( "basicn-2.rom", 0x28000, 0x4000, |
| 2216 | ROM_LOAD ( "basicn-2.rom", 0x28000, 0x4000, |
2197 | 2217 | CRC(b69d2e0d) |
2198 | 2218 | SHA1(ea3220bbae991e08259d38a7ea24533b2bb86418) ) |
2199 | | ROM_LOAD ( "basicn-3.rom", 0x2c000, 0x4000, |
| 2219 | ROM_LOAD ( "basicn-3.rom", 0x2c000, 0x4000, |
2200 | 2220 | CRC(7785610f) |
2201 | 2221 | SHA1(c38b0be404d8af6f409a1b52cb79a4e10fc33177) ) |
2202 | 2222 | |
2203 | | ROM_FLOPPY5 ( 0x30000 ) |
2204 | | ROM_FILL ( 0x10000, 0x10000, 0x39 ) /* TODO: network ROM */ |
| 2223 | ROM_FLOPPY5 ( 0x30000 ) |
| 2224 | ROM_FILL ( 0x10000, 0x10000, 0x39 ) /* TODO: network ROM */ |
2205 | 2225 | ROM_END |
2206 | 2226 | |
2207 | 2227 | |
r20247 | r20248 | |
2211 | 2231 | |
2212 | 2232 | static INPUT_PORTS_START ( mo5nr_keyboard ) |
2213 | 2233 | |
2214 | | PORT_START ( "keyboard_0" ) |
| 2234 | PORT_START ( "keyboard_0" ) |
2215 | 2235 | KEY ( 0, "N", N ) PORT_CHAR('N') |
2216 | 2236 | KEY ( 1, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<') |
2217 | 2237 | KEY ( 2, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>') |
r20247 | r20248 | |
2220 | 2240 | KEY ( 5, "X", X ) PORT_CHAR('X') |
2221 | 2241 | KEY ( 6, "W", W ) PORT_CHAR('W') |
2222 | 2242 | KEY ( 7, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1) |
2223 | | PORT_START ( "keyboard_1" ) |
| 2243 | PORT_START ( "keyboard_1" ) |
2224 | 2244 | KEY ( 0, "Delete Backspace", DEL ) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE)) |
2225 | 2245 | KEY ( 1, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) |
2226 | 2246 | KEY ( 2, "Home", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) |
r20247 | r20248 | |
2229 | 2249 | KEY ( 5, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) |
2230 | 2250 | KEY ( 6, UTF8_UP, UP ) PORT_CHAR(UCHAR_MAMEKEY(UP)) |
2231 | 2251 | KEY ( 7, "BASIC", RCONTROL ) |
2232 | | PORT_START ( "keyboard_2" ) |
| 2252 | PORT_START ( "keyboard_2" ) |
2233 | 2253 | KEY ( 0, "J", J ) PORT_CHAR('J') |
2234 | 2254 | KEY ( 1, "K", K ) PORT_CHAR('K') |
2235 | 2255 | KEY ( 2, "L", L ) PORT_CHAR('L') |
r20247 | r20248 | |
2237 | 2257 | KEY ( 4, "B \140", B ) PORT_CHAR('B') |
2238 | 2258 | KEY ( 5, "V", V ) PORT_CHAR('V') |
2239 | 2259 | KEY ( 6, "C \136", C ) PORT_CHAR('C') |
2240 | | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
2241 | | PORT_START ( "keyboard_3" ) |
| 2260 | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 2261 | PORT_START ( "keyboard_3" ) |
2242 | 2262 | KEY ( 0, "H \302\250", H ) PORT_CHAR('H') |
2243 | 2263 | KEY ( 1, "G", G ) PORT_CHAR('G') |
2244 | 2264 | KEY ( 2, "F", F ) PORT_CHAR('F') |
r20247 | r20248 | |
2246 | 2266 | KEY ( 4, "S", S ) PORT_CHAR('S') |
2247 | 2267 | KEY ( 5, "Q", Q ) PORT_CHAR('Q') |
2248 | 2268 | KEY ( 6, "Clear", ESC ) PORT_CHAR(UCHAR_MAMEKEY(ESC)) |
2249 | | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
2250 | | PORT_START ( "keyboard_4" ) |
| 2269 | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 2270 | PORT_START ( "keyboard_4" ) |
2251 | 2271 | KEY ( 0, "U", U ) PORT_CHAR('U') |
2252 | 2272 | KEY ( 1, "I", I ) PORT_CHAR('I') |
2253 | 2273 | KEY ( 2, "O", O ) PORT_CHAR('O') |
r20247 | r20248 | |
2255 | 2275 | KEY ( 4, "/ ?", SLASH ) PORT_CHAR('/') PORT_CHAR('?') |
2256 | 2276 | KEY ( 5, "* :", QUOTE ) PORT_CHAR('*') PORT_CHAR(':') |
2257 | 2277 | KEY ( 6, "Enter", ENTER ) PORT_CHAR(13) |
2258 | | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
2259 | | PORT_START ( "keyboard_5" ) |
| 2278 | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 2279 | PORT_START ( "keyboard_5" ) |
2260 | 2280 | KEY ( 0, "Y", Y ) PORT_CHAR('Y') |
2261 | 2281 | KEY ( 1, "T", T ) PORT_CHAR('T') |
2262 | 2282 | KEY ( 2, "R", R ) PORT_CHAR('R') |
r20247 | r20248 | |
2264 | 2284 | KEY ( 4, "Z", Z ) PORT_CHAR('Z') |
2265 | 2285 | KEY ( 5, "A \140", A ) PORT_CHAR('A') |
2266 | 2286 | KEY ( 6, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL)) |
2267 | | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
2268 | | PORT_START ( "keyboard_6" ) |
| 2287 | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 2288 | PORT_START ( "keyboard_6" ) |
2269 | 2289 | KEY ( 0, "7 ' \303\250", 7 ) PORT_CHAR('7') PORT_CHAR('\'' ) |
2270 | 2290 | KEY ( 1, "8 ( \303\271", 8 ) PORT_CHAR('8') PORT_CHAR('(') |
2271 | 2291 | KEY ( 2, "9 ) \303\247", 9 ) PORT_CHAR('9') PORT_CHAR(')') |
r20247 | r20248 | |
2273 | 2293 | KEY ( 4, "- =", MINUS ) PORT_CHAR('-') PORT_CHAR('=') |
2274 | 2294 | KEY ( 5, "+ ;", EQUALS ) PORT_CHAR('+') PORT_CHAR(';') |
2275 | 2295 | KEY ( 6, "Accent", END ) PORT_CHAR(UCHAR_MAMEKEY(END)) |
2276 | | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
2277 | | PORT_START ( "keyboard_7" ) |
| 2296 | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 2297 | PORT_START ( "keyboard_7" ) |
2278 | 2298 | KEY ( 0, "6 & \303\251", 6 ) PORT_CHAR('6') PORT_CHAR('&') |
2279 | 2299 | KEY ( 1, "5 %", 5 ) PORT_CHAR('5') PORT_CHAR('%') |
2280 | 2300 | KEY ( 2, "4 $", 4 ) PORT_CHAR('4') PORT_CHAR('$') |
r20247 | r20248 | |
2282 | 2302 | KEY ( 4, "2 \"", 2 ) PORT_CHAR('2') PORT_CHAR('"') |
2283 | 2303 | KEY ( 5, "1 !", 1 ) PORT_CHAR('1') PORT_CHAR('!') |
2284 | 2304 | KEY ( 6, "Stop", TAB ) PORT_CHAR(27) |
2285 | | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 2305 | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
2286 | 2306 | |
2287 | 2307 | /* unused */ |
2288 | | PORT_START ( "keyboard_8" ) |
2289 | | PORT_START ( "keyboard_9" ) |
| 2308 | PORT_START ( "keyboard_8" ) |
| 2309 | PORT_START ( "keyboard_9" ) |
2290 | 2310 | |
2291 | 2311 | INPUT_PORTS_END |
2292 | 2312 | |
2293 | 2313 | static INPUT_PORTS_START ( mo5nr ) |
2294 | | PORT_INCLUDE ( thom_lightpen ) |
2295 | | PORT_INCLUDE ( thom_game_port ) |
2296 | | PORT_INCLUDE ( mo5nr_keyboard ) |
2297 | | PORT_INCLUDE ( to7_config ) |
2298 | | PORT_INCLUDE ( to7_fconfig ) |
2299 | | PORT_INCLUDE ( to7_vconfig ) |
| 2314 | PORT_INCLUDE ( thom_lightpen ) |
| 2315 | PORT_INCLUDE ( thom_game_port ) |
| 2316 | PORT_INCLUDE ( mo5nr_keyboard ) |
| 2317 | PORT_INCLUDE ( to7_config ) |
| 2318 | PORT_INCLUDE ( to7_fconfig ) |
| 2319 | PORT_INCLUDE ( to7_vconfig ) |
2300 | 2320 | INPUT_PORTS_END |
2301 | 2321 | |
2302 | 2322 | |
2303 | 2323 | /* ------------ driver ------------ */ |
2304 | 2324 | |
2305 | 2325 | static MACHINE_CONFIG_DERIVED( mo5nr, to7 ) |
2306 | | MCFG_MACHINE_START ( mo5nr ) |
2307 | | MCFG_MACHINE_RESET ( mo5nr ) |
| 2326 | MCFG_MACHINE_START ( mo5nr ) |
| 2327 | MCFG_MACHINE_RESET ( mo5nr ) |
2308 | 2328 | |
2309 | | MCFG_CPU_MODIFY( "maincpu" ) |
2310 | | MCFG_CPU_PROGRAM_MAP ( mo5nr) |
| 2329 | MCFG_CPU_MODIFY( "maincpu" ) |
| 2330 | MCFG_CPU_PROGRAM_MAP ( mo5nr) |
2311 | 2331 | |
2312 | | MCFG_DEVICE_REMOVE( "mc6846" ) |
| 2332 | MCFG_DEVICE_REMOVE( "mc6846" ) |
2313 | 2333 | |
2314 | 2334 | MCFG_PIA6821_MODIFY( THOM_PIA_SYS, mo5nr_pia6821_sys ) |
2315 | 2335 | MCFG_DEVICE_REMOVE( THOM_PIA_IO ) |
r20247 | r20248 | |
2322 | 2342 | MCFG_CARTSLOT_EXTENSION_LIST("m5,rom") |
2323 | 2343 | MCFG_CARTSLOT_LOAD(mo5_cartridge) |
2324 | 2344 | |
| 2345 | MCFG_DEVICE_REMOVE("cart_list") |
| 2346 | |
2325 | 2347 | /* internal ram */ |
2326 | 2348 | MCFG_RAM_MODIFY(RAM_TAG) |
2327 | 2349 | MCFG_RAM_DEFAULT_SIZE("128K") |