| Previous | 199869 Revisions | Next |
| r32575 Tuesday 7th October, 2014 at 09:27:32 UTC by Fabio Priuli |
|---|
| (MESS) odyssey2: converted the driver to use slot devices for cartridges, removed The Voice add-on from the main system and emulated it as a passthru cart instead. Now, if you want to enjoy speech in odyssey/videopac games, you must launch emulation with mess.exe odyssey2 -cart voice -cart2 gamename (the -cart2 switch becomes available when "voice" is mounted in the first cartslot) [Fabio Priuli] |
| [hash] | g7400.xml odyssey2.xml |
| [src/emu/bus] | bus.mak |
| [src/emu/bus/odyssey2] | chess.c* chess.h* rom.c* rom.h* slot.c* slot.h* voice.c* voice.h* |
| [src/mess] | mess.mak |
| [src/mess/drivers] | odyssey2.c |
| r32574 | r32575 | |
|---|---|---|
| 60 | 60 | <publisher>Philips</publisher> |
| 61 | 61 | <info name="serial" value="9"/> |
| 62 | 62 | <part name="cart" interface="odyssey_cart"> |
| 63 | <feature name="slot" value="o2_rom" /> | |
| 63 | 64 | <dataarea name="rom" size="2048"> |
| 64 | 65 | <rom name="computer programmer (europe).bin" size="2048" crc="b590cf14" sha1="913c1961dfa17b5873428f57429e3809580ff906" offset="0" /> |
| 65 | 66 | </dataarea> |
| r32574 | r32575 | |
| 72 | 73 | <publisher>Philips</publisher> |
| 73 | 74 | <info name="serial" value="AC9406"/> |
| 74 | 75 | <part name="cart" interface="odyssey_cart"> |
| 76 | <feature name="slot" value="o2_rom" /> | |
| 75 | 77 | <dataarea name="rom" size="2048"> |
| 76 | 78 | <rom name="computer intro (usa).bin" size="2048" crc="95efa98b" sha1="f93c448243db428a4c9e2354596844ed07bb7530" offset="0" /> |
| 77 | 79 | </dataarea> |
| r32574 | r32575 | |
| 84 | 86 | <publisher>Philips</publisher> |
| 85 | 87 | <info name="serial" value="A"/> |
| 86 | 88 | <part name="cart" interface="odyssey_cart"> |
| 89 | <feature name="slot" value="o2_rom" /> | |
| 87 | 90 | <dataarea name="rom" size="2048"> |
| 88 | 91 | <rom name="newscaster (europe).bin" size="2048" crc="85dfcdd7" sha1="183b3b1b70db58cc9ada575cc324353f2e89c2ce" offset="0" /> |
| 89 | 92 | </dataarea> |
| r32574 | r32575 | |
| 96 | 99 | <publisher>Philips</publisher> |
| 97 | 100 | <info name="serial" value="AC9433"/> |
| 98 | 101 | <part name="cart" interface="odyssey_cart"> |
| 102 | <feature name="slot" value="o2_rom" /> | |
| 99 | 103 | <dataarea name="rom" size="2048"> |
| 100 | 104 | <rom name="keyboard creations (usa).bin" size="2048" crc="688fad11" sha1="8276ca41e571478eae2dd6add7f79bc7f8bd60de" offset="0" /> |
| 101 | 105 | </dataarea> |
| r32574 | r32575 | |
| 108 | 112 | <publisher>Philips</publisher> |
| 109 | 113 | <info name="serial" value="31"/> |
| 110 | 114 | <part name="cart" interface="odyssey_cart"> |
| 115 | <feature name="slot" value="o2_rom" /> | |
| 111 | 116 | <dataarea name="rom" size="4096"> |
| 112 | 117 | <rom name="musician (europe).bin" size="4096" crc="afb23f89" sha1="7445f4df9017c4d2ea94542d0db335dc18c9d7ed" offset="0" /> |
| 113 | 118 | </dataarea> |
| r32574 | r32575 | |
| 121 | 126 | <info name="programmer" value="Robert L. Cheezem" /> |
| 122 | 127 | <info name="serial" value="AC9440"/> |
| 123 | 128 | <part name="cart" interface="odyssey_cart"> |
| 129 | <feature name="slot" value="o2_rom" /> | |
| 124 | 130 | <dataarea name="rom" size="4096"> |
| 125 | 131 | <rom name="type and tell (usa).bin" size="4096" crc="b936bd78" sha1="40458eaf84a71f509b4069775e49551ce5152697" offset="0" /> |
| 126 | 132 | </dataarea> |
| r32574 | r32575 | |
| 134 | 140 | <publisher>Philips</publisher> |
| 135 | 141 | <info name="serial" value="AC9413 (USA) ~ 13 (Euro)"/> |
| 136 | 142 | <part name="cart" interface="odyssey_cart"> |
| 143 | <feature name="slot" value="o2_rom" /> | |
| 137 | 144 | <dataarea name="rom" size="2048"> |
| 138 | 145 | <rom name="i've got your number (usa, europe).bin" size="2048" crc="1c8368e7" sha1="498cb0882d8a692042889e83775a83cf267a1837" offset="0" /> |
| 139 | 146 | </dataarea> |
| r32574 | r32575 | |
| 147 | 154 | <info name="usage" value="Press 1 for Mathematician/Math-a-Magic, press 2 for Echo" /> |
| 148 | 155 | <info name="serial" value="AJ9405 (USA) ~ 7 (Euro)"/> |
| 149 | 156 | <part name="cart" interface="odyssey_cart"> |
| 157 | <feature name="slot" value="o2_rom" /> | |
| 150 | 158 | <dataarea name="rom" size="2048"> |
| 151 | 159 | <rom name="math-a-magic - echo (usa, europe).bin" size="2048" crc="dc5afaa2" sha1="4dac55de1afadc1af2ac9166d7d47c462a8e797a" offset="0" /> |
| 152 | 160 | </dataarea> |
| r32574 | r32575 | |
| 159 | 167 | <publisher>Radiola</publisher> |
| 160 | 168 | <info name="usage" value="Press 1 for Mathématicien, press 2 for Echo" /> |
| 161 | 169 | <part name="cart" interface="odyssey_cart"> |
| 170 | <feature name="slot" value="o2_rom" /> | |
| 162 | 171 | <dataarea name="rom" size="2048"> |
| 163 | 172 | <rom name="mathematicien - echo (france).bin" size="2048" crc="0c4e4b0a" sha1="d96c65670b9a3a4feedcb720807292708951fcd5" offset="0" /> |
| 164 | 173 | </dataarea> |
| r32574 | r32575 | |
| 171 | 180 | <publisher>Philips</publisher> |
| 172 | 181 | <info name="serial" value="45"/> |
| 173 | 182 | <part name="cart" interface="odyssey_cart"> |
| 183 | <feature name="slot" value="o2_rom" /> | |
| 174 | 184 | <dataarea name="rom" size="2048"> |
| 175 | 185 | <rom name="morse (europe).bin" size="2048" crc="2122012c" sha1="8431f56359d80ff6a67c83c50c12fa5d8bc46ff3" offset="0" /> |
| 176 | 186 | </dataarea> |
| r32574 | r32575 | |
| 182 | 192 | <year>1983</year> |
| 183 | 193 | <publisher>Radiola</publisher> |
| 184 | 194 | <part name="cart" interface="odyssey_cart"> |
| 195 | <feature name="slot" value="o2_rom" /> | |
| 185 | 196 | <dataarea name="rom" size="2048"> |
| 186 | 197 | <rom name="morse (france).bin" size="2048" crc="510416b7" sha1="11065dfbc22dd9ed7609cbcc7f8c6d3bc5b004ee" offset="0" /> |
| 187 | 198 | </dataarea> |
| r32574 | r32575 | |
| 195 | 206 | <info name="programmer" value="Robert S. Harris" /> |
| 196 | 207 | <info name="serial" value="AC9439"/> |
| 197 | 208 | <part name="cart" interface="odyssey_cart"> |
| 209 | <feature name="slot" value="o2_rom" /> | |
| 198 | 210 | <dataarea name="rom" size="4096"> |
| 199 | 211 | <rom name="nimble numbers ned (usa).bin" size="4096" crc="cf2f8e7a" sha1="01dd021a1bcdafb58cb2bcca051934f05e978c53" offset="0" /> |
| 200 | 212 | </dataarea> |
| r32574 | r32575 | |
| 208 | 220 | <info name="programmer" value="Sam Overton" /> |
| 209 | 221 | <info name="serial" value="AC9438"/> |
| 210 | 222 | <part name="cart" interface="odyssey_cart"> |
| 223 | <feature name="slot" value="o2_rom" /> | |
| 211 | 224 | <dataarea name="rom" size="4096"> |
| 212 | 225 | <rom name="sid the spellbinder (usa).bin" size="4096" crc="1b9f2f16" sha1="dfed128d213d4192313f85fe2b8716579c2fc995" offset="0" /> |
| 213 | 226 | </dataarea> |
| 227 | <!-- Additional Speech data for The Voice --> | |
| 228 | <dataarea name="speech" size="16384"> | |
| 229 | <rom name="spr128-004.bin" size="16384" crc="e79dfb75" sha1="37f33d79ffd1739d7c2f226b010a1eac28d74ca0" offset="0" /> | |
| 230 | </dataarea> | |
| 214 | 231 | </part> |
| 215 | 232 | </software> |
| 216 | 233 | |
| r32574 | r32575 | |
| 219 | 236 | <year>1982</year> |
| 220 | 237 | <publisher>CSV/Philips</publisher> |
| 221 | 238 | <part name="cart" interface="odyssey_cart"> |
| 239 | <feature name="slot" value="o2_rom" /> | |
| 222 | 240 | <dataarea name="rom" size="2048"> |
| 223 | 241 | <rom name="verkehrsspiele 1 (germany).bin" size="2048" crc="45e62222" sha1="e90f2a33e41d9bd4c50e96eacc483bc99e53993b" offset="0" /> |
| 224 | 242 | </dataarea> |
| r32574 | r32575 | |
| 230 | 248 | <year>1982</year> |
| 231 | 249 | <publisher>CSV/Philips</publisher> |
| 232 | 250 | <part name="cart" interface="odyssey_cart"> |
| 251 | <feature name="slot" value="o2_rom" /> | |
| 233 | 252 | <dataarea name="rom" size="2048"> |
| 234 | 253 | <rom name="kinder im verkehr 1 (germany).bin" size="2048" crc="9c9dddf9" sha1="9b73685f7d2008467d4449a3bfedef6e763b5948" offset="0" /> |
| 235 | 254 | </dataarea> |
| r32574 | r32575 | |
| 241 | 260 | <year>1982</year> |
| 242 | 261 | <publisher>CSV/Philips</publisher> |
| 243 | 262 | <part name="cart" interface="odyssey_cart"> |
| 263 | <feature name="slot" value="o2_rom" /> | |
| 244 | 264 | <dataarea name="rom" size="2048"> |
| 245 | 265 | <rom name="verkehrsspiele 2 (germany).bin" size="2048" crc="69893f7f" sha1="0904ea45c011d12857477db04b4d1c87544f27e6" offset="0" /> |
| 246 | 266 | </dataarea> |
| r32574 | r32575 | |
| 254 | 274 | <publisher>Philips</publisher> |
| 255 | 275 | <info name="serial" value="40"/> |
| 256 | 276 | <part name="cart" interface="odyssey_cart"> |
| 277 | <feature name="slot" value="o2_rom" /> | |
| 257 | 278 | <dataarea name="rom" size="4096"> |
| 258 | 279 | <rom name="4 in 1 row (europe).bin" size="4096" crc="3bfef56b" sha1="e9a8996c4fb87120d8620ab8876b90ddb48335db" offset="0" /> |
| 259 | 280 | </dataarea> |
| r32574 | r32575 | |
| 265 | 286 | <year>1982</year> |
| 266 | 287 | <publisher>Radiola</publisher> |
| 267 | 288 | <part name="cart" interface="odyssey_cart"> |
| 289 | <feature name="slot" value="o2_rom" /> | |
| 268 | 290 | <dataarea name="rom" size="4096"> |
| 269 | 291 | <rom name="4 en 1 ligne (france).bin" size="4096" crc="9b5e9356" sha1="0831c3212a9e0a588a242dcd2b136e350aaceac9" offset="0" /> |
| 270 | 292 | </dataarea> |
| r32574 | r32575 | |
| 277 | 299 | <publisher>Magnavox</publisher> |
| 278 | 300 | <info name="serial" value="AA9428 (USA) ~ 22 (Euro)"/> |
| 279 | 301 | <part name="cart" interface="odyssey_cart"> |
| 302 | <feature name="slot" value="o2_rom" /> | |
| 280 | 303 | <dataarea name="rom" size="2048"> |
| 281 | 304 | <rom name="alien invaders - plus! (usa, europe).bin" size="2048" crc="71ae8533" sha1="9ba0737fdee2918375725bb5230d075a2f847159" offset="0" /> |
| 282 | 305 | </dataarea> |
| r32574 | r32575 | |
| 289 | 312 | <publisher>Philips</publisher> |
| 290 | 313 | <info name="serial" value="AK9418 (USA) ~ 25 (Euro)"/> |
| 291 | 314 | <part name="cart" interface="odyssey_cart"> |
| 315 | <feature name="slot" value="o2_rom" /> | |
| 292 | 316 | <dataarea name="rom" size="2048"> |
| 293 | 317 | <rom name="alpine skiing (usa, europe).bin" size="2048" crc="4663c4b6" sha1="9e7e16744b44fa83fa14c211b2365cf04604e06e" offset="0" /> |
| 294 | 318 | </dataarea> |
| r32574 | r32575 | |
| 300 | 324 | <year>1979</year> |
| 301 | 325 | <publisher>Radiola</publisher> |
| 302 | 326 | <part name="cart" interface="odyssey_cart"> |
| 327 | <feature name="slot" value="o2_rom" /> | |
| 303 | 328 | <dataarea name="rom" size="2048"> |
| 304 | 329 | <rom name="ski (france).bin" size="2048" crc="e129490d" sha1="a6e07b727b4f48d13ce21442911995eb46b99c5d" offset="0" /> |
| 305 | 330 | </dataarea> |
| r32574 | r32575 | |
| 313 | 338 | <info name="usage" value="Press A for Armored Encounter/Air-Sea War, press 1 for Sub Chase/Battle" /> |
| 314 | 339 | <info name="serial" value="AJ9403 (USA) ~ 4 (Euro)"/> |
| 315 | 340 | <part name="cart" interface="odyssey_cart"> |
| 341 | <feature name="slot" value="o2_rom" /> | |
| 316 | 342 | <dataarea name="rom" size="2048"> |
| 317 | 343 | <rom name="armored encounter - sub chase (usa, europe).bin" size="2048" crc="5ae57a8c" sha1="086a29eb625c935295157ce62ca9717dffff2af0" offset="0" /> |
| 318 | 344 | </dataarea> |
| r32574 | r32575 | |
| 325 | 351 | <publisher>Imagic</publisher> |
| 326 | 352 | <info name="programmer" value="Jeff Ronnie" /> |
| 327 | 353 | <part name="cart" interface="odyssey_cart"> |
| 354 | <feature name="slot" value="o2_rom" /> | |
| 328 | 355 | <dataarea name="rom" size="4096"> |
| 329 | 356 | <rom name="atlantis (usa, europe).bin" size="4096" crc="a7344d1f" sha1="6975cf9fed3ee1a2567477921eb851a669d42446" offset="0" /> |
| 330 | 357 | </dataarea> |
| r32574 | r32575 | |
| 337 | 364 | <publisher>Philips</publisher> |
| 338 | 365 | <info name="serial" value="AC9445"/> |
| 339 | 366 | <part name="cart" interface="odyssey_cart"> |
| 367 | <feature name="slot" value="o2_rom" /> | |
| 340 | 368 | <dataarea name="rom" size="4096"> |
| 341 | 369 | <rom name="attack of the timelord (usa).bin" size="4096" crc="fc5a7f08" sha1="c63ad4e9aaa903ded9fcf185caf24e76f8aaf3a9" offset="0" /> |
| 342 | 370 | </dataarea> |
| r32574 | r32575 | |
| 349 | 377 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 350 | 378 | <info name="serial" value="AJ9408 (USA) ~ 8 (Euro)"/> |
| 351 | 379 | <part name="cart" interface="odyssey_cart"> |
| 380 | <feature name="slot" value="o2_rom" /> | |
| 352 | 381 | <dataarea name="rom" size="2048"> |
| 353 | 382 | <rom name="baseball (usa, europe).bin" size="2048" crc="b07748e7" sha1="14a37a38c582d8822cb78fb0aace221a2fa9a44c" offset="0" /> |
| 354 | 383 | </dataarea> |
| r32574 | r32575 | |
| 361 | 390 | <publisher>Philips</publisher> |
| 362 | 391 | <info name="serial" value="56"/> |
| 363 | 392 | <part name="cart" interface="odyssey_cart"> |
| 393 | <feature name="slot" value="o2_rom" /> | |
| 364 | 394 | <dataarea name="rom" size="8192"> |
| 365 | 395 | <rom name="blobbers (europe).bin" size="8192" crc="9d72d4e9" sha1="cae4e1f3ee090ec423aff89102f359b9e14dba41" offset="0" /> |
| 366 | 396 | </dataarea> |
| r32574 | r32575 | |
| 374 | 404 | <info name="usage" value="Press 0 then 1 for Blockout/Dam Buster, press 0 then 2 for Breakdown" /> |
| 375 | 405 | <info name="serial" value="AA9427 (USA) ~ 29 (Euro)"/> |
| 376 | 406 | <part name="cart" interface="odyssey_cart"> |
| 407 | <feature name="slot" value="o2_rom" /> | |
| 377 | 408 | <dataarea name="rom" size="2048"> |
| 378 | 409 | <rom name="blockout - breakdown (usa, europe).bin" size="2048" crc="fb83171e" sha1="00ef6868724a6826534da620f34dad207fcb3800" offset="0" /> |
| 379 | 410 | </dataarea> |
| r32574 | r32575 | |
| 385 | 416 | <year>1981</year> |
| 386 | 417 | <publisher>Radiola</publisher> |
| 387 | 418 | <part name="cart" interface="odyssey_cart"> |
| 419 | <feature name="slot" value="o2_rom" /> | |
| 388 | 420 | <dataarea name="rom" size="2048"> |
| 389 | 421 | <rom name="mur magique, le (france).bin" size="2048" crc="d38153f6" sha1="ff0ebe9efc275011a0534fd98ca1f4112dae3dab" offset="0" /> |
| 390 | 422 | </dataarea> |
| r32574 | r32575 | |
| 398 | 430 | <info name="usage" value="Press 1 for League Night Bowling, press 2 for Tournament Play Bowling, press 3 for Basketball" /> |
| 399 | 431 | <info name="serial" value="AJ9404 (USA) ~ 6 (Euro)"/> |
| 400 | 432 | <part name="cart" interface="odyssey_cart"> |
| 433 | <feature name="slot" value="o2_rom" /> | |
| 401 | 434 | <dataarea name="rom" size="2048"> |
| 402 | 435 | <rom name="bowling - basketball (usa, europe).bin" size="2048" crc="084ee035" sha1="2630c304b6beb0f8021578277be68e837202895d" offset="0" /> |
| 403 | 436 | </dataarea> |
| r32574 | r32575 | |
| 410 | 443 | <publisher>Radiola</publisher> |
| 411 | 444 | <info name="usage" value="Press 1 for (League Night Bowling), press 2 for (Tournament Play Bowling), press 3 for Basketball" /> |
| 412 | 445 | <part name="cart" interface="odyssey_cart"> |
| 446 | <feature name="slot" value="o2_rom" /> | |
| 413 | 447 | <dataarea name="rom" size="2048"> |
| 414 | 448 | <rom name="jeu de quilles - basketball (france).bin" size="2048" crc="a7e97958" sha1="30cbbec570fa0872c13e89ddc312b2f74e3749fb" offset="0" /> |
| 415 | 449 | </dataarea> |
| r32574 | r32575 | |
| 421 | 455 | <year>1984</year> |
| 422 | 456 | <publisher>Philips</publisher> |
| 423 | 457 | <part name="cart" interface="odyssey_cart"> |
| 458 | <feature name="slot" value="o2_rom" /> | |
| 424 | 459 | <dataarea name="rom" size="8192"> |
| 425 | 460 | <rom name="buraco negro (brazil).bin" size="8192" crc="25874b04" sha1="8414605a62e78753e3f8474fa020035596292583" offset="0" /> |
| 426 | 461 | </dataarea> |
| r32574 | r32575 | |
| 432 | 467 | <year>1983</year> |
| 433 | 468 | <publisher>Philips</publisher> |
| 434 | 469 | <part name="cart" interface="odyssey_cart"> |
| 470 | <feature name="slot" value="o2_rom" /> | |
| 435 | 471 | <dataarea name="rom" size="8192"> |
| 436 | 472 | <rom name="neutron star (europe) (proto).bin" size="8192" crc="d03efa86" sha1="0a91bdb293f52ac37414a63f71d90c6338a4a91a" offset="0" /> |
| 437 | 473 | </dataarea> |
| r32574 | r32575 | |
| 444 | 480 | <publisher>Magnavox</publisher> |
| 445 | 481 | <info name="serial" value="AA9426 (USA) ~ 23 (Euro)"/> |
| 446 | 482 | <part name="cart" interface="odyssey_cart"> |
| 483 | <feature name="slot" value="o2_rom" /> | |
| 447 | 484 | <dataarea name="rom" size="2048"> |
| 448 | 485 | <rom name="casino slot machine (usa, europe).bin" size="2048" crc="bb6e7135" sha1="052bc62eb03e2673a802bab866dd0ab3c39fd584" offset="0" /> |
| 449 | 486 | </dataarea> |
| r32574 | r32575 | |
| 455 | 492 | <year>1980</year> |
| 456 | 493 | <publisher>Radiola</publisher> |
| 457 | 494 | <part name="cart" interface="odyssey_cart"> |
| 495 | <feature name="slot" value="o2_rom" /> | |
| 458 | 496 | <dataarea name="rom" size="2048"> |
| 459 | 497 | <rom name="las vegas (france).bin" size="2048" crc="a0620082" sha1="b83463b7c40367d4310f142fa15d06d12061f3be" offset="0" /> |
| 460 | 498 | </dataarea> |
| r32574 | r32575 | |
| 468 | 506 | <info name="usage" value="Press 1 for Catch the Ball, press 7 for Noughts and Crosses" /> |
| 469 | 507 | <info name="serial" value="19"/> |
| 470 | 508 | <part name="cart" interface="odyssey_cart"> |
| 509 | <feature name="slot" value="o2_rom" /> | |
| 471 | 510 | <dataarea name="rom" size="2048"> |
| 472 | 511 | <rom name="catch the ball - noughts and crosses (europe).bin" size="2048" crc="a57e1724" sha1="671a43595b867b7877e723be18825e9e5d5c4ee9" offset="0" /> |
| 473 | 512 | </dataarea> |
| r32574 | r32575 | |
| 480 | 519 | <publisher>Philips</publisher> |
| 481 | 520 | <info name="usage" value="Press 1 for O Malabarista, press 7 for Jogo da Velha" /> |
| 482 | 521 | <part name="cart" interface="odyssey_cart"> |
| 522 | <feature name="slot" value="o2_rom" /> | |
| 483 | 523 | <dataarea name="rom" size="2048"> |
| 484 | 524 | <rom name="o malabarista - jogo da velha (brazil).bin" size="2048" crc="e39500a6" sha1="68de402f57eb0c8afefdbc46d80d2bc5520afc68" offset="0" /> |
| 485 | 525 | </dataarea> |
| r32574 | r32575 | |
| 492 | 532 | <publisher>Philips</publisher> |
| 493 | 533 | <info name="serial" value="G7010"/> |
| 494 | 534 | <part name="cart" interface="odyssey_cart"> |
| 535 | <feature name="slot" value="o2_chess" /> | |
| 495 | 536 | <dataarea name="rom" size="2048"> |
| 496 | 537 | <rom name="chess (europe).bin" size="2048" crc="77066338" sha1="7162359313f66fe759bdd8a34755a5f62f3cadfb" offset="0" /> |
| 497 | 538 | </dataarea> |
| r32574 | r32575 | |
| 515 | 556 | <publisher>Philips</publisher> |
| 516 | 557 | <info name="serial" value="17"/> |
| 517 | 558 | <part name="cart" interface="odyssey_cart"> |
| 559 | <feature name="slot" value="o2_rom" /> | |
| 518 | 560 | <dataarea name="rom" size="2048"> |
| 519 | 561 | <rom name="chinese logic (europe).bin" size="2048" crc="11edf25b" sha1="431bd5b4ee86e62500eab263e073a585656d16c6" offset="0" /> |
| 520 | 562 | </dataarea> |
| r32574 | r32575 | |
| 526 | 568 | <year>1980</year> |
| 527 | 569 | <publisher>Philips</publisher> |
| 528 | 570 | <part name="cart" interface="odyssey_cart"> |
| 571 | <feature name="slot" value="o2_rom" /> | |
| 529 | 572 | <dataarea name="rom" size="2048"> |
| 530 | 573 | <rom name="desafio chines (brazil).bin" size="2048" crc="838a2d1e" sha1="241160f0691a394afe632b5b29969dae2d8f2d34" offset="0" /> |
| 531 | 574 | </dataarea> |
| r32574 | r32575 | |
| 537 | 580 | <year>198?</year> |
| 538 | 581 | <publisher>Philips</publisher> |
| 539 | 582 | <part name="cart" interface="odyssey_cart"> |
| 583 | <feature name="slot" value="o2_rom" /> | |
| 540 | 584 | <dataarea name="rom" size="4096"> |
| 541 | 585 | <rom name="clay pigeon (brazil).bin" size="4096" crc="fd179f6d" sha1="c07c1206db8d4fb5142b38ead52082d4682d70be" offset="0" /> |
| 542 | 586 | </dataarea> |
| r32574 | r32575 | |
| 548 | 592 | <year>1983</year> |
| 549 | 593 | <publisher>Philips</publisher> |
| 550 | 594 | <part name="cart" interface="odyssey_cart"> |
| 595 | <feature name="slot" value="o2_rom" /> | |
| 551 | 596 | <dataarea name="rom" size="8192"> |
| 552 | 597 | <rom name="comando noturno (brazil).bin" size="8192" crc="26517e77" sha1="e0aa46211967c880bf7ff39836fe5e73c0302460" offset="0" /> |
| 553 | 598 | </dataarea> |
| r32574 | r32575 | |
| 559 | 604 | <year>198?</year> |
| 560 | 605 | <publisher>Philips</publisher> |
| 561 | 606 | <part name="cart" interface="odyssey_cart"> |
| 607 | <feature name="slot" value="o2_rom" /> | |
| 562 | 608 | <dataarea name="rom" size="8192"> |
| 563 | 609 | <rom name="nightfighter (europe) (proto).bin" size="8192" crc="7be6f1ef" sha1="ec364634c2a8160da1916a43246b76d78932be1d" offset="0" /> |
| 564 | 610 | </dataarea> |
| r32574 | r32575 | |
| 571 | 617 | <publisher>Philips</publisher> |
| 572 | 618 | <info name="serial" value="AB9431 (USA) ~ 41 (Euro)"/> |
| 573 | 619 | <part name="cart" interface="odyssey_cart"> |
| 620 | <feature name="slot" value="o2_rom" /> | |
| 574 | 621 | <dataarea name="rom" size="4096"> |
| 575 | 622 | <rom name="conquest of the world (usa, europe).bin" size="4096" crc="afc093fd" sha1="508d1475670ba561e7ddf961a4f0cf6d139d168c" offset="0" /> |
| 576 | 623 | </dataarea> |
| r32574 | r32575 | |
| 584 | 631 | <info name="usage" value="Uses the 2nd joystick" /> |
| 585 | 632 | <info name="serial" value="11"/> |
| 586 | 633 | <part name="cart" interface="odyssey_cart"> |
| 634 | <feature name="slot" value="o2_rom" /> | |
| 587 | 635 | <dataarea name="rom" size="2048"> |
| 588 | 636 | <rom name="cosmic conflict (europe).bin" size="2048" crc="f4c2075e" sha1="a22f99dcc4aba3126f5b5bbbf2a3890878ac953b" offset="0" /> |
| 589 | 637 | </dataarea> |
| r32574 | r32575 | |
| 596 | 644 | <publisher>Philips</publisher> |
| 597 | 645 | <info name="usage" value="Uses the 2nd joystick" /> |
| 598 | 646 | <part name="cart" interface="odyssey_cart"> |
| 647 | <feature name="slot" value="o2_rom" /> | |
| 599 | 648 | <dataarea name="rom" size="2048"> |
| 600 | 649 | <rom name="conflit cosmique (canada).bin" size="2048" crc="2f6e4b46" sha1="e54fe13ee27884524255063aa6fd69e4598a5104" offset="0" /> |
| 601 | 650 | </dataarea> |
| r32574 | r32575 | |
| 608 | 657 | <publisher>Philips</publisher> |
| 609 | 658 | <info name="usage" value="Uses the 2nd joystick" /> |
| 610 | 659 | <part name="cart" interface="odyssey_cart"> |
| 660 | <feature name="slot" value="o2_rom" /> | |
| 611 | 661 | <dataarea name="rom" size="2048"> |
| 612 | 662 | <rom name="cosmic conflict (europe) (alt).bin" size="2048" crc="2a5f0b2b" sha1="9f8f10c9e6e1a5e07eb5a6eee4e0fe19fcaee17f" offset="0" /> |
| 613 | 663 | </dataarea> |
| r32574 | r32575 | |
| 621 | 671 | <info name="usage" value="Uses the 2nd joystick" /> |
| 622 | 672 | <info name="serial" value="AJ9411"/> |
| 623 | 673 | <part name="cart" interface="odyssey_cart"> |
| 674 | <feature name="slot" value="o2_rom" /> | |
| 624 | 675 | <dataarea name="rom" size="2048"> |
| 625 | 676 | <rom name="cosmic conflict (usa).bin" size="2048" crc="c049e79e" sha1="dccbf881e21dd02cbaf15ec049e0801118fb9c96" offset="0" /> |
| 626 | 677 | </dataarea> |
| r32574 | r32575 | |
| 633 | 684 | <publisher>Imagic</publisher> |
| 634 | 685 | <info name="programmer" value="Dave Johnson" /> |
| 635 | 686 | <part name="cart" interface="odyssey_cart"> |
| 687 | <feature name="slot" value="o2_rom" /> | |
| 636 | 688 | <dataarea name="rom" size="4096"> |
| 637 | 689 | <rom name="demon attack (usa, europe).bin" size="4096" crc="9bfc3e01" sha1="2d78ccbb56e8b43bb8101b2a1932f5e778b9dbc3" offset="0" /> |
| 638 | 690 | </dataarea> |
| r32574 | r32575 | |
| 647 | 699 | <info name="serial" value="16"/> |
| 648 | 700 | <sharedfeat name="compatibility" value="PAL"/> |
| 649 | 701 | <part name="cart" interface="odyssey_cart"> |
| 702 | <feature name="slot" value="o2_rom" /> | |
| 650 | 703 | <dataarea name="rom" size="2048"> |
| 651 | 704 | <rom name="depth charge - marksman (europe).bin" size="2048" crc="2dcb77f0" sha1="95ccda2010f756069645e50269142a063c9aabc2" offset="0" /> |
| 652 | 705 | </dataarea> |
| r32574 | r32575 | |
| 660 | 713 | <info name="usage" value="Press 1 for Depth Charge, press 2 for Marksman; Uses the 2nd joystick" /> |
| 661 | 714 | <sharedfeat name="compatibility" value="NTSC"/> |
| 662 | 715 | <part name="cart" interface="odyssey_cart"> |
| 716 | <feature name="slot" value="o2_rom" /> | |
| 663 | 717 | <dataarea name="rom" size="2048"> |
| 664 | 718 | <rom name="bombardeio submarino - tiro ao alvo (brazil).bin" size="2048" crc="b1109a09" sha1="e15f778efeb95530f8108854b14c404cf63f213a" offset="0" /> |
| 665 | 719 | </dataarea> |
| r32574 | r32575 | |
| 672 | 726 | <publisher>Magnavox</publisher> |
| 673 | 727 | <info name="serial" value="AA9423 (USA) ~ 27 (Euro)"/> |
| 674 | 728 | <part name="cart" interface="odyssey_cart"> |
| 729 | <feature name="slot" value="o2_rom" /> | |
| 675 | 730 | <dataarea name="rom" size="2048"> |
| 676 | 731 | <rom name="electronic table soccer (usa, europe).bin" size="2048" crc="89c6de2c" sha1="3a032c9be1081db58f28f906940641d74d6bae2b" offset="0" /> |
| 677 | 732 | </dataarea> |
| r32574 | r32575 | |
| 684 | 739 | <publisher>Philips</publisher> |
| 685 | 740 | <info name="serial" value="AJ9402 (USA) ~ 3 (Euro)"/> |
| 686 | 741 | <part name="cart" interface="odyssey_cart"> |
| 742 | <feature name="slot" value="o2_rom" /> | |
| 687 | 743 | <dataarea name="rom" size="2048"> |
| 688 | 744 | <rom name="football (usa, europe).bin" size="2048" crc="f9084aa3" sha1="364504ffce1108bcf09a5cc784f7ea2cf141f7b8" offset="0" /> |
| 689 | 745 | </dataarea> |
| r32574 | r32575 | |
| 696 | 752 | <publisher>Philips</publisher> |
| 697 | 753 | <info name="serial" value="AC9436 (USA) ~ 39 (Euro)"/> |
| 698 | 754 | <part name="cart" interface="odyssey_cart"> |
| 755 | <feature name="slot" value="o2_rom" /> | |
| 699 | 756 | <dataarea name="rom" size="4096"> |
| 700 | 757 | <rom name="freedom fighters (usa, europe).bin" size="4096" crc="54736b74" sha1="ad11f3fad2dfd3716445fef3b7d83d479edee0ed" offset="0" /> |
| 701 | 758 | </dataarea> |
| r32574 | r32575 | |
| 709 | 766 | <info name="usage" value="Uses the 2nd joystick" /> |
| 710 | 767 | <info name="programmer" value="Peter Inser" /> |
| 711 | 768 | <part name="cart" interface="odyssey_cart"> |
| 769 | <feature name="slot" value="o2_rom" /> | |
| 712 | 770 | <dataarea name="rom" size="8192"> |
| 713 | 771 | <rom name="frogger (europe).bin" size="8192" crc="d0bc4ee6" sha1="0beda7b36259b3be84d34206a77a35cd3f04892f" offset="0" /> |
| 714 | 772 | </dataarea> |
| r32574 | r32575 | |
| 721 | 779 | <publisher>Parker Brothers</publisher> |
| 722 | 780 | <info name="usage" value="Uses the 2nd joystick" /> |
| 723 | 781 | <part name="cart" interface="odyssey_cart"> |
| 782 | <feature name="slot" value="o2_rom" /> | |
| 724 | 783 | <dataarea name="rom" size="8192"> |
| 725 | 784 | <rom name="frogger (brazil).bin" size="8192" crc="a57d84f3" sha1="bedb714c88b9aa7a02da9ebcde12446ec8350d18" offset="0" /> |
| 726 | 785 | </dataarea> |
| r32574 | r32575 | |
| 733 | 792 | <publisher>Philips</publisher> |
| 734 | 793 | <info name="serial" value="10"/> |
| 735 | 794 | <part name="cart" interface="odyssey_cart"> |
| 795 | <feature name="slot" value="o2_rom" /> | |
| 736 | 796 | <dataarea name="rom" size="2048"> |
| 737 | 797 | <rom name="golf (europe).bin" size="2048" crc="14b6cc76" sha1="c2bf8d92b8827e3071d6ce4c43e34b21afc54f8d" offset="0" /> |
| 738 | 798 | </dataarea> |
| r32574 | r32575 | |
| 745 | 805 | <publisher>Philips</publisher> |
| 746 | 806 | <info name="serial" value="AJ9410"/> |
| 747 | 807 | <part name="cart" interface="odyssey_cart"> |
| 808 | <feature name="slot" value="o2_rom" /> | |
| 748 | 809 | <dataarea name="rom" size="2048"> |
| 749 | 810 | <rom name="computer golf (usa).bin" size="2048" crc="0f870806" sha1="c8736250ebf376543256d85cf853e825475e0af6" offset="0" /> |
| 750 | 811 | </dataarea> |
| r32574 | r32575 | |
| 757 | 818 | <publisher>Philips</publisher> |
| 758 | 819 | <info name="serial" value="AC9434 (USA) ~ 46 (Euro)"/> |
| 759 | 820 | <part name="cart" interface="odyssey_cart"> |
| 821 | <feature name="slot" value="o2_rom" /> | |
| 760 | 822 | <dataarea name="rom" size="4096"> |
| 761 | 823 | <rom name="the great wall street fortune hunt (usa, europe).bin" size="4096" crc="881ceae4" sha1="d54b1d5667bf90368dddab55a91955b1789f177c" offset="0" /> |
| 762 | 824 | </dataarea> |
| r32574 | r32575 | |
| 768 | 830 | <year>1983</year> |
| 769 | 831 | <publisher>Philips</publisher> |
| 770 | 832 | <part name="cart" interface="odyssey_cart"> |
| 833 | <feature name="slot" value="o2_rom" /> | |
| 771 | 834 | <dataarea name="rom" size="4096"> |
| 772 | 835 | <rom name="wall street (brazil).bin" size="4096" crc="228842df" sha1="af9db337a2edbb3fe79a3d50f1b4ec1b007f4a52" offset="0" /> |
| 773 | 836 | </dataarea> |
| r32574 | r32575 | |
| 780 | 843 | <publisher>Philips</publisher> |
| 781 | 844 | <info name="serial" value="14"/> |
| 782 | 845 | <part name="cart" interface="odyssey_cart"> |
| 846 | <feature name="slot" value="o2_rom" /> | |
| 783 | 847 | <dataarea name="rom" size="2048"> |
| 784 | 848 | <rom name="gunfighter (europe).bin" size="2048" crc="abe368bf" sha1="b5ec5ed9373372de6d70620094af06282c48968d" offset="0" /> |
| 785 | 849 | </dataarea> |
| r32574 | r32575 | |
| 792 | 856 | <publisher>Philips</publisher> |
| 793 | 857 | <info name="serial" value="AK9416"/> |
| 794 | 858 | <part name="cart" interface="odyssey_cart"> |
| 859 | <feature name="slot" value="o2_rom" /> | |
| 795 | 860 | <dataarea name="rom" size="2048"> |
| 796 | 861 | <rom name="showdown in 2100 a.d. (usa).bin" size="2048" crc="9487c920" sha1="7163c3e0d0e926287df670bfa5d5d5c42b5b3cf6" offset="0" /> |
| 797 | 862 | </dataarea> |
| r32574 | r32575 | |
| 805 | 870 | <info name="usage" value="Move joystick when game is on screen." /> |
| 806 | 871 | <info name="serial" value="AK9420 (USA) ~ 36 (Euro)"/> |
| 807 | 872 | <part name="cart" interface="odyssey_cart"> |
| 873 | <feature name="slot" value="o2_rom" /> | |
| 808 | 874 | <dataarea name="rom" size="2048"> |
| 809 | 875 | <rom name="hockey - soccer (usa, europe).bin" size="2048" crc="39989464" sha1="f39c9801984f97d5a685a4b7a1accd0164a49b43" offset="0" /> |
| 810 | 876 | </dataarea> |
| r32574 | r32575 | |
| 817 | 883 | <publisher>Radiola</publisher> |
| 818 | 884 | <info name="usage" value="Move joystick when game is on screen." /> |
| 819 | 885 | <part name="cart" interface="odyssey_cart"> |
| 886 | <feature name="slot" value="o2_rom" /> | |
| 820 | 887 | <dataarea name="rom" size="2048"> |
| 821 | 888 | <rom name="football electronique - hockey electronique (france).bin" size="2048" crc="f00f9dba" sha1="d7593ade4d60a6e314e4f18711e8ea59e3c8c3ad" offset="0" /> |
| 822 | 889 | </dataarea> |
| r32574 | r32575 | |
| 829 | 896 | <publisher>GST Video</publisher> |
| 830 | 897 | <info name="programmer" value="Mick Rouse" /> |
| 831 | 898 | <part name="cart" interface="odyssey_cart"> |
| 899 | <feature name="slot" value="o2_rom" /> | |
| 832 | 900 | <dataarea name="rom" size="4096"> |
| 833 | 901 | <rom name="interpol (europe) (proto).bin" size="4096" crc="69d21f8f" sha1="c0b10b79461bc1939e08e4c05166126d2b8d7dda" offset="0" /> |
| 834 | 902 | </dataarea> |
| r32574 | r32575 | |
| 842 | 910 | <info name="programmer" value="Jim Butler" /> |
| 843 | 911 | <info name="serial" value="33"/> |
| 844 | 912 | <part name="cart" interface="odyssey_cart"> |
| 913 | <feature name="slot" value="o2_rom" /> | |
| 845 | 914 | <dataarea name="rom" size="2048"> |
| 846 | 915 | <rom name="jumping acrobats (europe).bin" size="2048" crc="6cebab74" sha1="a44587d48e76117838cb6a4cf964321d37efcde1" offset="0" /> |
| 847 | 916 | </dataarea> |
| r32574 | r32575 | |
| 854 | 923 | <publisher>Philips</publisher> |
| 855 | 924 | <info name="programmer" value="Jim Butler" /> |
| 856 | 925 | <part name="cart" interface="odyssey_cart"> |
| 926 | <feature name="slot" value="o2_rom" /> | |
| 857 | 927 | <dataarea name="rom" size="2048"> |
| 858 | 928 | <rom name="jumping acrobats (europe) (alt).bin" size="2048" crc="e7b26a56" sha1="ee5c0471fc192570fe4575ca65882d3d7b85350d" offset="0" /> |
| 859 | 929 | </dataarea> |
| r32574 | r32575 | |
| 867 | 937 | <info name="programmer" value="Jim Butler" /> |
| 868 | 938 | <info name="serial" value="AC9443"/> |
| 869 | 939 | <part name="cart" interface="odyssey_cart"> |
| 940 | <feature name="slot" value="o2_rom" /> | |
| 870 | 941 | <dataarea name="rom" size="4096"> |
| 871 | 942 | <rom name="p.t. barnum's acrobats (usa).bin" size="4096" crc="874f36a4" sha1="661a73bd490cc592815f742eb33b2d3f0066be41" offset="0" /> |
| 872 | 943 | </dataarea> |
| r32574 | r32575 | |
| 879 | 950 | <publisher>Philips</publisher> |
| 880 | 951 | <info name="serial" value="AC9442 (USA) ~ 44 (Euro)"/> |
| 881 | 952 | <part name="cart" interface="odyssey_cart"> |
| 953 | <feature name="slot" value="o2_rom" /> | |
| 882 | 954 | <dataarea name="rom" size="4096"> |
| 883 | 955 | <rom name="k.c.'s krazy chase (usa, europe).bin" size="4096" crc="a6909a8b" sha1="3391e48c0048a2f588d8238bb202e2ec346a6ad4" offset="0" /> |
| 884 | 956 | </dataarea> |
| r32574 | r32575 | |
| 892 | 964 | <info name="programmer" value="Robert S. Harris" /> |
| 893 | 965 | <info name="serial" value="AC9447"/> |
| 894 | 966 | <part name="cart" interface="odyssey_cart"> |
| 967 | <feature name="slot" value="o2_rom" /> | |
| 895 | 968 | <dataarea name="rom" size="8192"> |
| 896 | 969 | <rom name="killer bees (usa).bin" size="8192" crc="b096654e" sha1="b446a2730aefafe71394dbb9850d43c5cf01d367" offset="0" /> |
| 897 | 970 | </dataarea> |
| r32574 | r32575 | |
| 904 | 977 | <publisher>Philips</publisher> |
| 905 | 978 | <info name="serial" value="32"/> |
| 906 | 979 | <part name="cart" interface="odyssey_cart"> |
| 980 | <feature name="slot" value="o2_rom" /> | |
| 907 | 981 | <dataarea name="rom" size="2048"> |
| 908 | 982 | <rom name="a labyrinth game - supermind (europe).bin" size="2048" crc="d158eeba" sha1="85c567c8f38239350a5d04f8cfd9dd7872f448c9" offset="0" /> |
| 909 | 983 | </dataarea> |
| r32574 | r32575 | |
| 916 | 990 | <publisher>Philips</publisher> |
| 917 | 991 | <info name="serial" value="AJ9401 (USA) ~ 5 (Euro)"/> |
| 918 | 992 | <part name="cart" interface="odyssey_cart"> |
| 993 | <feature name="slot" value="o2_rom" /> | |
| 919 | 994 | <dataarea name="rom" size="2048"> |
| 920 | 995 | <rom name="las vegas blackjack (usa, europe).bin" size="2048" crc="6f66b1f7" sha1="3e10fc687b1d07612305f680f24590f99842e62b" offset="0" /> |
| 921 | 996 | </dataarea> |
| r32574 | r32575 | |
| 927 | 1002 | <year>1980</year> |
| 928 | 1003 | <publisher>Radiola</publisher> |
| 929 | 1004 | <part name="cart" interface="odyssey_cart"> |
| 1005 | <feature name="slot" value="o2_rom" /> | |
| 930 | 1006 | <dataarea name="rom" size="2048"> |
| 931 | 1007 | <rom name="blackjack (france).bin" size="2048" crc="6381e402" sha1="9ec331ce8e50ef60de93e615c18327f08b4a24fb" offset="0" /> |
| 932 | 1008 | </dataarea> |
| r32574 | r32575 | |
| 939 | 1015 | <publisher>Philips</publisher> |
| 940 | 1016 | <info name="serial" value="18"/> |
| 941 | 1017 | <part name="cart" interface="odyssey_cart"> |
| 1018 | <feature name="slot" value="o2_rom" /> | |
| 942 | 1019 | <dataarea name="rom" size="2048"> |
| 943 | 1020 | <rom name="laser war (europe).bin" size="2048" crc="17be749b" sha1="3d188d49d4a2409f66ac86bcf58d90d35908032b" offset="0" /> |
| 944 | 1021 | </dataarea> |
| r32574 | r32575 | |
| 950 | 1027 | <year>1980</year> |
| 951 | 1028 | <publisher>Radiola</publisher> |
| 952 | 1029 | <part name="cart" interface="odyssey_cart"> |
| 1030 | <feature name="slot" value="o2_rom" /> | |
| 953 | 1031 | <dataarea name="rom" size="2048"> |
| 954 | 1032 | <rom name="guerre laser (france).bin" size="2048" crc="ca8ab259" sha1="12f08273e6c5e97e0a35c4033bd7527bb8a559d3" offset="0" /> |
| 955 | 1033 | </dataarea> |
| r32574 | r32575 | |
| 962 | 1040 | <publisher>Philips</publisher> |
| 963 | 1041 | <info name="serial" value="AK9414"/> |
| 964 | 1042 | <part name="cart" interface="odyssey_cart"> |
| 1043 | <feature name="slot" value="o2_rom" /> | |
| 965 | 1044 | <dataarea name="rom" size="2048"> |
| 966 | 1045 | <rom name="invaders from hyperspace (usa).bin" size="2048" crc="ad7a9a11" sha1="00032798bd4cc01323e663e98634b82a74b0dc53" offset="0" /> |
| 967 | 1046 | </dataarea> |
| r32574 | r32575 | |
| 973 | 1052 | <year>1983</year> |
| 974 | 1053 | <publisher>Philips</publisher> |
| 975 | 1054 | <part name="cart" interface="odyssey_cart"> |
| 1055 | <feature name="slot" value="o2_rom" /> | |
| 976 | 1056 | <dataarea name="rom" size="4096"> |
| 977 | 1057 | <rom name="balao travesso (brazil).bin" size="4096" crc="5b6e741a" sha1="73bf363400fece63d1a10b6b8cd9413612a1a126" offset="0" /> |
| 978 | 1058 | </dataarea> |
| r32574 | r32575 | |
| 984 | 1064 | <year>1983</year> |
| 985 | 1065 | <publisher>Philips</publisher> |
| 986 | 1066 | <part name="cart" interface="odyssey_cart"> |
| 1067 | <feature name="slot" value="o2_rom" /> | |
| 987 | 1068 | <dataarea name="rom" size="4096"> |
| 988 | 1069 | <rom name="loony balloon (europe) (proto).bin" size="4096" crc="ca23f40c" sha1="3cb324b047cbac8ec4381150b1c2aee98573841b" offset="0" /> |
| 989 | 1070 | </dataarea> |
| r32574 | r32575 | |
| 996 | 1077 | <publisher>Philips</publisher> |
| 997 | 1078 | <info name="programmer" value="Jake Dowding?" /><!-- first prototype found was named "Jake" --> |
| 998 | 1079 | <part name="cart" interface="odyssey_cart"> |
| 1080 | <feature name="slot" value="o2_rom" /> | |
| 999 | 1081 | <dataarea name="rom" size="8192"> |
| 1000 | 1082 | <rom name="martian threat (europe) (proto).bin" size="8192" crc="39e31bf0" sha1="4266ca9aa34ace118edd8153e2847cfa94a9a2f0" offset="0" /> |
| 1001 | 1083 | </dataarea> |
| r32574 | r32575 | |
| 1009 | 1091 | <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" /> |
| 1010 | 1092 | <info name="serial" value="2"/> |
| 1011 | 1093 | <part name="cart" interface="odyssey_cart"> |
| 1094 | <feature name="slot" value="o2_rom" /> | |
| 1012 | 1095 | <dataarea name="rom" size="2048"> |
| 1013 | 1096 | <rom name="pairs - space rendezvous - logic (europe).bin" size="2048" crc="a69c2c93" sha1="7ea8e5ff3b9f86914774de2aa6f7a4652adcf47a" offset="0" /> |
| 1014 | 1097 | </dataarea> |
| r32574 | r32575 | |
| 1022 | 1105 | <info name="usage" value="Press 1 for Matchmaker 1 player, press 2 for Matchmaker 2 players, press 3 for Buzzword, press 4 for Logix" /> |
| 1023 | 1106 | <info name="serial" value="AJ9407"/> |
| 1024 | 1107 | <part name="cart" interface="odyssey_cart"> |
| 1108 | <feature name="slot" value="o2_rom" /> | |
| 1025 | 1109 | <dataarea name="rom" size="2048"> |
| 1026 | 1110 | <rom name="matchmaker - buzzword - logix (usa).bin" size="2048" crc="bbf276a0" sha1="908387d2446f4c62019017fe262b412dfa040d10" offset="0" /> |
| 1027 | 1111 | </dataarea> |
| r32574 | r32575 | |
| 1034 | 1118 | <publisher>Ectron Eletrônica Ltda.</publisher> |
| 1035 | 1119 | <info name="usage" value="Press 1 for Missão Impossível, press 2 for Viagem Programada" /> |
| 1036 | 1120 | <part name="cart" interface="odyssey_cart"> |
| 1121 | <feature name="slot" value="o2_rom" /> | |
| 1037 | 1122 | <dataarea name="rom" size="2048"> |
| 1038 | 1123 | <rom name="mission impossible (brazil).bin" size="2048" crc="655fdf57" sha1="7ff030e8ba236c9f354b903b89b283886c7455d7" offset="0" /> |
| 1039 | 1124 | </dataarea> |
| r32574 | r32575 | |
| 1047 | 1132 | <info name="programmer" value="Ed Averett"/> |
| 1048 | 1133 | <info name="serial" value="AB9432 (USA) ~ 37 (Euro)"/> |
| 1049 | 1134 | <part name="cart" interface="odyssey_cart"> |
| 1135 | <feature name="slot" value="o2_rom" /> | |
| 1050 | 1136 | <dataarea name="rom" size="4096"> |
| 1051 | 1137 | <rom name="monkeyshines (usa, europe).bin" size="4096" crc="fee664f3" sha1="6d6659539934255711357537d4fa6e969c3c4754" offset="0" /> |
| 1052 | 1138 | </dataarea> |
| r32574 | r32575 | |
| 1059 | 1145 | <publisher>Philips</publisher> |
| 1060 | 1146 | <info name="serial" value="47"/> |
| 1061 | 1147 | <part name="cart" interface="odyssey_cart"> |
| 1148 | <feature name="slot" value="o2_rom" /> | |
| 1062 | 1149 | <dataarea name="rom" size="4096"> |
| 1063 | 1150 | <rom name="the mousing cat (europe).bin" size="4096" crc="f390bfec" sha1="f9727e6c5a941518187c08e5f5d104460ac3b3e3" offset="0" /> |
| 1064 | 1151 | </dataarea> |
| r32574 | r32575 | |
| 1070 | 1157 | <year>1983</year> |
| 1071 | 1158 | <publisher>Radiola</publisher> |
| 1072 | 1159 | <part name="cart" interface="odyssey_cart"> |
| 1160 | <feature name="slot" value="o2_rom" /> | |
| 1073 | 1161 | <dataarea name="rom" size="4096"> |
| 1074 | 1162 | <rom name="chat et souris (france).bin" size="4096" crc="61a350e6" sha1="afa67f2110647753de9dfacb268d96e75d6d8657" offset="0" /> |
| 1075 | 1163 | </dataarea> |
| r32574 | r32575 | |
| 1083 | 1171 | <info name="programmer" value="Ed Averett"/> |
| 1084 | 1172 | <info name="serial" value="38"/> |
| 1085 | 1173 | <part name="cart" interface="odyssey_cart"> |
| 1174 | <feature name="slot" value="o2_rom" /> | |
| 1086 | 1175 | <dataarea name="rom" size="4096"> |
| 1087 | 1176 | <rom name="munchkin (europe).bin" size="4096" crc="4a3e2dc8" sha1="83d06385fd74e3f7c19309e6908a975fa8856f32" offset="0" /> |
| 1088 | 1177 | </dataarea> |
| r32574 | r32575 | |
| 1096 | 1185 | <info name="programmer" value="Ed Averett"/> |
| 1097 | 1186 | <info name="serial" value="AC9435"/> |
| 1098 | 1187 | <part name="cart" interface="odyssey_cart"> |
| 1188 | <feature name="slot" value="o2_rom" /> | |
| 1099 | 1189 | <dataarea name="rom" size="4096"> |
| 1100 | 1190 | <rom name="k.c. munchkin (usa).bin" size="4096" crc="7108e058" sha1="d273cf993dfcbca3b65cd4959b45a3009f242bc6" offset="0" /> |
| 1101 | 1191 | </dataarea> |
| r32574 | r32575 | |
| 1107 | 1197 | <year>1983</year> |
| 1108 | 1198 | <publisher>Philips</publisher> |
| 1109 | 1199 | <part name="cart" interface="odyssey_cart"> |
| 1200 | <feature name="slot" value="o2_rom" /> | |
| 1110 | 1201 | <dataarea name="rom" size="8192"> |
| 1111 | 1202 | <rom name="phantom house (europe)(proto).bin" size="8192" crc="313547eb" sha1="3cc218587116eb105e95ffce9eb1b5e268258d4a" offset="0" /> |
| 1112 | 1203 | </dataarea> |
| r32574 | r32575 | |
| 1120 | 1211 | <info name="usage" value="Press 3 for Out of this World, press 1 for Helicopter Rescue" /> |
| 1121 | 1212 | <info name="serial" value="AC9419"/> |
| 1122 | 1213 | <part name="cart" interface="odyssey_cart"> |
| 1214 | <feature name="slot" value="o2_rom" /> | |
| 1123 | 1215 | <dataarea name="rom" size="2048"> |
| 1124 | 1216 | <rom name="out of this world - helicopter rescue (usa).bin" size="2048" crc="0c2e4811" sha1="c6a79e721ee501d82d9a1c4f71f98bc23f1e7c7e" offset="0" /> |
| 1125 | 1217 | </dataarea> |
| r32574 | r32575 | |
| 1133 | 1225 | <info name="programmer" value="Ed Averett"/> |
| 1134 | 1226 | <info name="serial" value="AA9425 (USA) ~ 26 (Euro)"/> |
| 1135 | 1227 | <part name="cart" interface="odyssey_cart"> |
| 1228 | <feature name="slot" value="o2_rom" /> | |
| 1136 | 1229 | <dataarea name="rom" size="2048"> |
| 1137 | 1230 | <rom name="pachinko (usa, europe).bin" size="2048" crc="239df97d" sha1="ffd525d5c6023409afdcdb2afbda227bc4568304" offset="0" /> |
| 1138 | 1231 | </dataarea> |
| r32574 | r32575 | |
| 1145 | 1238 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 1146 | 1239 | <info name="serial" value="AC9437 (USA) ~ 43 (Euro)"/> |
| 1147 | 1240 | <part name="cart" interface="odyssey_cart"> |
| 1241 | <feature name="slot" value="o2_rom" /> | |
| 1148 | 1242 | <dataarea name="rom" size="4096"> |
| 1149 | 1243 | <rom name="pick axe pete (usa, europe).bin" size="4096" crc="d62814a3" sha1="b979ed0c2b8947f764786fcf4444463b3d3ae87d" offset="0" /> |
| 1150 | 1244 | </dataarea> |
| r32574 | r32575 | |
| 1157 | 1251 | <publisher>Philips</publisher> |
| 1158 | 1252 | <info name="programmer" value="Don McGuiness"/> |
| 1159 | 1253 | <part name="cart" interface="odyssey_cart"> |
| 1254 | <feature name="slot" value="o2_rom" /> | |
| 1160 | 1255 | <dataarea name="rom" size="2048"> |
| 1161 | 1256 | <rom name="pinball (usa) (proto).bin" size="2048" crc="6ef2471a" sha1="350a9e3f95dbf2d5e7aa1ddbd5e531300ddeeee4" offset="0" /> |
| 1162 | 1257 | </dataarea> |
| r32574 | r32575 | |
| 1168 | 1263 | <year>198?</year> |
| 1169 | 1264 | <publisher>Philips</publisher> |
| 1170 | 1265 | <part name="cart" interface="odyssey_cart"> |
| 1266 | <feature name="slot" value="o2_rom" /> | |
| 1171 | 1267 | <dataarea name="rom" size="4096"> |
| 1172 | 1268 | <rom name="playtag (europe) (proto).bin" size="4096" crc="a29f0fd4" sha1="759dc0efb9dbf64034d9fd78c12207206b173c0c" offset="0" /> |
| 1173 | 1269 | </dataarea> |
| r32574 | r32575 | |
| 1181 | 1277 | <info name="programmer" value="Ed Averett"/> |
| 1182 | 1278 | <info name="serial" value="AC9424 (USA) ~ 35 (Euro)"/> |
| 1183 | 1279 | <part name="cart" interface="odyssey_cart"> |
| 1280 | <feature name="slot" value="o2_rom" /> | |
| 1184 | 1281 | <dataarea name="rom" size="2048"> |
| 1185 | 1282 | <rom name="pocket billiards (usa, europe).bin" size="2048" crc="24d53e2c" sha1="8abd1057202ebac12acf3822ed4d965bba02b7de" offset="0" /> |
| 1186 | 1283 | </dataarea> |
| r32574 | r32575 | |
| 1193 | 1290 | <publisher>Radiola</publisher> |
| 1194 | 1291 | <info name="programmer" value="Ed Averett"/> |
| 1195 | 1292 | <part name="cart" interface="odyssey_cart"> |
| 1293 | <feature name="slot" value="o2_rom" /> | |
| 1196 | 1294 | <dataarea name="rom" size="2048"> |
| 1197 | 1295 | <rom name="billiard americain (france).bin" size="2048" crc="a674ea27" sha1="283ae5fa1d6e89a5ac921c7f2e21a89a67dd138c" offset="0" /> |
| 1198 | 1296 | </dataarea> |
| r32574 | r32575 | |
| 1205 | 1303 | <publisher>Parker Brothers</publisher> |
| 1206 | 1304 | <info name="programmer" value="Gil Williamson and Charles Dear" /> |
| 1207 | 1305 | <part name="cart" interface="odyssey_cart"> |
| 1306 | <feature name="slot" value="o2_rom" /> | |
| 1208 | 1307 | <dataarea name="rom" size="8192"> |
| 1209 | 1308 | <rom name="popeye (europe).bin" size="8192" crc="5216771a" sha1="a13e7b338ba15820949f51eb862b381ddc6870af" offset="0" /> |
| 1210 | 1309 | </dataarea> |
| r32574 | r32575 | |
| 1217 | 1316 | <publisher>Parker Brothers</publisher> |
| 1218 | 1317 | <info name="programmer" value="Gil Williamson and Charles Dear" /> |
| 1219 | 1318 | <part name="cart" interface="odyssey_cart"> |
| 1319 | <feature name="slot" value="o2_rom" /> | |
| 1220 | 1320 | <dataarea name="rom" size="8192"> |
| 1221 | 1321 | <rom name="popeye (brazil).bin" size="8192" crc="1b188870" sha1="d12197942a99d5902de1352bbb5475ab4396c7d0" offset="0" /> |
| 1222 | 1322 | </dataarea> |
| r32574 | r32575 | |
| 1230 | 1330 | <info name="usage" value="Uses the 2nd joystick" /> |
| 1231 | 1331 | <info name="serial" value="AC9448"/> |
| 1232 | 1332 | <part name="cart" interface="odyssey_cart"> |
| 1333 | <feature name="slot" value="o2_rom" /> | |
| 1233 | 1334 | <dataarea name="rom" size="4096"> |
| 1234 | 1335 | <rom name="power lords (usa).bin" size="4096" crc="40ae062d" sha1="e81570282b8ade6b7c0d126c819a95c7011cd063" offset="0" /> |
| 1235 | 1336 | </dataarea> |
| r32574 | r32575 | |
| 1242 | 1343 | <publisher>Parker Brothers</publisher> |
| 1243 | 1344 | <info name="programmer" value="Gil Williamson and Charles Dear" /> |
| 1244 | 1345 | <part name="cart" interface="odyssey_cart"> |
| 1346 | <feature name="slot" value="o2_rom" /> | |
| 1245 | 1347 | <dataarea name="rom" size="8192"> |
| 1246 | 1348 | <rom name="q-bert (europe).bin" size="8192" crc="202f2749" sha1="80d76d5c56fc716a8f7a55166390658c320e4c34" offset="0" /> |
| 1247 | 1349 | </dataarea> |
| r32574 | r32575 | |
| 1255 | 1357 | <info name="programmer" value="Ed Averett"/> |
| 1256 | 1358 | <info name="serial" value="AC9429 (USA) ~ 42 (Euro)"/> |
| 1257 | 1359 | <part name="cart" interface="odyssey_cart"> |
| 1360 | <feature name="slot" value="o2_rom" /> | |
| 1258 | 1361 | <dataarea name="rom" size="4096"> |
| 1259 | 1362 | <rom name="quest for the rings (usa, europe).bin" size="4096" crc="9451be1e" sha1="32759c8d502cd8b959da5f03351db7cd46c8f96a" offset="0" /> |
| 1260 | 1363 | </dataarea> |
| r32574 | r32575 | |
| 1267 | 1370 | <publisher>Radiola</publisher> |
| 1268 | 1371 | <info name="programmer" value="Ed Averett"/> |
| 1269 | 1372 | <part name="cart" interface="odyssey_cart"> |
| 1373 | <feature name="slot" value="o2_rom" /> | |
| 1270 | 1374 | <dataarea name="rom" size="4096"> |
| 1271 | 1375 | <rom name="la quete des anneaux (france).bin" size="4096" crc="a21da732" sha1="04543bdbea8112f7cc55caef5da9445d08d65e46" offset="0" /> |
| 1272 | 1376 | </dataarea> |
| r32574 | r32575 | |
| 1278 | 1382 | <year>198?</year> |
| 1279 | 1383 | <publisher>Philips</publisher> |
| 1280 | 1384 | <part name="cart" interface="odyssey_cart"> |
| 1385 | <feature name="slot" value="o2_rom" /> | |
| 1281 | 1386 | <dataarea name="rom" size="8192"> |
| 1282 | 1387 | <rom name="air battle (brazil).bin" size="8192" crc="4103ee95" sha1="b6842b9264b722e2b39c8647b7963e513a0cde16" offset="0" /> |
| 1283 | 1388 | </dataarea> |
| r32574 | r32575 | |
| 1289 | 1394 | <year>198?</year> |
| 1290 | 1395 | <publisher>Philips</publisher> |
| 1291 | 1396 | <part name="cart" interface="odyssey_cart"> |
| 1397 | <feature name="slot" value="o2_rom" /> | |
| 1292 | 1398 | <dataarea name="rom" size="8192"> |
| 1293 | 1399 | <rom name="red baron (europe) (proto).bin" size="8192" crc="1eeb88f5" sha1="50eba68915b0ccc95f07719f80d9011ca2cf67c9" offset="0" /> |
| 1294 | 1400 | </dataarea> |
| r32574 | r32575 | |
| 1300 | 1406 | <year>198?</year> |
| 1301 | 1407 | <publisher>Philips</publisher> |
| 1302 | 1408 | <part name="cart" interface="odyssey_cart"> |
| 1409 | <feature name="slot" value="o2_rom" /> | |
| 1303 | 1410 | <dataarea name="rom" size="8192"> |
| 1304 | 1411 | <rom name="robot city (europe) (proto).bin" size="8192" crc="ef9e9c3b" sha1="ff92b024ef80919146e822ce947882d0744ac09f" offset="0" /> |
| 1305 | 1412 | </dataarea> |
| r32574 | r32575 | |
| 1313 | 1420 | <info name="programmer" value="Ed Averett"/> |
| 1314 | 1421 | <info name="serial" value="15"/> |
| 1315 | 1422 | <part name="cart" interface="odyssey_cart"> |
| 1423 | <feature name="slot" value="o2_rom" /> | |
| 1316 | 1424 | <dataarea name="rom" size="2048"> |
| 1317 | 1425 | <rom name="samurai (europe).bin" size="2048" crc="7810bad5" sha1="fd354b726bd86dcbe97bcc284cf1e09485dd81ac" offset="0" /> |
| 1318 | 1426 | </dataarea> |
| r32574 | r32575 | |
| 1326 | 1434 | <info name="programmer" value="Ed Averett"/> |
| 1327 | 1435 | <info name="serial" value="AK9421"/> |
| 1328 | 1436 | <part name="cart" interface="odyssey_cart"> |
| 1437 | <feature name="slot" value="o2_rom" /> | |
| 1329 | 1438 | <dataarea name="rom" size="2048"> |
| 1330 | 1439 | <rom name="dynasty (usa).bin" size="2048" crc="dc30ad3d" sha1="20c6e4035ce8dd5a8f331c18ceef1056dc9ce818" offset="0" /> |
| 1331 | 1440 | </dataarea> |
| r32574 | r32575 | |
| 1339 | 1448 | <info name="programmer" value="Ed Averett"/> |
| 1340 | 1449 | <info name="serial" value="34"/> |
| 1341 | 1450 | <part name="cart" interface="odyssey_cart"> |
| 1451 | <feature name="slot" value="o2_rom" /> | |
| 1342 | 1452 | <dataarea name="rom" size="2048"> |
| 1343 | 1453 | <rom name="satellite attack (europe).bin" size="2048" crc="395629e1" sha1="e0383dd98b85dc2156a859e731ff904b6ebad95b" offset="0" /> |
| 1344 | 1454 | </dataarea> |
| r32574 | r32575 | |
| 1352 | 1462 | <info name="programmer" value="Ed Averett"/> |
| 1353 | 1463 | <info name="serial" value="AB9430"/> |
| 1354 | 1464 | <part name="cart" interface="odyssey_cart"> |
| 1465 | <feature name="slot" value="o2_rom" /> | |
| 1355 | 1466 | <dataarea name="rom" size="2048"> |
| 1356 | 1467 | <rom name="ufo (usa).bin" size="2048" crc="2b1e9e19" sha1="0e819a4b0f17520da24ff79901197f5397cb9a26" offset="0" /> |
| 1357 | 1468 | </dataarea> |
| r32574 | r32575 | |
| 1363 | 1474 | <year>1981</year> |
| 1364 | 1475 | <publisher>Jopac</publisher> |
| 1365 | 1476 | <part name="cart" interface="odyssey_cart"> |
| 1477 | <feature name="slot" value="o2_rom" /> | |
| 1366 | 1478 | <dataarea name="rom" size="4096"> |
| 1367 | 1479 | <rom name="syracuse (france).bin" size="4096" crc="280d08f4" sha1="37aa11cbf0a32ece89d1d2c500b74660830377df" offset="0" /> |
| 1368 | 1480 | </dataarea> |
| r32574 | r32575 | |
| 1375 | 1487 | <publisher>Philips</publisher> |
| 1376 | 1488 | <info name="serial" value="21"/> |
| 1377 | 1489 | <part name="cart" interface="odyssey_cart"> |
| 1490 | <feature name="slot" value="o2_rom" /> | |
| 1378 | 1491 | <dataarea name="rom" size="2048"> |
| 1379 | 1492 | <rom name="secret of the pharaohs (europe).bin" size="2048" crc="7394e82c" sha1="9ff434312fa9d3b7b63909a9ece01d4e3e87f3b7" offset="0" /> |
| 1380 | 1493 | </dataarea> |
| r32574 | r32575 | |
| 1386 | 1499 | <year>198?</year> |
| 1387 | 1500 | <publisher>Philips</publisher> |
| 1388 | 1501 | <part name="cart" interface="odyssey_cart"> |
| 1502 | <feature name="slot" value="o2_rom" /> | |
| 1389 | 1503 | <dataarea name="rom" size="4096"> |
| 1390 | 1504 | <rom name="o segredo do farao (brazil).bin" size="4096" crc="16c574c8" sha1="ba42f5e642f5dc7be231bb0e230ffa77a766c805" offset="0" /> |
| 1391 | 1505 | </dataarea> |
| r32574 | r32575 | |
| 1398 | 1512 | <publisher>Philips</publisher> |
| 1399 | 1513 | <info name="developer" value="Graham Conduit" /> |
| 1400 | 1514 | <part name="cart" interface="odyssey_cart"> |
| 1515 | <feature name="slot" value="o2_rom" /> | |
| 1401 | 1516 | <dataarea name="rom" size="8192"> |
| 1402 | 1517 | <rom name="shark hunter (europe) (proto).bin" size="8192" crc="df36683f" sha1="eca31e4d8a9e198a8661f6b6e63b33c184e9b22b" offset="0" /> |
| 1403 | 1518 | </dataarea> |
| r32574 | r32575 | |
| 1411 | 1526 | <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" /> |
| 1412 | 1527 | <info name="serial" value="AC9400 (USA) ~ 1 (Euro)"/> |
| 1413 | 1528 | <part name="cart" interface="odyssey_cart"> |
| 1529 | <feature name="slot" value="o2_rom" /> | |
| 1414 | 1530 | <dataarea name="rom" size="2048"> |
| 1415 | 1531 | <rom name="speedway - spin-out - crypto-logic (usa, europe).bin" size="2048" crc="4eda4917" sha1="29d078f587be2afa4612800c64a5af72705e5681" offset="0" /> |
| 1416 | 1532 | </dataarea> |
| r32574 | r32575 | |
| 1423 | 1539 | <publisher>Radiola</publisher> |
| 1424 | 1540 | <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" /> |
| 1425 | 1541 | <part name="cart" interface="odyssey_cart"> |
| 1542 | <feature name="slot" value="o2_rom" /> | |
| 1426 | 1543 | <dataarea name="rom" size="2048"> |
| 1427 | 1544 | <rom name="course de voitures - autodrome - cryptogramme (france).bin" size="2048" crc="3b24e1ee" sha1="9e44ca9fc9e5def58c61b24274f0cbfb57d559ee" offset="0" /> |
| 1428 | 1545 | </dataarea> |
| r32574 | r32575 | |
| 1434 | 1551 | <year>198?</year> |
| 1435 | 1552 | <publisher>Parker Brothers</publisher> |
| 1436 | 1553 | <part name="cart" interface="odyssey_cart"> |
| 1554 | <feature name="slot" value="o2_rom" /> | |
| 1437 | 1555 | <dataarea name="rom" size="8192"> |
| 1438 | 1556 | <rom name="spider-man (europe) (proto).bin" size="8192" crc="35ace4e8" sha1="4b1d675cb1fbf72ed35681e2b2e6e99fed7154cd" offset="0" /> |
| 1439 | 1557 | </dataarea> |
| r32574 | r32575 | |
| 1447 | 1565 | <info name="programmer" value="Robert L. Cheezem" /> |
| 1448 | 1566 | <info name="serial" value="20"/> |
| 1449 | 1567 | <part name="cart" interface="odyssey_cart"> |
| 1568 | <feature name="slot" value="o2_rom" /> | |
| 1450 | 1569 | <dataarea name="rom" size="2048"> |
| 1451 | 1570 | <rom name="stone sling (europe).bin" size="2048" crc="44d1a8a5" sha1="50763429d12206d7bf9fad6a6bd6076a34d54b51" offset="0" /> |
| 1452 | 1571 | </dataarea> |
| r32574 | r32575 | |
| 1460 | 1579 | <info name="programmer" value="Robert L. Cheezem" /> |
| 1461 | 1580 | <info name="serial" value="AC9441"/> |
| 1462 | 1581 | <part name="cart" interface="odyssey_cart"> |
| 1582 | <feature name="slot" value="o2_rom" /> | |
| 1463 | 1583 | <dataarea name="rom" size="4096"> |
| 1464 | 1584 | <rom name="smithereens (usa).bin" size="4096" crc="67069924" sha1="fc798f3cf770e8bf5f9a4064b6a4ca66e5a4eb71" offset="0" /> |
| 1465 | 1585 | </dataarea> |
| r32574 | r32575 | |
| 1473 | 1593 | <info name="programmer" value="Mick Rouse" /> |
| 1474 | 1594 | <info name="serial" value="50"/> |
| 1475 | 1595 | <part name="cart" interface="odyssey_cart"> |
| 1596 | <feature name="slot" value="o2_rom" /> | |
| 1476 | 1597 | <dataarea name="rom" size="4096"> |
| 1477 | 1598 | <rom name="super bee (europe).bin" size="4096" crc="9585d511" sha1="dfcfd9c019773e703aa130bc55f5b2f972ece8f0" offset="0" /> |
| 1478 | 1599 | </dataarea> |
| r32574 | r32575 | |
| 1484 | 1605 | <year>1983</year> |
| 1485 | 1606 | <publisher>Philips</publisher> |
| 1486 | 1607 | <part name="cart" interface="odyssey_cart"> |
| 1608 | <feature name="slot" value="o2_rom" /> | |
| 1487 | 1609 | <dataarea name="rom" size="4096"> |
| 1488 | 1610 | <rom name="super bee (brazil).bin" size="4096" crc="02743352" sha1="98c1f3a9726fe1ba880d43f0ba004821c4cbec6c" offset="0" /> |
| 1489 | 1611 | </dataarea> |
| r32574 | r32575 | |
| 1495 | 1617 | <year>1983</year> |
| 1496 | 1618 | <publisher>Parker Brothers</publisher> |
| 1497 | 1619 | <part name="cart" interface="odyssey_cart"> |
| 1620 | <feature name="slot" value="o2_rom" /> | |
| 1498 | 1621 | <dataarea name="rom" size="8192"> |
| 1499 | 1622 | <rom name="super cobra (europe).bin" size="8192" crc="95936b07" sha1="5521ff83e3be32c38205472b2df49eb507249dc2" offset="0" /> |
| 1500 | 1623 | </dataarea> |
| r32574 | r32575 | |
| 1506 | 1629 | <year>1983</year> |
| 1507 | 1630 | <publisher>Parker Brothers</publisher> |
| 1508 | 1631 | <part name="cart" interface="odyssey_cart"> |
| 1632 | <feature name="slot" value="o2_rom" /> | |
| 1509 | 1633 | <dataarea name="rom" size="8192"> |
| 1510 | 1634 | <rom name="super cobra (brazil).bin" size="8192" crc="e58aa0ac" sha1="46716a927b902759bfe252022f84186098fb5863" offset="0" /> |
| 1511 | 1635 | </dataarea> |
| r32574 | r32575 | |
| 1519 | 1643 | <info name="programmer" value="Ed Averett"/> |
| 1520 | 1644 | <info name="serial" value="AJ9412 (USA) ~ 12 (Euro)"/> |
| 1521 | 1645 | <part name="cart" interface="odyssey_cart"> |
| 1646 | <feature name="slot" value="o2_rom" /> | |
| 1522 | 1647 | <dataarea name="rom" size="2048"> |
| 1523 | 1648 | <rom name="take the money and run (usa, europe).bin" size="2048" crc="11ff50ad" sha1="8c181f4835d53a358ecb8e4385e087ee942b4b4f" offset="0" /> |
| 1524 | 1649 | </dataarea> |
| r32574 | r32575 | |
| 1531 | 1656 | <publisher>Radiola</publisher> |
| 1532 | 1657 | <info name="programmer" value="Ed Averett"/> |
| 1533 | 1658 | <part name="cart" interface="odyssey_cart"> |
| 1659 | <feature name="slot" value="o2_rom" /> | |
| 1534 | 1660 | <dataarea name="rom" size="2048"> |
| 1535 | 1661 | <rom name="prendre l'argent et fuir (france).bin" size="2048" crc="ad89f799" sha1="2a55d179acfd9fe31b5f8f0ed0e2379b584f7c8a" offset="0" /> |
| 1536 | 1662 | </dataarea> |
| r32574 | r32575 | |
| 1543 | 1669 | <publisher>Philips (Euro) ~ Magnavox (USA)</publisher> |
| 1544 | 1670 | <info name="serial" value="AK9415 (USA) ~ 24 (Euro)"/> |
| 1545 | 1671 | <part name="cart" interface="odyssey_cart"> |
| 1672 | <feature name="slot" value="o2_rom" /> | |
| 1546 | 1673 | <dataarea name="rom" size="2048"> |
| 1547 | 1674 | <rom name="thunderball (usa, europe).bin" size="2048" crc="2c9d1715" sha1="d0070e12d6b0f406dab6e1fa550ab01509c9362e" offset="0" /> |
| 1548 | 1675 | </dataarea> |
| r32574 | r32575 | |
| 1554 | 1681 | <year>1980</year> |
| 1555 | 1682 | <publisher>Radiola</publisher> |
| 1556 | 1683 | <part name="cart" interface="odyssey_cart"> |
| 1684 | <feature name="slot" value="o2_rom" /> | |
| 1557 | 1685 | <dataarea name="rom" size="2048"> |
| 1558 | 1686 | <rom name="billard electrique (france).bin" size="2048" crc="54bf4750" sha1="d12a242d273c4f4417806c3bcd868a9a0f553854" offset="0" /> |
| 1559 | 1687 | </dataarea> |
| r32574 | r32575 | |
| 1567 | 1695 | <info name="programmer" value="Jim Butler" /> |
| 1568 | 1696 | <info name="serial" value="49"/> |
| 1569 | 1697 | <part name="cart" interface="odyssey_cart"> |
| 1698 | <feature name="slot" value="o2_rom" /> | |
| 1570 | 1699 | <dataarea name="rom" size="8192"> |
| 1571 | 1700 | <rom name="turtles (europe).bin" size="8192" crc="1c750349" sha1="1fdca749675f62212d0b79c5f0911bcabc4e4e11" offset="0" /> |
| 1572 | 1701 | </dataarea> |
| r32574 | r32575 | |
| 1580 | 1709 | <info name="programmer" value="Jim Butler" /> |
| 1581 | 1710 | <info name="serial" value="AC9446"/> |
| 1582 | 1711 | <part name="cart" interface="odyssey_cart"> |
| 1712 | <feature name="slot" value="o2_rom" /> | |
| 1583 | 1713 | <dataarea name="rom" size="8192"> |
| 1584 | 1714 | <rom name="turtles (usa).bin" size="8192" crc="9e42e766" sha1="ee456305397ecbd54fffa0bb7a894f53976d2a7c" offset="0" /> |
| 1585 | 1715 | </dataarea> |
| r32574 | r32575 | |
| 1592 | 1722 | <publisher>Parker Brothers</publisher> |
| 1593 | 1723 | <info name="programmer" value="Gil Williamson and Charles Dear" /> |
| 1594 | 1724 | <part name="cart" interface="odyssey_cart"> |
| 1725 | <feature name="slot" value="o2_rom" /> | |
| 1595 | 1726 | <dataarea name="rom" size="8192"> |
| 1596 | 1727 | <rom name="tutankham (europe) (proto).bin" size="8192" crc="0b2deb61" sha1="c4985a344be7da3d78656b6473a3a1ad3ebe6497" offset="0" /> |
| 1597 | 1728 | </dataarea> |
| r32574 | r32575 | |
| 1605 | 1736 | <info name="programmer" value="Ed Averett" /> |
| 1606 | 1737 | <info name="serial" value="AA9422 (USA) ~ 28 (Euro)"/> |
| 1607 | 1738 | <part name="cart" interface="odyssey_cart"> |
| 1739 | <feature name="slot" value="o2_rom" /> | |
| 1608 | 1740 | <dataarea name="rom" size="2048"> |
| 1609 | 1741 | <rom name="volleyball (usa, europe).bin" size="2048" crc="d3b09fec" sha1="830c9b3628f2e9c4f8c882024dd912b9d7610765" offset="0" /> |
| 1610 | 1742 | </dataarea> |
| r32574 | r32575 | |
| 1617 | 1749 | <publisher>Radiola</publisher> |
| 1618 | 1750 | <info name="programmer" value="Ed Averett" /> |
| 1619 | 1751 | <part name="cart" interface="odyssey_cart"> |
| 1752 | <feature name="slot" value="o2_rom" /> | |
| 1620 | 1753 | <dataarea name="rom" size="2048"> |
| 1621 | 1754 | <rom name="volleyball electronique (france).bin" size="2048" crc="551e38a2" sha1="9ea8d921ca03699f74e53e25b139632391838c7d" offset="0" /> |
| 1622 | 1755 | </dataarea> |
| r32574 | r32575 | |
| 1630 | 1763 | <info name="serial" value="AK9417 (USA) ~ 30 (Euro)"/> |
| 1631 | 1764 | <info name="programmer" value="Ed Averett" /> |
| 1632 | 1765 | <part name="cart" interface="odyssey_cart"> |
| 1766 | <feature name="slot" value="o2_rom" /> | |
| 1633 | 1767 | <dataarea name="rom" size="2048"> |
| 1634 | 1768 | <rom name="war of nerves (usa, europe).bin" size="2048" crc="58fa6766" sha1="e56b674c832e5a7cad977cc76779548fdd2f338e" offset="0" /> |
| 1635 | 1769 | </dataarea> |
| 1636 | 1770 | </part> |
| 1637 | 1771 | </software> |
| 1772 | ||
| 1773 | ||
| 1774 | <software name="voice"> | |
| 1775 | <description>The Voice</description> | |
| 1776 | <year>1979?</year> | |
| 1777 | <publisher>Magnavox</publisher> | |
| 1778 | <part name="cart" interface="odyssey_cart"> | |
| 1779 | <feature name="slot" value="o2_voice" /> | |
| 1780 | <dataarea name="rom" size="2048"> | |
| 1781 | </dataarea> | |
| 1782 | </part> | |
| 1783 | </software> | |
| 1638 | 1784 | </softwarelist> |
| r32574 | r32575 | |
|---|---|---|
| 43 | 43 | <publisher>Phillips</publisher> |
| 44 | 44 | <info name="serial" value="58"/> |
| 45 | 45 | <part name="cart" interface="odyssey_cart"> |
| 46 | <feature name="slot" value="o2_rom12" /> | |
| 46 | 47 | <dataarea name="rom" size="12288"> |
| 47 | 48 | <rom name="air battle (europe).bin" size="12288" crc="d94d4109" sha1="66837bbd0b9df12c89215f533a1ec8b5a42d5610" offset="0"/> |
| 48 | 49 | </dataarea> |
| r32574 | r32575 | |
| 56 | 57 | <info name="programmer" value="Mick Rouse"/> |
| 57 | 58 | <info name="serial" value="48"/> |
| 58 | 59 | <part name="cart" interface="odyssey_cart"> |
| 60 | <feature name="slot" value="o2_rom" /> | |
| 59 | 61 | <dataarea name="rom" size="8192"> |
| 60 | 62 | <rom name="backgammon (europe).bin" size="8192" crc="9d2c45dc" sha1="bcb420dc1cc6fa5cf13dc46c546145953fb11643" offset="0"/> |
| 61 | 63 | </dataarea> |
| r32574 | r32575 | |
| 69 | 71 | <info name="programmer" value="Ed Averett"/> |
| 70 | 72 | <info name="serial" value="JXA D03"/> |
| 71 | 73 | <part name="cart" interface="odyssey_cart"> |
| 74 | <feature name="slot" value="o2_rom" /> | |
| 72 | 75 | <dataarea name="rom" size="8192"> |
| 73 | 76 | <rom name="billiard americain (france).bin" size="8192" crc="4cec1404" sha1="004ea921b691db6b310f5b51c495df9b86be3aa8" offset="0"/> |
| 74 | 77 | </dataarea> |
| r32574 | r32575 | |
| 81 | 84 | <publisher>Phillips</publisher> |
| 82 | 85 | <info name="programmer" value="Ed Averett"/> |
| 83 | 86 | <part name="cart" interface="odyssey_cart"> |
| 87 | <feature name="slot" value="o2_rom" /> | |
| 84 | 88 | <dataarea name="rom" size="8192"> |
| 85 | 89 | <rom name="billiard (europe).bin" size="8192" crc="3c949a57" sha1="4c7f1dc569e9abe829e36dbe42d91d39419bfd60" offset="0"/> |
| 86 | 90 | </dataarea> |
| r32574 | r32575 | |
| 92 | 96 | <year>198?</year> |
| 93 | 97 | <publisher>Jopac</publisher> |
| 94 | 98 | <part name="cart" interface="odyssey_cart"> |
| 99 | <feature name="slot" value="o2_rom" /> | |
| 95 | 100 | <dataarea name="rom" size="8192"> |
| 96 | 101 | <rom name="billard electrique (france).bin" size="8192" crc="ac5c74e6" sha1="215439c1044b93888b71bd6a210ebfda93d97c22" offset="0"/> |
| 97 | 102 | </dataarea> |
| r32574 | r32575 | |
| 103 | 108 | <year>198?</year> |
| 104 | 109 | <publisher>Jopac</publisher> |
| 105 | 110 | <part name="cart" interface="odyssey_cart"> |
| 111 | <feature name="slot" value="o2_rom" /> | |
| 106 | 112 | <dataarea name="rom" size="8192"> |
| 107 | 113 | <rom name="flipper (europe).bin" size="8192" crc="2fce9245" sha1="6510b54e3e9bf9bc7ae558d1d16fa73294701ddb" offset="0"/> |
| 108 | 114 | </dataarea> |
| r32574 | r32575 | |
| 114 | 120 | <year>198?</year> |
| 115 | 121 | <publisher>Phillips</publisher> |
| 116 | 122 | <part name="cart" interface="odyssey_cart"> |
| 123 | <feature name="slot" value="o2_rom" /> | |
| 117 | 124 | <dataarea name="rom" size="8192"> |
| 118 | 125 | <rom name="clay pigeon (europe).bin" size="8192" crc="6fabcb7e" sha1="3f6dbef6bf13427a52f4f7324d9c33cfce52adb0" offset="0"/> |
| 119 | 126 | </dataarea> |
| r32574 | r32575 | |
| 125 | 132 | <year>1983</year> |
| 126 | 133 | <publisher>Phillips</publisher> |
| 127 | 134 | <part name="cart" interface="odyssey_cart"> |
| 135 | <feature name="slot" value="o2_rom" /> | |
| 128 | 136 | <dataarea name="rom" size="8192"> |
| 129 | 137 | <rom name="cosmic conflict (europe).bin" size="8192" crc="a8dbed92" sha1="99932be5496a0daa7dffc70c7a3ab85bfa726043" offset="0"/> |
| 130 | 138 | </dataarea> |
| r32574 | r32575 | |
| 136 | 144 | <year>1983</year> |
| 137 | 145 | <publisher>Jopac</publisher> |
| 138 | 146 | <part name="cart" interface="odyssey_cart"> |
| 147 | <feature name="slot" value="o2_rom" /> | |
| 139 | 148 | <dataarea name="rom" size="8192"> |
| 140 | 149 | <rom name="course de voitures - autodrome - cryptogramme (france).bin" size="8192" crc="9bc04ebb" sha1="e69e524eba10976310333787eafef1d18da6d568" offset="0"/> |
| 141 | 150 | </dataarea> |
| r32574 | r32575 | |
| 147 | 156 | <year>198?</year> |
| 148 | 157 | <publisher>Radiola</publisher> |
| 149 | 158 | <part name="cart" interface="odyssey_cart"> |
| 159 | <feature name="slot" value="o2_rom" /> | |
| 150 | 160 | <dataarea name="rom" size="8192"> |
| 151 | 161 | <rom name="demon attack (france).bin" size="8192" crc="50af9d45" sha1="cfd1337c8d5a40f2f4e1ab49158a8963764919da" offset="0"/> |
| 152 | 162 | </dataarea> |
| r32574 | r32575 | |
| 158 | 168 | <year>198?</year> |
| 159 | 169 | <publisher>Jopac</publisher> |
| 160 | 170 | <part name="cart" interface="odyssey_cart"> |
| 171 | <feature name="slot" value="o2_rom" /> | |
| 161 | 172 | <dataarea name="rom" size="8192"> |
| 162 | 173 | <rom name="exojet (france).bin" size="8192" crc="cfca6f39" sha1="8aafcd055a2ef45c3d85804c8a3ea04d9a9732ab" offset="0"/> |
| 163 | 174 | </dataarea> |
| r32574 | r32575 | |
| 170 | 181 | <year>2004</year> |
| 171 | 182 | <publisher>Phillips</publisher> |
| 172 | 183 | <part name="cart" interface="odyssey_cart"> |
| 184 | <feature name="slot" value="o2_rom" /> | |
| 173 | 185 | <dataarea name="rom" size="8192"> |
| 174 | 186 | <rom name="flashpoint (usa)(proto)(pal conversion).bin" size="8192" crc="06861a9c" sha1="6810ccc1508244216860271417a866618a731ae2" offset="0"/> |
| 175 | 187 | </dataarea> |
| r32574 | r32575 | |
| 181 | 193 | <year>198?</year> |
| 182 | 194 | <publisher>Phillips</publisher> |
| 183 | 195 | <part name="cart" interface="odyssey_cart"> |
| 196 | <feature name="slot" value="o2_rom" /> | |
| 184 | 197 | <dataarea name="rom" size="8192"> |
| 185 | 198 | <rom name="freedom fighters (europe).bin" size="8192" crc="1931f5c5" sha1="3f8d6cd5bed5244b400c69640065c77ec103a6cd" offset="0"/> |
| 186 | 199 | </dataarea> |
| r32574 | r32575 | |
| 192 | 205 | <year>198?</year> |
| 193 | 206 | <publisher>Radiola</publisher> |
| 194 | 207 | <part name="cart" interface="odyssey_cart"> |
| 208 | <feature name="slot" value="o2_rom" /> | |
| 195 | 209 | <dataarea name="rom" size="8192"> |
| 196 | 210 | <rom name="guerre de l'espace (france).bin" size="8192" crc="105231f8" sha1="9220dc32d3bb9225292f3e709d1320b9b1052140" offset="0"/> |
| 197 | 211 | </dataarea> |
| r32574 | r32575 | |
| 204 | 218 | <publisher>Phillips</publisher> |
| 205 | 219 | <info name="serial" value="59"/> |
| 206 | 220 | <part name="cart" interface="odyssey_cart"> |
| 221 | <feature name="slot" value="o2_rom16" /> | |
| 207 | 222 | <dataarea name="rom" size="16384"> |
| 208 | 223 | <rom name="helicopter rescue (europe).bin" size="16384" crc="c4134df8" sha1="7369a2d3fb81ddc4c8086bbcd245c11ea7aaa331" offset="0"/> |
| 209 | 224 | </dataarea> |
| r32574 | r32575 | |
| 215 | 230 | <year>198?</year> |
| 216 | 231 | <publisher>Jopac</publisher> |
| 217 | 232 | <part name="cart" interface="odyssey_cart"> |
| 233 | <feature name="slot" value="o2_rom" /> | |
| 218 | 234 | <dataarea name="rom" size="8192"> |
| 219 | 235 | <rom name="basket - bowling + (france).bin" size="8192" crc="b5fb1416" sha1="c341ed24346546b75de2ab24af1a9223ca2d1aac" offset="0"/> |
| 220 | 236 | </dataarea> |
| r32574 | r32575 | |
| 225 | 241 | <year>198?</year> |
| 226 | 242 | <publisher>Phillips</publisher> |
| 227 | 243 | <part name="cart" interface="odyssey_cart"> |
| 244 | <feature name="slot" value="o2_rom" /> | |
| 228 | 245 | <dataarea name="rom" size="8192"> |
| 229 | 246 | <rom name="tenpin bowling - basketball (europe).bin" size="8192" crc="e5fb4260" sha1="29d5c9b252e65d257f1472e343039ed8c47eeb05" offset="0"/> |
| 230 | 247 | </dataarea> |
| r32574 | r32575 | |
| 236 | 253 | <year>198?</year> |
| 237 | 254 | <publisher>Phillips</publisher> |
| 238 | 255 | <part name="cart" interface="odyssey_cart"> |
| 256 | <feature name="slot" value="o2_rom" /> | |
| 239 | 257 | <dataarea name="rom" size="8192"> |
| 240 | 258 | <rom name="killer bees (europe).bin" size="8192" crc="dee70b33" sha1="9253586337917bda0b7c43dbb251999b6c974f30" offset="0"/> |
| 241 | 259 | </dataarea> |
| r32574 | r32575 | |
| 248 | 266 | <publisher>Phillips</publisher> |
| 249 | 267 | <info name="serial" value="54"/> |
| 250 | 268 | <part name="cart" interface="odyssey_cart"> |
| 269 | <feature name="slot" value="o2_rom" /> | |
| 251 | 270 | <dataarea name="rom" size="8192"> |
| 252 | 271 | <rom name="loony balloon (europe).bin" size="8192" crc="b932d584" sha1="8dd1cba7ce6622aaf5e1b432ab8d47e395d211f2" offset="0"/> |
| 253 | 272 | </dataarea> |
| r32574 | r32575 | |
| 259 | 278 | <year>198?</year> |
| 260 | 279 | <publisher>Radiola</publisher> |
| 261 | 280 | <part name="cart" interface="odyssey_cart"> |
| 281 | <feature name="slot" value="o2_rom" /> | |
| 262 | 282 | <dataarea name="rom" size="8192"> |
| 263 | 283 | <rom name="moto-crash (france).bin" size="8192" crc="68560dc7" sha1="f6de2f95e5cf4849a4d7071b1a470c3ef0634e5f" offset="0"/> |
| 264 | 284 | </dataarea> |
| r32574 | r32575 | |
| 271 | 291 | <publisher>Phillips</publisher> |
| 272 | 292 | <info name="serial" value="55"/> |
| 273 | 293 | <part name="cart" interface="odyssey_cart"> |
| 294 | <feature name="slot" value="o2_rom12" /> | |
| 274 | 295 | <dataarea name="rom" size="12288"> |
| 275 | 296 | <rom name="neutron star (europe).bin" size="12288" crc="be11157c" sha1="fde3e0791b9cbef91a8462764ebf09a457ffe038" offset="0"/> |
| 276 | 297 | </dataarea> |
| r32574 | r32575 | |
| 283 | 304 | <publisher>Phillips</publisher> |
| 284 | 305 | <info name="serial" value="53"/> |
| 285 | 306 | <part name="cart" interface="odyssey_cart"> |
| 307 | <feature name="slot" value="o2_rom" /> | |
| 286 | 308 | <dataarea name="rom" size="8192"> |
| 287 | 309 | <rom name="nightmare (europe).bin" size="8192" crc="26b0ff5b" sha1="c8988f13c2af7632de6ef326ed617279bf6c8221" offset="0"/> |
| 288 | 310 | </dataarea> |
| r32574 | r32575 | |
| 296 | 318 | <info name="programmer" value="Andy Eltisand Jake Dowding"/> |
| 297 | 319 | <info name="serial" value="57"/> |
| 298 | 320 | <part name="cart" interface="odyssey_cart"> |
| 321 | <feature name="slot" value="o2_rom" /> | |
| 299 | 322 | <dataarea name="rom" size="8192"> |
| 300 | 323 | <rom name="norseman (europe).bin" size="8192" crc="a75c42f8" sha1="8e8fe23225631eef673517f3e2970eade15b7a5c" offset="0"/> |
| 301 | 324 | </dataarea> |
| r32574 | r32575 | |
| 307 | 330 | <year>198?</year> |
| 308 | 331 | <publisher>Phillips</publisher> |
| 309 | 332 | <part name="cart" interface="odyssey_cart"> |
| 333 | <feature name="slot" value="o2_rom" /> | |
| 310 | 334 | <dataarea name="rom" size="8192"> |
| 311 | 335 | <rom name="pickaxe pete (europe).bin" size="8192" crc="b2ffb353" sha1="182829b4cd5184ab3705d26f75e3d8c497b5abf6" offset="0"/> |
| 312 | 336 | </dataarea> |
| r32574 | r32575 | |
| 318 | 342 | <year>1983</year> |
| 319 | 343 | <publisher>Phillips</publisher> |
| 320 | 344 | <part name="cart" interface="odyssey_cart"> |
| 345 | <feature name="slot" value="o2_rom" /> | |
| 321 | 346 | <dataarea name="rom" size="8192"> |
| 322 | 347 | <rom name="race - spin-out - cryptogram (europe).bin" size="8192" crc="ee3ee642" sha1="69a73208c0c0a6d1b879e62d0ccf3a5a534510bd" offset="0"/> |
| 323 | 348 | </dataarea> |
| r32574 | r32575 | |
| 329 | 354 | <year>198?</year> |
| 330 | 355 | <publisher>Radiola</publisher> |
| 331 | 356 | <part name="cart" interface="odyssey_cart"> |
| 357 | <feature name="slot" value="o2_rom" /> | |
| 332 | 358 | <dataarea name="rom" size="8192"> |
| 333 | 359 | <rom name="la ruche infernale (france).bin" size="8192" crc="20e2f7be" sha1="34f91468bf42b26eb237af342164043c16d173ca" offset="0"/> |
| 334 | 360 | </dataarea> |
| r32574 | r32575 | |
| 340 | 366 | <year>198?</year> |
| 341 | 367 | <publisher>Phillips</publisher> |
| 342 | 368 | <part name="cart" interface="odyssey_cart"> |
| 369 | <feature name="slot" value="o2_rom" /> | |
| 343 | 370 | <dataarea name="rom" size="8192"> |
| 344 | 371 | <rom name="satellite attack (europe).bin" size="8192" crc="b4735e6b" sha1="8bec213886d026040ed2037f01e8e9f81fa395b9" offset="0"/> |
| 345 | 372 | </dataarea> |
| r32574 | r32575 | |
| 351 | 378 | <year>198?</year> |
| 352 | 379 | <publisher>Phillips</publisher> |
| 353 | 380 | <part name="cart" interface="odyssey_cart"> |
| 381 | <feature name="slot" value="o2_rom" /> | |
| 354 | 382 | <dataarea name="rom" size="8192"> |
| 355 | 383 | <rom name="stone sling (europe).bin" size="8192" crc="2391c2fb" sha1="d358fcc6a0fa6469d7063114aa0dc143af14e3e9" offset="0"/> |
| 356 | 384 | </dataarea> |
| r32574 | r32575 | |
| 362 | 390 | <year>198?</year> |
| 363 | 391 | <publisher>Phillips</publisher> |
| 364 | 392 | <part name="cart" interface="odyssey_cart"> |
| 393 | <feature name="slot" value="o2_rom" /> | |
| 365 | 394 | <dataarea name="rom" size="8192"> |
| 366 | 395 | <rom name="terrahawks (europe).bin" size="8192" crc="764894a1" sha1="0c01df9799b6d0235fef3c86fec1beac5b0b2d74" offset="0"/> |
| 367 | 396 | </dataarea> |
| r32574 | r32575 | |
| 373 | 402 | <year>198?</year> |
| 374 | 403 | <publisher>Phillips</publisher> |
| 375 | 404 | <part name="cart" interface="odyssey_cart"> |
| 405 | <feature name="slot" value="o2_rom16" /> | |
| 376 | 406 | <dataarea name="rom" size="16384"> |
| 377 | 407 | <rom name="trans american rally (europe).bin" size="16384" crc="0d2d721d" sha1="be8a9f2aa66acb4f5e288d1a77afada9565b530a" offset="0"/> |
| 378 | 408 | </dataarea> |
| r32574 | r32575 | |
| 384 | 414 | <year>198?</year> |
| 385 | 415 | <publisher>Radiola</publisher> |
| 386 | 416 | <part name="cart" interface="odyssey_cart"> |
| 417 | <feature name="slot" value="o2_rom" /> | |
| 387 | 418 | <dataarea name="rom" size="8192"> |
| 388 | 419 | <rom name="le tresor englouti (france).bin" size="8192" crc="b2f0f0b4" sha1="c0fcaef6a18026e0acc04c3d48443d768043cb03" offset="0"/> |
| 389 | 420 | </dataarea> |
| r32574 | r32575 | |
|---|---|---|
| 545 | 545 | |
| 546 | 546 | #------------------------------------------------- |
| 547 | 547 | # |
| 548 | #@src/emu/bus/odyssey2/slot.h,BUSES += O2 | |
| 549 | #------------------------------------------------- | |
| 550 | ||
| 551 | ifneq ($(filter O2,$(BUSES)),) | |
| 552 | OBJDIRS += $(BUSOBJ)/odyssey2 | |
| 553 | BUSOBJS += $(BUSOBJ)/odyssey2/slot.o | |
| 554 | BUSOBJS += $(BUSOBJ)/odyssey2/rom.o | |
| 555 | BUSOBJS += $(BUSOBJ)/odyssey2/chess.o | |
| 556 | BUSOBJS += $(BUSOBJ)/odyssey2/voice.o | |
| 557 | endif | |
| 558 | ||
| 559 | ||
| 560 | #------------------------------------------------- | |
| 561 | # | |
| 548 | 562 | #@src/emu/bus/pc_joy/pc_joy.h,BUSES += PC_JOY |
| 549 | 563 | #------------------------------------------------- |
| 550 | 564 |
| r0 | r32575 | |
|---|---|---|
| 1 | /*********************************************************************************************************** | |
| 2 | ||
| 3 | Magnavox Odyssey 2 cart emulation | |
| 4 | (through slot devices) | |
| 5 | ||
| 6 | ***********************************************************************************************************/ | |
| 7 | ||
| 8 | ||
| 9 | #include "emu.h" | |
| 10 | #include "slot.h" | |
| 11 | ||
| 12 | //************************************************************************** | |
| 13 | // GLOBAL VARIABLES | |
| 14 | //************************************************************************** | |
| 15 | ||
| 16 | const device_type O2_CART_SLOT = &device_creator<o2_cart_slot_device>; | |
| 17 | ||
| 18 | //************************************************************************** | |
| 19 | // Odyssey 2 Cartridges Interface | |
| 20 | //************************************************************************** | |
| 21 | ||
| 22 | //------------------------------------------------- | |
| 23 | // device_o2_cart_interface - constructor | |
| 24 | //------------------------------------------------- | |
| 25 | ||
| 26 | device_o2_cart_interface::device_o2_cart_interface(const machine_config &mconfig, device_t &device) | |
| 27 | : device_slot_card_interface(mconfig, device), | |
| 28 | m_rom(NULL), | |
| 29 | m_rom_size(0) | |
| 30 | { | |
| 31 | } | |
| 32 | ||
| 33 | ||
| 34 | //------------------------------------------------- | |
| 35 | // ~device_o2_cart_interface - destructor | |
| 36 | //------------------------------------------------- | |
| 37 | ||
| 38 | device_o2_cart_interface::~device_o2_cart_interface() | |
| 39 | { | |
| 40 | } | |
| 41 | ||
| 42 | //------------------------------------------------- | |
| 43 | // rom_alloc - alloc the space for the cart | |
| 44 | //------------------------------------------------- | |
| 45 | ||
| 46 | void device_o2_cart_interface::rom_alloc(UINT32 size, const char *tag) | |
| 47 | { | |
| 48 | if (m_rom == NULL) | |
| 49 | { | |
| 50 | astring tempstring(tag); | |
| 51 | tempstring.cat(O2SLOT_ROM_REGION_TAG); | |
| 52 | m_rom = device().machine().memory().region_alloc(tempstring, size, 1, ENDIANNESS_LITTLE)->base(); | |
| 53 | m_rom_size = size; | |
| 54 | } | |
| 55 | } | |
| 56 | ||
| 57 | ||
| 58 | //------------------------------------------------- | |
| 59 | // ram_alloc - alloc the space for the ram | |
| 60 | //------------------------------------------------- | |
| 61 | ||
| 62 | void device_o2_cart_interface::ram_alloc(UINT32 size) | |
| 63 | { | |
| 64 | m_ram.resize(size); | |
| 65 | } | |
| 66 | ||
| 67 | ||
| 68 | //************************************************************************** | |
| 69 | // LIVE DEVICE | |
| 70 | //************************************************************************** | |
| 71 | ||
| 72 | //------------------------------------------------- | |
| 73 | // o2_cart_slot_device - constructor | |
| 74 | //------------------------------------------------- | |
| 75 | o2_cart_slot_device::o2_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 76 | device_t(mconfig, O2_CART_SLOT, "Odyssey 2 Cartridge Slot", tag, owner, clock, "o2_cart_slot", __FILE__), | |
| 77 | device_image_interface(mconfig, *this), | |
| 78 | device_slot_interface(mconfig, *this), | |
| 79 | m_type(O2_STD) | |
| 80 | { | |
| 81 | } | |
| 82 | ||
| 83 | ||
| 84 | //------------------------------------------------- | |
| 85 | // o2_cart_slot_device - destructor | |
| 86 | //------------------------------------------------- | |
| 87 | ||
| 88 | o2_cart_slot_device::~o2_cart_slot_device() | |
| 89 | { | |
| 90 | } | |
| 91 | ||
| 92 | //------------------------------------------------- | |
| 93 | // device_start - device-specific startup | |
| 94 | //------------------------------------------------- | |
| 95 | ||
| 96 | void o2_cart_slot_device::device_start() | |
| 97 | { | |
| 98 | m_cart = dynamic_cast<device_o2_cart_interface *>(get_card_device()); | |
| 99 | } | |
| 100 | ||
| 101 | //------------------------------------------------- | |
| 102 | // device_config_complete - perform any | |
| 103 | // operations now that the configuration is | |
| 104 | // complete | |
| 105 | //------------------------------------------------- | |
| 106 | ||
| 107 | void o2_cart_slot_device::device_config_complete() | |
| 108 | { | |
| 109 | // set brief and instance name | |
| 110 | update_names(); | |
| 111 | } | |
| 112 | ||
| 113 | ||
| 114 | //------------------------------------------------- | |
| 115 | // O2 PCB | |
| 116 | //------------------------------------------------- | |
| 117 | ||
| 118 | struct o2_slot | |
| 119 | { | |
| 120 | int pcb_id; | |
| 121 | const char *slot_option; | |
| 122 | }; | |
| 123 | ||
| 124 | // Here, we take the feature attribute from .xml (i.e. the PCB name) and we assign a unique ID to it | |
| 125 | static const o2_slot slot_list[] = | |
| 126 | { | |
| 127 | { O2_STD, "o2_rom" }, | |
| 128 | { O2_ROM12, "o2_rom12" }, | |
| 129 | { O2_ROM16, "o2_rom16" }, | |
| 130 | { O2_CHESS, "o2_chess" }, | |
| 131 | { O2_VOICE, "o2_voice" } | |
| 132 | }; | |
| 133 | ||
| 134 | static int o2_get_pcb_id(const char *slot) | |
| 135 | { | |
| 136 | for (int i = 0; i < ARRAY_LENGTH(slot_list); i++) | |
| 137 | { | |
| 138 | if (!core_stricmp(slot_list[i].slot_option, slot)) | |
| 139 | return slot_list[i].pcb_id; | |
| 140 | } | |
| 141 | ||
| 142 | return 0; | |
| 143 | } | |
| 144 | ||
| 145 | static const char *o2_get_slot(int type) | |
| 146 | { | |
| 147 | for (int i = 0; i < ARRAY_LENGTH(slot_list); i++) | |
| 148 | { | |
| 149 | if (slot_list[i].pcb_id == type) | |
| 150 | return slot_list[i].slot_option; | |
| 151 | } | |
| 152 | ||
| 153 | return "o2_rom"; | |
| 154 | } | |
| 155 | ||
| 156 | ||
| 157 | /*------------------------------------------------- | |
| 158 | call load | |
| 159 | -------------------------------------------------*/ | |
| 160 | ||
| 161 | bool o2_cart_slot_device::call_load() | |
| 162 | { | |
| 163 | if (m_cart) | |
| 164 | { | |
| 165 | UINT32 size = (software_entry() == NULL) ? length() : get_software_region_length("rom"); | |
| 166 | m_cart->rom_alloc(size, tag()); | |
| 167 | ||
| 168 | if (software_entry() == NULL) | |
| 169 | fread(m_cart->get_rom_base(), size); | |
| 170 | else | |
| 171 | memcpy(m_cart->get_rom_base(), get_software_region("rom"), size); | |
| 172 | ||
| 173 | if (software_entry() == NULL) | |
| 174 | { | |
| 175 | m_type = O2_STD; | |
| 176 | if (size == 12288) | |
| 177 | m_type = O2_ROM12; | |
| 178 | if (size == 16384) | |
| 179 | m_type = O2_ROM16; | |
| 180 | } | |
| 181 | else | |
| 182 | { | |
| 183 | const char *pcb_name = get_feature("slot"); | |
| 184 | if (pcb_name) | |
| 185 | m_type = o2_get_pcb_id(pcb_name); | |
| 186 | } | |
| 187 | ||
| 188 | //printf("Type: %s\n", o2_get_slot(m_type)); | |
| 189 | ||
| 190 | return IMAGE_INIT_PASS; | |
| 191 | } | |
| 192 | ||
| 193 | return IMAGE_INIT_PASS; | |
| 194 | } | |
| 195 | ||
| 196 | ||
| 197 | /*------------------------------------------------- | |
| 198 | call softlist load | |
| 199 | -------------------------------------------------*/ | |
| 200 | ||
| 201 | bool o2_cart_slot_device::call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) | |
| 202 | { | |
| 203 | load_software_part_region(*this, swlist, swname, start_entry); | |
| 204 | return TRUE; | |
| 205 | } | |
| 206 | ||
| 207 | ||
| 208 | /*------------------------------------------------- | |
| 209 | get default card software | |
| 210 | -------------------------------------------------*/ | |
| 211 | ||
| 212 | void o2_cart_slot_device::get_default_card_software(astring &result) | |
| 213 | { | |
| 214 | if (open_image_file(mconfig().options())) | |
| 215 | { | |
| 216 | const char *slot_string = "o2_rom"; | |
| 217 | UINT32 size = core_fsize(m_file); | |
| 218 | int type = O2_STD; | |
| 219 | ||
| 220 | if (size == 12288) | |
| 221 | type = O2_ROM12; | |
| 222 | if (size == 16384) | |
| 223 | type = O2_ROM16; | |
| 224 | ||
| 225 | slot_string = o2_get_slot(type); | |
| 226 | ||
| 227 | //printf("type: %s\n", slot_string); | |
| 228 | clear(); | |
| 229 | ||
| 230 | result.cpy(slot_string); | |
| 231 | return; | |
| 232 | } | |
| 233 | ||
| 234 | software_get_default_slot(result, "o2_rom"); | |
| 235 | } | |
| 236 | ||
| 237 | /*------------------------------------------------- | |
| 238 | read_rom** | |
| 239 | -------------------------------------------------*/ | |
| 240 | ||
| 241 | READ8_MEMBER(o2_cart_slot_device::read_rom04) | |
| 242 | { | |
| 243 | if (m_cart) | |
| 244 | return m_cart->read_rom04(space, offset); | |
| 245 | else | |
| 246 | return 0xff; | |
| 247 | } | |
| 248 | ||
| 249 | READ8_MEMBER(o2_cart_slot_device::read_rom0c) | |
| 250 | { | |
| 251 | if (m_cart) | |
| 252 | return m_cart->read_rom0c(space, offset); | |
| 253 | else | |
| 254 | return 0xff; | |
| 255 | } | |
| 256 | ||
| 257 | /*------------------------------------------------- | |
| 258 | io_write | |
| 259 | -------------------------------------------------*/ | |
| 260 | ||
| 261 | WRITE8_MEMBER(o2_cart_slot_device::io_write) | |
| 262 | { | |
| 263 | if (m_cart) | |
| 264 | m_cart->io_write(space, offset, data); | |
| 265 | } | |
| 266 | ||
| 267 | ||
| 268 | #include "bus/odyssey2/rom.h" | |
| 269 | #include "bus/odyssey2/chess.h" | |
| 270 | #include "bus/odyssey2/voice.h" | |
| 271 | ||
| 272 | SLOT_INTERFACE_START(o2_cart) | |
| 273 | SLOT_INTERFACE_INTERNAL("o2_rom", O2_ROM_STD) | |
| 274 | SLOT_INTERFACE_INTERNAL("o2_rom12", O2_ROM_12K) | |
| 275 | SLOT_INTERFACE_INTERNAL("o2_rom16", O2_ROM_16K) | |
| 276 | SLOT_INTERFACE_INTERNAL("o2_chess", O2_ROM_CHESS) | |
| 277 | SLOT_INTERFACE_INTERNAL("o2_voice", O2_ROM_VOICE) | |
| 278 | SLOT_INTERFACE_END | |
| 279 |
| Added: svn:eol-style + native Added: svn:mime-type + text/plain |
| r0 | r32575 | |
|---|---|---|
| 1 | #ifndef __O2_ROM_H | |
| 2 | #define __O2_ROM_H | |
| 3 | ||
| 4 | #include "slot.h" | |
| 5 | ||
| 6 | ||
| 7 | // ======================> o2_rom_device | |
| 8 | ||
| 9 | class o2_rom_device : public device_t, | |
| 10 | public device_o2_cart_interface | |
| 11 | { | |
| 12 | public: | |
| 13 | // construction/destruction | |
| 14 | o2_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); | |
| 15 | o2_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 16 | ||
| 17 | // device-level overrides | |
| 18 | virtual void device_start(); | |
| 19 | virtual void device_reset(); | |
| 20 | ||
| 21 | // reading and writing | |
| 22 | virtual DECLARE_READ8_MEMBER(read_rom04); | |
| 23 | virtual DECLARE_READ8_MEMBER(read_rom0c); | |
| 24 | ||
| 25 | virtual void write_bank(int bank); | |
| 26 | ||
| 27 | protected: | |
| 28 | int m_bank_base; | |
| 29 | }; | |
| 30 | ||
| 31 | // ======================> o2_rom12_device | |
| 32 | ||
| 33 | class o2_rom12_device : public o2_rom_device | |
| 34 | { | |
| 35 | public: | |
| 36 | // construction/destruction | |
| 37 | o2_rom12_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 38 | ||
| 39 | // reading and writing | |
| 40 | virtual DECLARE_READ8_MEMBER(read_rom04); | |
| 41 | virtual DECLARE_READ8_MEMBER(read_rom0c); | |
| 42 | }; | |
| 43 | ||
| 44 | // ======================> o2_rom16_device | |
| 45 | ||
| 46 | class o2_rom16_device : public o2_rom_device | |
| 47 | { | |
| 48 | public: | |
| 49 | // construction/destruction | |
| 50 | o2_rom16_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 51 | ||
| 52 | // reading and writing | |
| 53 | virtual DECLARE_READ8_MEMBER(read_rom04); | |
| 54 | virtual DECLARE_READ8_MEMBER(read_rom0c); | |
| 55 | }; | |
| 56 | ||
| 57 | ||
| 58 | ||
| 59 | // device type definition | |
| 60 | extern const device_type O2_ROM_STD; | |
| 61 | extern const device_type O2_ROM_12K; | |
| 62 | extern const device_type O2_ROM_16K; | |
| 63 | ||
| 64 | ||
| 65 | #endif |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r32575 | |
|---|---|---|
| 1 | /*********************************************************************************************************** | |
| 2 | ||
| 3 | ||
| 4 | Videopac Chess Module emulation | |
| 5 | ||
| 6 | TODO: | |
| 7 | - this code is just a stub... hence, almost everything is still to do! | |
| 8 | ||
| 9 | ***********************************************************************************************************/ | |
| 10 | ||
| 11 | ||
| 12 | #include "emu.h" | |
| 13 | #include "chess.h" | |
| 14 | ||
| 15 | ||
| 16 | //------------------------------------------------- | |
| 17 | // o2_chess_device - constructor | |
| 18 | //------------------------------------------------- | |
| 19 | ||
| 20 | const device_type O2_ROM_CHESS = &device_creator<o2_chess_device>; | |
| 21 | ||
| 22 | ||
| 23 | o2_chess_device::o2_chess_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) | |
| 24 | : o2_rom_device(mconfig, O2_ROM_CHESS, "Odyssey 2 BASIC Carts", tag, owner, clock, "o2_chess", __FILE__), | |
| 25 | m_cpu(*this, "subcpu") | |
| 26 | { | |
| 27 | } | |
| 28 | ||
| 29 | ||
| 30 | //------------------------------------------------- | |
| 31 | // MACHINE_CONFIG_FRAGMENT( o2chess ) | |
| 32 | //------------------------------------------------- | |
| 33 | ||
| 34 | static ADDRESS_MAP_START(chess_mem, AS_PROGRAM, 8, o2_chess_device) | |
| 35 | AM_RANGE(0x0000, 0x07ff) AM_READ(read_rom04) | |
| 36 | ADDRESS_MAP_END | |
| 37 | ||
| 38 | static ADDRESS_MAP_START(chess_io, AS_IO, 8, o2_chess_device) | |
| 39 | ADDRESS_MAP_UNMAP_HIGH | |
| 40 | ADDRESS_MAP_GLOBAL_MASK(0xff) | |
| 41 | ADDRESS_MAP_END | |
| 42 | ||
| 43 | static MACHINE_CONFIG_FRAGMENT( o2chess ) | |
| 44 | MCFG_CPU_ADD("subcpu", NSC800, XTAL_4MHz) | |
| 45 | MCFG_CPU_PROGRAM_MAP(chess_mem) | |
| 46 | MCFG_CPU_IO_MAP(chess_io) | |
| 47 | MACHINE_CONFIG_END | |
| 48 | ||
| 49 | ||
| 50 | //------------------------------------------------- | |
| 51 | // machine_config_additions - device-specific | |
| 52 | // machine configurations | |
| 53 | //------------------------------------------------- | |
| 54 | ||
| 55 | machine_config_constructor o2_chess_device::device_mconfig_additions() const | |
| 56 | { | |
| 57 | return MACHINE_CONFIG_NAME( o2chess ); | |
| 58 | } |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r32575 | |
|---|---|---|
| 1 | /*********************************************************************************************************** | |
| 2 | ||
| 3 | ||
| 4 | Magnavox The Voice emulation | |
| 5 | ||
| 6 | TODO: | |
| 7 | - load speech ROM from softlist | |
| 8 | - move external speech rom for S.I.D. the Spellbinder into the softlist entry | |
| 9 | ||
| 10 | ***********************************************************************************************************/ | |
| 11 | ||
| 12 | ||
| 13 | #include "emu.h" | |
| 14 | #include "voice.h" | |
| 15 | ||
| 16 | ||
| 17 | //------------------------------------------------- | |
| 18 | // o2_voice_device - constructor | |
| 19 | //------------------------------------------------- | |
| 20 | ||
| 21 | const device_type O2_ROM_VOICE = &device_creator<o2_voice_device>; | |
| 22 | ||
| 23 | ||
| 24 | o2_voice_device::o2_voice_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) | |
| 25 | : o2_rom_device(mconfig, O2_ROM_VOICE, "Odyssey 2 The Voice Passthrough Cart", tag, owner, clock, "o2_voice", __FILE__), | |
| 26 | m_speech(*this, "sp0256_speech"), | |
| 27 | m_subslot(*this, "subslot"), | |
| 28 | m_lrq_state(0) | |
| 29 | { | |
| 30 | } | |
| 31 | ||
| 32 | ||
| 33 | void o2_voice_device::device_start() | |
| 34 | { | |
| 35 | save_item(NAME(m_lrq_state)); | |
| 36 | } | |
| 37 | ||
| 38 | //------------------------------------------------- | |
| 39 | // MACHINE_CONFIG_FRAGMENT( sub_slot ) | |
| 40 | //------------------------------------------------- | |
| 41 | ||
| 42 | static MACHINE_CONFIG_FRAGMENT( o2voice ) | |
| 43 | MCFG_SPEAKER_STANDARD_MONO("mono") | |
| 44 | ||
| 45 | MCFG_SOUND_ADD("sp0256_speech", SP0256, 3120000) | |
| 46 | MCFG_SP0256_DATA_REQUEST_CB(WRITELINE(o2_voice_device, lrq_callback)) | |
| 47 | // The Voice uses a speaker with its own volume control so the relative volumes to use are subjective, these sound good | |
| 48 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) | |
| 49 | ||
| 50 | MCFG_O2_CARTRIDGE_ADD("subslot", o2_cart, NULL) | |
| 51 | MACHINE_CONFIG_END | |
| 52 | ||
| 53 | ||
| 54 | //------------------------------------------------- | |
| 55 | // machine_config_additions - device-specific | |
| 56 | // machine configurations | |
| 57 | //------------------------------------------------- | |
| 58 | ||
| 59 | machine_config_constructor o2_voice_device::device_mconfig_additions() const | |
| 60 | { | |
| 61 | return MACHINE_CONFIG_NAME( o2voice ); | |
| 62 | } | |
| 63 | ||
| 64 | ||
| 65 | ROM_START( o2voice ) | |
| 66 | ROM_REGION( 0x10000, "sp0256_speech", 0 ) | |
| 67 | // SP0256B-019 Speech chip w/2KiB mask rom | |
| 68 | ROM_LOAD( "sp0256b-019.bin", 0x1000, 0x0800, CRC(4bb43724) SHA1(49f5326ad45392dc96c89d1d4e089a20bd21e609) ) | |
| 69 | ||
| 70 | /* A note about "The Voice": Two versions of "The Voice" exist: | |
| 71 | * An earlier version with eight 2KiB speech roms, spr016-??? through spr016-??? on a small daughterboard | |
| 72 | <note to self: fill in numbers later> | |
| 73 | * A later version with one 16KiB speech rom, spr128-003, mounted directly on the mainboard | |
| 74 | The rom contents of these two versions are EXACTLY the same. | |
| 75 | Both versions have an sp0256b-019 speech chip, which has 2KiB of its own internal speech data | |
| 76 | Thanks to kevtris for this info. - LN | |
| 77 | */ | |
| 78 | ||
| 79 | // External 16KiB speech ROM (spr128-003) from "The Voice" | |
| 80 | ROM_LOAD( "spr128-003.bin", 0x4000, 0x4000, CRC(509367b5) SHA1(0f31f46bc02e9272885779a6dd7102c78b18895b) ) | |
| 81 | // Additional External 16KiB speech ROM (spr128-004) from S.I.D. the Spellbinder | |
| 82 | ROM_LOAD( "spr128-004.bin", 0x8000, 0x4000, CRC(e79dfb75) SHA1(37f33d79ffd1739d7c2f226b010a1eac28d74ca0) ) | |
| 83 | ROM_END | |
| 84 | ||
| 85 | const rom_entry *o2_voice_device::device_rom_region() const | |
| 86 | { | |
| 87 | return ROM_NAME( o2voice ); | |
| 88 | } | |
| 89 | ||
| 90 | WRITE_LINE_MEMBER(o2_voice_device::lrq_callback) | |
| 91 | { | |
| 92 | m_lrq_state = state; | |
| 93 | } | |
| 94 | ||
| 95 | WRITE8_MEMBER(o2_voice_device::io_write) | |
| 96 | { | |
| 97 | if (data & 0x20) | |
| 98 | m_speech->ald_w(space, 0, offset & 0x7f); | |
| 99 | else | |
| 100 | m_speech->reset(); | |
| 101 | } |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r32575 | |
|---|---|---|
| 1 | #ifndef __O2_SLOT_H | |
| 2 | #define __O2_SLOT_H | |
| 3 | ||
| 4 | /*************************************************************************** | |
| 5 | TYPE DEFINITIONS | |
| 6 | ***************************************************************************/ | |
| 7 | ||
| 8 | ||
| 9 | /* PCB */ | |
| 10 | enum | |
| 11 | { | |
| 12 | O2_STD = 0, | |
| 13 | O2_ROM12, | |
| 14 | O2_ROM16, | |
| 15 | O2_CHESS, | |
| 16 | O2_VOICE | |
| 17 | }; | |
| 18 | ||
| 19 | ||
| 20 | // ======================> device_o2_cart_interface | |
| 21 | ||
| 22 | class device_o2_cart_interface : public device_slot_card_interface | |
| 23 | { | |
| 24 | public: | |
| 25 | // construction/destruction | |
| 26 | device_o2_cart_interface(const machine_config &mconfig, device_t &device); | |
| 27 | virtual ~device_o2_cart_interface(); | |
| 28 | ||
| 29 | // reading and writing | |
| 30 | virtual DECLARE_READ8_MEMBER(read_rom04) { return 0xff; } | |
| 31 | virtual DECLARE_READ8_MEMBER(read_rom0c) { return 0xff; } | |
| 32 | virtual void write_bank(int bank) {} | |
| 33 | ||
| 34 | virtual DECLARE_WRITE8_MEMBER(io_write) {} | |
| 35 | virtual DECLARE_READ8_MEMBER(t0_read) { return 0; } | |
| 36 | ||
| 37 | void rom_alloc(UINT32 size, const char *tag); | |
| 38 | void ram_alloc(UINT32 size); | |
| 39 | UINT8* get_rom_base() { return m_rom; } | |
| 40 | UINT8* get_ram_base() { return m_ram; } | |
| 41 | UINT32 get_rom_size() { return m_rom_size; } | |
| 42 | UINT32 get_ram_size() { return m_ram.count(); } | |
| 43 | ||
| 44 | protected: | |
| 45 | // internal state | |
| 46 | UINT8 *m_rom; | |
| 47 | UINT32 m_rom_size; | |
| 48 | dynamic_buffer m_ram; | |
| 49 | }; | |
| 50 | ||
| 51 | ||
| 52 | // ======================> o2_cart_slot_device | |
| 53 | ||
| 54 | class o2_cart_slot_device : public device_t, | |
| 55 | public device_image_interface, | |
| 56 | public device_slot_interface | |
| 57 | { | |
| 58 | public: | |
| 59 | // construction/destruction | |
| 60 | o2_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 61 | virtual ~o2_cart_slot_device(); | |
| 62 | ||
| 63 | // device-level overrides | |
| 64 | virtual void device_start(); | |
| 65 | virtual void device_config_complete(); | |
| 66 | ||
| 67 | // image-level overrides | |
| 68 | virtual bool call_load(); | |
| 69 | virtual void call_unload() {} | |
| 70 | virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry); | |
| 71 | ||
| 72 | int get_type() { return m_type; } | |
| 73 | ||
| 74 | virtual iodevice_t image_type() const { return IO_CARTSLOT; } | |
| 75 | virtual bool is_readable() const { return 1; } | |
| 76 | virtual bool is_writeable() const { return 0; } | |
| 77 | virtual bool is_creatable() const { return 0; } | |
| 78 | virtual bool must_be_loaded() const { return 0; } | |
| 79 | virtual bool is_reset_on_load() const { return 1; } | |
| 80 | virtual const option_guide *create_option_guide() const { return NULL; } | |
| 81 | virtual const char *image_interface() const { return "odyssey_cart"; } | |
| 82 | virtual const char *file_extensions() const { return "bin,rom"; } | |
| 83 | ||
| 84 | // slot interface overrides | |
| 85 | virtual void get_default_card_software(astring &result); | |
| 86 | ||
| 87 | // reading and writing | |
| 88 | virtual DECLARE_READ8_MEMBER(read_rom04); | |
| 89 | virtual DECLARE_READ8_MEMBER(read_rom0c); | |
| 90 | virtual DECLARE_WRITE8_MEMBER(io_write); | |
| 91 | virtual DECLARE_READ8_MEMBER(t0_read) { if (m_cart) return m_cart->t0_read(space, offset); else return 0; } | |
| 92 | ||
| 93 | virtual void write_bank(int bank) { if (m_cart) m_cart->write_bank(bank); } | |
| 94 | ||
| 95 | protected: | |
| 96 | ||
| 97 | int m_type; | |
| 98 | device_o2_cart_interface* m_cart; | |
| 99 | }; | |
| 100 | ||
| 101 | ||
| 102 | ||
| 103 | // device type definition | |
| 104 | extern const device_type O2_CART_SLOT; | |
| 105 | ||
| 106 | ||
| 107 | /*************************************************************************** | |
| 108 | DEVICE CONFIGURATION MACROS | |
| 109 | ***************************************************************************/ | |
| 110 | ||
| 111 | #define O2SLOT_ROM_REGION_TAG ":cart:rom" | |
| 112 | ||
| 113 | #define MCFG_O2_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \ | |
| 114 | MCFG_DEVICE_ADD(_tag, O2_CART_SLOT, 0) \ | |
| 115 | MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) \ | |
| 116 | ||
| 117 | ||
| 118 | SLOT_INTERFACE_EXTERN(o2_cart); | |
| 119 | ||
| 120 | #endif |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r32575 | |
|---|---|---|
| 1 | #ifndef __O2_CHESS_H | |
| 2 | #define __O2_CHESS_H | |
| 3 | ||
| 4 | #include "slot.h" | |
| 5 | #include "rom.h" | |
| 6 | #include "cpu/z80/z80.h" | |
| 7 | ||
| 8 | ||
| 9 | // ======================> o2_chess_device | |
| 10 | ||
| 11 | class o2_chess_device : public o2_rom_device | |
| 12 | { | |
| 13 | ||
| 14 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 15 | // virtual const rom_entry *device_rom_region() const; | |
| 16 | ||
| 17 | public: | |
| 18 | // construction/destruction | |
| 19 | o2_chess_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 20 | ||
| 21 | private: | |
| 22 | required_device<nsc800_device> m_cpu; | |
| 23 | }; | |
| 24 | ||
| 25 | ||
| 26 | ||
| 27 | // device type definition | |
| 28 | extern const device_type O2_ROM_CHESS; | |
| 29 | ||
| 30 | ||
| 31 | #endif |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r32575 | |
|---|---|---|
| 1 | #ifndef __O2_VOICE_H | |
| 2 | #define __O2_VOICE_H | |
| 3 | ||
| 4 | #include "slot.h" | |
| 5 | #include "rom.h" | |
| 6 | #include "sound/sp0256.h" | |
| 7 | ||
| 8 | ||
| 9 | // ======================> o2_voice_device | |
| 10 | ||
| 11 | class o2_voice_device : public o2_rom_device | |
| 12 | { | |
| 13 | public: | |
| 14 | // construction/destruction | |
| 15 | o2_voice_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 16 | ||
| 17 | // device-level overrides | |
| 18 | virtual void device_start(); | |
| 19 | virtual void device_reset() {} | |
| 20 | ||
| 21 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 22 | virtual const rom_entry *device_rom_region() const; | |
| 23 | ||
| 24 | // reading and writing | |
| 25 | virtual DECLARE_READ8_MEMBER(read_rom04) { if (m_subslot->exists()) return m_subslot->read_rom04(space, offset); else return 0xff; } | |
| 26 | virtual DECLARE_READ8_MEMBER(read_rom0c) { if (m_subslot->exists()) return m_subslot->read_rom0c(space, offset); else return 0xff; } | |
| 27 | ||
| 28 | virtual void write_bank(int bank) { if (m_subslot->exists()) m_subslot->write_bank(bank); } | |
| 29 | ||
| 30 | DECLARE_WRITE_LINE_MEMBER(lrq_callback); | |
| 31 | DECLARE_WRITE8_MEMBER(io_write); | |
| 32 | DECLARE_READ8_MEMBER(t0_read) { return m_speech->lrq_r() ? 0 : 1; } | |
| 33 | ||
| 34 | private: | |
| 35 | required_device<sp0256_device> m_speech; | |
| 36 | required_device<o2_cart_slot_device> m_subslot; | |
| 37 | ||
| 38 | int m_lrq_state; | |
| 39 | }; | |
| 40 | ||
| 41 | ||
| 42 | ||
| 43 | ||
| 44 | // device type definition | |
| 45 | extern const device_type O2_ROM_VOICE; | |
| 46 | ||
| 47 | ||
| 48 | #endif |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r32575 | |
|---|---|---|
| 1 | /*********************************************************************************************************** | |
| 2 | ||
| 3 | ||
| 4 | Magnavox Odyssey cart emulation | |
| 5 | ||
| 6 | ||
| 7 | ***********************************************************************************************************/ | |
| 8 | ||
| 9 | ||
| 10 | #include "emu.h" | |
| 11 | #include "rom.h" | |
| 12 | ||
| 13 | ||
| 14 | //------------------------------------------------- | |
| 15 | // o2_rom_device - constructor | |
| 16 | //------------------------------------------------- | |
| 17 | ||
| 18 | const device_type O2_ROM_STD = &device_creator<o2_rom_device>; | |
| 19 | const device_type O2_ROM_12K = &device_creator<o2_rom12_device>; | |
| 20 | const device_type O2_ROM_16K = &device_creator<o2_rom16_device>; | |
| 21 | ||
| 22 | ||
| 23 | o2_rom_device::o2_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) | |
| 24 | : device_t(mconfig, type, name, tag, owner, clock, shortname, source), | |
| 25 | device_o2_cart_interface( mconfig, *this ) | |
| 26 | { | |
| 27 | } | |
| 28 | ||
| 29 | o2_rom_device::o2_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) | |
| 30 | : device_t(mconfig, O2_ROM_STD, "Odyssey 2 Standard Carts", tag, owner, clock, "o2_rom", __FILE__), | |
| 31 | device_o2_cart_interface( mconfig, *this ) | |
| 32 | { | |
| 33 | } | |
| 34 | ||
| 35 | o2_rom12_device::o2_rom12_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) | |
| 36 | : o2_rom_device(mconfig, O2_ROM_12K, "Odyssey 2 12K Carts", tag, owner, clock, "o2_rom12", __FILE__) | |
| 37 | { | |
| 38 | } | |
| 39 | ||
| 40 | o2_rom16_device::o2_rom16_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) | |
| 41 | : o2_rom_device(mconfig, O2_ROM_16K, "Odyssey 2 16K Carts", tag, owner, clock, "o2_rom16", __FILE__) | |
| 42 | { | |
| 43 | } | |
| 44 | ||
| 45 | ||
| 46 | //------------------------------------------------- | |
| 47 | // device_start/device_reset - device-specific startup | |
| 48 | //------------------------------------------------- | |
| 49 | ||
| 50 | void o2_rom_device::device_start() | |
| 51 | { | |
| 52 | save_item(NAME(m_bank_base)); | |
| 53 | } | |
| 54 | ||
| 55 | void o2_rom_device::device_reset() | |
| 56 | { | |
| 57 | m_bank_base = 0; | |
| 58 | } | |
| 59 | ||
| 60 | /*------------------------------------------------- | |
| 61 | mapper specific handlers | |
| 62 | -------------------------------------------------*/ | |
| 63 | ||
| 64 | void o2_rom_device::write_bank(int bank) | |
| 65 | { | |
| 66 | m_bank_base = bank; | |
| 67 | } | |
| 68 | ||
| 69 | READ8_MEMBER(o2_rom_device::read_rom04) | |
| 70 | { | |
| 71 | return m_rom[(offset + (m_bank_base & 0x03) * 0x800) & (m_rom_size - 1)]; | |
| 72 | } | |
| 73 | READ8_MEMBER(o2_rom_device::read_rom0c) | |
| 74 | { | |
| 75 | return m_rom[(offset + (m_bank_base & 0x03) * 0x800) & (m_rom_size - 1)]; | |
| 76 | } | |
| 77 | ||
| 78 | READ8_MEMBER(o2_rom12_device::read_rom04) | |
| 79 | { | |
| 80 | return m_rom[offset + (m_bank_base & 0x03) * 0xc00]; | |
| 81 | } | |
| 82 | READ8_MEMBER(o2_rom12_device::read_rom0c) | |
| 83 | { | |
| 84 | return m_rom[offset + 0x800 + (m_bank_base & 0x03) * 0xc00]; | |
| 85 | } | |
| 86 | ||
| 87 | READ8_MEMBER(o2_rom16_device::read_rom04) | |
| 88 | { | |
| 89 | return m_rom[offset + 0x400 + (m_bank_base & 0x03) * 0x1000]; | |
| 90 | } | |
| 91 | READ8_MEMBER(o2_rom16_device::read_rom0c) | |
| 92 | { | |
| 93 | return m_rom[offset + 0xc00 + (m_bank_base & 0x03) * 0x1000]; | |
| 94 | } | |
| 95 |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r32574 | r32575 | |
|---|---|---|
| 14 | 14 | |
| 15 | 15 | #include "emu.h" |
| 16 | 16 | #include "cpu/mcs48/mcs48.h" |
| 17 | #include "imagedev/cartslot.h" | |
| 18 | #include "sound/sp0256.h" | |
| 19 | 17 | #include "video/i8244.h" |
| 20 | 18 | #include "machine/i8243.h" |
| 21 | 19 | #include "video/ef9340_1.h" |
| 22 | 20 | |
| 21 | #include "bus/odyssey2/slot.h" | |
| 23 | 22 | |
| 23 | ||
| 24 | 24 | class odyssey2_state : public driver_device |
| 25 | 25 | { |
| 26 | 26 | public: |
| r32574 | r32575 | |
| 28 | 28 | : driver_device(mconfig, type, tag), |
| 29 | 29 | m_maincpu(*this, "maincpu"), |
| 30 | 30 | m_i8244(*this, "i8244"), |
| 31 | m_sp0256(*this, "sp0256_speech"), | |
| 32 | m_user1(*this, "user1"), | |
| 33 | m_bank1(*this, "bank1"), | |
| 34 | m_bank2(*this, "bank2"), | |
| 31 | m_cart(*this, "cartslot"), | |
| 35 | 32 | m_keyboard(*this, "KEY"), |
| 36 | 33 | m_joysticks(*this, "JOY") { } |
| 37 | 34 | |
| 38 | 35 | required_device<cpu_device> m_maincpu; |
| 39 | 36 | required_device<i8244_device> m_i8244; |
| 40 | required_device< | |
| 37 | required_device<o2_cart_slot_device> m_cart; | |
| 41 | 38 | |
| 42 | int m_the_voice_lrq_state; | |
| 43 | 39 | UINT8 m_ram[256]; |
| 44 | 40 | UINT8 m_p1; |
| 45 | 41 | UINT8 m_p2; |
| 46 | int m_cart_size; | |
| 47 | 42 | UINT8 m_lum; |
| 48 | DECLARE_READ8_MEMBER(t0_read); | |
| 49 | 43 | DECLARE_READ8_MEMBER(io_read); |
| 50 | 44 | DECLARE_WRITE8_MEMBER(io_write); |
| 51 | 45 | DECLARE_READ8_MEMBER(bus_read); |
| r32574 | r32575 | |
| 60 | 54 | virtual void machine_reset(); |
| 61 | 55 | DECLARE_PALETTE_INIT(odyssey2); |
| 62 | 56 | UINT32 screen_update_odyssey2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 63 | DECLARE_WRITE_LINE_MEMBER(the_voice_lrq_callback); | |
| 64 | 57 | DECLARE_WRITE_LINE_MEMBER(irq_callback); |
| 65 | 58 | |
| 66 | 59 | DECLARE_WRITE16_MEMBER(scanline_postprocess); |
| r32574 | r32575 | |
| 76 | 69 | static const UINT8 P1_VDC_COPY_MODE_ENABLE = 0x40; |
| 77 | 70 | static const UINT8 P2_KEYBOARD_SELECT_MASK = 0x07; /* select row to scan */ |
| 78 | 71 | |
| 79 | required_memory_region m_user1; | |
| 80 | ||
| 81 | required_memory_bank m_bank1; | |
| 82 | required_memory_bank m_bank2; | |
| 83 | ||
| 84 | 72 | required_ioport_array<6> m_keyboard; |
| 85 | 73 | required_ioport_array<2> m_joysticks; |
| 86 | ||
| 87 | void switch_banks(); | |
| 88 | 74 | }; |
| 89 | 75 | |
| 90 | 76 | class g7400_state : public odyssey2_state |
| r32574 | r32575 | |
| 115 | 101 | |
| 116 | 102 | |
| 117 | 103 | static ADDRESS_MAP_START( odyssey2_mem , AS_PROGRAM, 8, odyssey2_state ) |
| 118 | AM_RANGE(0x0000, 0x03FF) AM_ROM | |
| 119 | AM_RANGE(0x0400, 0x0BFF) AM_RAMBANK("bank1") | |
| 120 | AM_RANGE(0x0C00, 0x0FFF) AM_RAMBANK("bank2") | |
| 104 | AM_RANGE(0x0000, 0x03ff) AM_ROM | |
| 105 | AM_RANGE(0x0400, 0x0bff) AM_DEVREAD("cartslot", o2_cart_slot_device, read_rom04) | |
| 106 | AM_RANGE(0x0c00, 0x0fff) AM_DEVREAD("cartslot", o2_cart_slot_device, read_rom0c) | |
| 121 | 107 | ADDRESS_MAP_END |
| 122 | 108 | |
| 123 | 109 | |
| r32574 | r32575 | |
| 126 | 112 | AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_READWRITE(p1_read, p1_write) |
| 127 | 113 | AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_READWRITE(p2_read, p2_write) |
| 128 | 114 | AM_RANGE(MCS48_PORT_BUS, MCS48_PORT_BUS) AM_READWRITE(bus_read, bus_write) |
| 129 | AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(t0_read) | |
| 115 | AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_DEVREAD("cartslot", o2_cart_slot_device, t0_read) | |
| 130 | 116 | AM_RANGE(MCS48_PORT_T1, MCS48_PORT_T1) AM_READ(t1_read) |
| 131 | 117 | ADDRESS_MAP_END |
| 132 | 118 | |
| r32574 | r32575 | |
| 136 | 122 | AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_READWRITE(p1_read, p1_write) |
| 137 | 123 | AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_READWRITE(p2_read, p2_write) |
| 138 | 124 | AM_RANGE(MCS48_PORT_BUS, MCS48_PORT_BUS) AM_READWRITE(bus_read, bus_write) |
| 139 | AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(t0_read) | |
| 125 | AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_DEVREAD("cartslot", o2_cart_slot_device, t0_read) | |
| 140 | 126 | AM_RANGE(MCS48_PORT_T1, MCS48_PORT_T1) AM_READ(t1_read) |
| 141 | 127 | AM_RANGE(MCS48_PORT_PROG, MCS48_PORT_PROG) AM_DEVWRITE("i8243", i8243_device, i8243_prog_w); |
| 142 | 128 | ADDRESS_MAP_END |
| r32574 | r32575 | |
| 298 | 284 | } |
| 299 | 285 | |
| 300 | 286 | |
| 301 | void odyssey2_state::switch_banks() | |
| 302 | { | |
| 303 | switch ( m_cart_size ) | |
| 304 | { | |
| 305 | case 12288: | |
| 306 | /* 12KB cart support (for instance, KTAA as released) */ | |
| 307 | m_bank1->set_base( m_user1->base() + (m_p1 & 0x03) * 0xC00 ); | |
| 308 | m_bank2->set_base( m_user1->base() + (m_p1 & 0x03) * 0xC00 + 0x800 ); | |
| 309 | break; | |
| 310 | ||
| 311 | case 16384: | |
| 312 | /* 16KB cart support (for instance, full sized version KTAA) */ | |
| 313 | m_bank1->set_base( m_user1->base() + (m_p1 & 0x03) * 0x1000 + 0x400 ); | |
| 314 | m_bank2->set_base( m_user1->base() + (m_p1 & 0x03) * 0x1000 + 0xC00 ); | |
| 315 | break; | |
| 316 | ||
| 317 | default: | |
| 318 | m_bank1->set_base( m_user1->base() + (m_p1 & 0x03) * 0x800 ); | |
| 319 | m_bank2->set_base( m_user1->base() + (m_p1 & 0x03) * 0x800 ); | |
| 320 | break; | |
| 321 | } | |
| 322 | } | |
| 323 | ||
| 324 | ||
| 325 | WRITE_LINE_MEMBER(odyssey2_state::the_voice_lrq_callback) | |
| 326 | { | |
| 327 | m_the_voice_lrq_state = state; | |
| 328 | } | |
| 329 | ||
| 330 | ||
| 331 | READ8_MEMBER(odyssey2_state::t0_read) | |
| 332 | { | |
| 333 | return m_sp0256->lrq_r() ? 0 : 1; | |
| 334 | } | |
| 335 | ||
| 336 | ||
| 337 | 287 | DRIVER_INIT_MEMBER(odyssey2_state,odyssey2) |
| 338 | 288 | { |
| 339 | int i; | |
| 340 | int size = 0; | |
| 341 | 289 | UINT8 *gfx = memregion("gfx1")->base(); |
| 342 | device_image_interface *image = dynamic_cast<device_image_interface *>(machine().device("cart")); | |
| 343 | 290 | |
| 344 | for (i = 0; i < 256; i++) | |
| 291 | for (int i = 0; i < 256; i++) | |
| 345 | 292 | { |
| 346 | 293 | gfx[i] = i; /* TODO: Why i and not 0? */ |
| 347 | 294 | m_ram[i] = 0; |
| 348 | 295 | } |
| 349 | ||
| 350 | if (image->exists()) | |
| 351 | { | |
| 352 | if (image->software_entry() == NULL) | |
| 353 | { | |
| 354 | size = image->length(); | |
| 355 | } | |
| 356 | else | |
| 357 | { | |
| 358 | size = image->get_software_region_length("rom"); | |
| 359 | } | |
| 360 | } | |
| 361 | m_cart_size = size; | |
| 362 | 296 | } |
| 363 | 297 | |
| 364 | 298 | |
| r32574 | r32575 | |
| 367 | 301 | save_pointer(NAME(m_ram),256); |
| 368 | 302 | save_item(NAME(m_p1)); |
| 369 | 303 | save_item(NAME(m_p2)); |
| 370 | save_item(NAME(m_cart_size)); | |
| 371 | 304 | save_item(NAME(m_lum)); |
| 372 | save_item(NAME(m_the_voice_lrq_state)); | |
| 373 | 305 | } |
| 374 | 306 | |
| 375 | 307 | |
| r32574 | r32575 | |
| 378 | 310 | m_lum = 0; |
| 379 | 311 | |
| 380 | 312 | /* jump to "last" bank, will work for all sizes due to being mirrored */ |
| 381 | m_p1 = 0xFF; | |
| 382 | m_p2 = 0xFF; | |
| 383 | switch_banks(); | |
| 313 | m_p1 = 0xff; | |
| 314 | m_p2 = 0xff; | |
| 315 | m_cart->write_bank(m_p1); | |
| 384 | 316 | } |
| 385 | 317 | |
| 386 | 318 | |
| r32574 | r32575 | |
| 426 | 358 | if ((m_p1 & (P1_EXT_RAM_ENABLE | P1_VDC_COPY_MODE_ENABLE)) == 0x00) |
| 427 | 359 | { |
| 428 | 360 | m_ram[offset] = data; |
| 429 | if ( | |
| 361 | if (offset & 0x80) | |
| 430 | 362 | { |
| 431 | if ( data & 0x20 ) | |
| 432 | { | |
| 433 | logerror("voice write %02X, data = %02X (p1 = %02X)\n", offset, data, m_p1 ); | |
| 434 | m_sp0256->ald_w(space, 0, offset & 0x7f); | |
| 435 | } | |
| 436 | else | |
| 437 | { | |
| 438 | m_sp0256->reset(); | |
| 439 | } | |
| 363 | logerror("voice write %02X, data = %02X (p1 = %02X)\n", offset, data, m_p1); | |
| 364 | m_cart->io_write(space, offset, data); | |
| 440 | 365 | } |
| 441 | 366 | } |
| 442 | 367 | else if (!(m_p1 & P1_VDC_ENABLE)) |
| r32574 | r32575 | |
| 470 | 395 | if ((m_p1 & (P1_EXT_RAM_ENABLE | P1_VDC_COPY_MODE_ENABLE)) == 0x00) |
| 471 | 396 | { |
| 472 | 397 | m_ram[offset] = data; |
| 398 | if (offset & 0x80) | |
| 399 | { | |
| 400 | logerror("voice write %02X, data = %02X (p1 = %02X)\n", offset, data, m_p1); | |
| 401 | m_cart->io_write(space, offset, data); | |
| 402 | } | |
| 473 | 403 | } |
| 474 | 404 | else if (!(m_p1 & P1_VDC_ENABLE)) |
| 475 | 405 | { |
| r32574 | r32575 | |
| 567 | 497 | { |
| 568 | 498 | m_p1 = data; |
| 569 | 499 | m_lum = ( data & 0x80 ) >> 4; |
| 570 | ||
| 571 | switch_banks(); | |
| 500 | m_cart->write_bank(m_p1); | |
| 572 | 501 | } |
| 573 | 502 | |
| 574 | 503 | |
| r32574 | r32575 | |
| 735 | 664 | GFXDECODE_END |
| 736 | 665 | |
| 737 | 666 | |
| 667 | ||
| 738 | 668 | static MACHINE_CONFIG_FRAGMENT( odyssey2_cartslot ) |
| 739 | MCFG_CARTSLOT_ADD("cart") | |
| 740 | MCFG_CARTSLOT_EXTENSION_LIST("bin,rom") | |
| 741 | MCFG_CARTSLOT_NOT_MANDATORY | |
| 742 | MCFG_CARTSLOT_INTERFACE("odyssey_cart") | |
| 669 | MCFG_O2_CARTRIDGE_ADD("cartslot", o2_cart, NULL) | |
| 670 | ||
| 743 | 671 | MCFG_SOFTWARE_LIST_ADD("cart_list","odyssey2") |
| 744 | 672 | MACHINE_CONFIG_END |
| 745 | 673 | |
| r32574 | r32575 | |
| 766 | 694 | MCFG_I8244_ADD( "i8244", XTAL_7_15909MHz/2 * 2, "screen", WRITELINE( odyssey2_state, irq_callback ), WRITE16( odyssey2_state, scanline_postprocess ) ) |
| 767 | 695 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) |
| 768 | 696 | |
| 769 | MCFG_SOUND_ADD("sp0256_speech", SP0256, 3120000) | |
| 770 | MCFG_SP0256_DATA_REQUEST_CB(WRITELINE(odyssey2_state, the_voice_lrq_callback)) | |
| 771 | /* The Voice uses a speaker with its own volume control so the relative volumes to use are subjective, these sound good */ | |
| 772 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) | |
| 773 | ||
| 774 | 697 | MCFG_FRAGMENT_ADD(odyssey2_cartslot) |
| 775 | 698 | MACHINE_CONFIG_END |
| 776 | 699 | |
| r32574 | r32575 | |
| 797 | 720 | MCFG_I8245_ADD( "i8244", XTAL_17_73447MHz/5 * 2, "screen", WRITELINE( odyssey2_state, irq_callback ), WRITE16( odyssey2_state, scanline_postprocess ) ) |
| 798 | 721 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) |
| 799 | 722 | |
| 800 | MCFG_SOUND_ADD("sp0256_speech", SP0256, 3120000) | |
| 801 | MCFG_SP0256_DATA_REQUEST_CB(WRITELINE(odyssey2_state, the_voice_lrq_callback)) | |
| 802 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) | |
| 803 | ||
| 804 | 723 | MCFG_FRAGMENT_ADD(odyssey2_cartslot) |
| 805 | 724 | MACHINE_CONFIG_END |
| 806 | 725 | |
| r32574 | r32575 | |
| 830 | 749 | MCFG_I8245_ADD( "i8244", 3540000 * 2, "screen", WRITELINE( odyssey2_state, irq_callback ), WRITE16( g7400_state, scanline_postprocess ) ) |
| 831 | 750 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) |
| 832 | 751 | |
| 833 | MCFG_SOUND_ADD("sp0256_speech", SP0256, 3120000) | |
| 834 | MCFG_SP0256_DATA_REQUEST_CB(WRITELINE(odyssey2_state, the_voice_lrq_callback)) | |
| 835 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) | |
| 836 | ||
| 837 | 752 | MCFG_FRAGMENT_ADD(odyssey2_cartslot) |
| 838 | 753 | MCFG_DEVICE_REMOVE("cart_list") |
| 839 | 754 | MCFG_SOFTWARE_LIST_ADD("cart_list","g7400") |
| r32574 | r32575 | |
| 866 | 781 | MCFG_I8244_ADD( "i8244", 3540000 * 2, "screen", WRITELINE( odyssey2_state, irq_callback ), WRITE16( g7400_state, scanline_postprocess ) ) |
| 867 | 782 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) |
| 868 | 783 | |
| 869 | MCFG_SOUND_ADD("sp0256_speech", SP0256, 3120000) | |
| 870 | MCFG_SP0256_DATA_REQUEST_CB(WRITELINE(odyssey2_state, the_voice_lrq_callback)) | |
| 871 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) | |
| 872 | ||
| 873 | 784 | MCFG_FRAGMENT_ADD(odyssey2_cartslot) |
| 874 | 785 | MCFG_DEVICE_REMOVE("cart_list") |
| 875 | 786 | MCFG_SOFTWARE_LIST_ADD("cart_list","g7400") |
| r32574 | r32575 | |
| 881 | 792 | ROM_REGION(0x10000,"maincpu",0) /* safer for the memory handler/bankswitching??? */ |
| 882 | 793 | ROM_LOAD ("o2bios.rom", 0x0000, 0x0400, CRC(8016a315) SHA1(b2e1955d957a475de2411770452eff4ea19f4cee)) |
| 883 | 794 | ROM_REGION(0x100, "gfx1", ROMREGION_ERASEFF) |
| 884 | ||
| 885 | ROM_REGION(0x4000, "user1", 0) | |
| 886 | ROM_CART_LOAD("cart", 0x0000, 0x4000, ROM_MIRROR) | |
| 887 | ||
| 888 | ROM_REGION( 0x10000, "sp0256_speech", 0 ) | |
| 889 | /* SP0256B-019 Speech chip w/2KiB mask rom */ | |
| 890 | ROM_LOAD( "sp0256b-019.bin", 0x1000, 0x0800, CRC(4bb43724) SHA1(49f5326ad45392dc96c89d1d4e089a20bd21e609) ) | |
| 891 | ||
| 892 | /* A note about "The Voice": Two versions of "The Voice" exist: | |
| 893 | * An earlier version with eight 2KiB speech roms, spr016-??? through spr016-??? on a small daughterboard | |
| 894 | <note to self: fill in numbers later> | |
| 895 | * A later version with one 16KiB speech rom, spr128-003, mounted directly on the mainboard | |
| 896 | The rom contents of these two versions are EXACTLY the same. | |
| 897 | Both versions have an sp0256b-019 speech chip, which has 2KiB of its own internal speech data | |
| 898 | Thanks to kevtris for this info. - LN | |
| 899 | */ | |
| 900 | /* External 16KiB speech ROM (spr128-003) from "The Voice" */ | |
| 901 | ROM_LOAD( "spr128-003.bin", 0x4000, 0x4000, CRC(509367b5) SHA1(0f31f46bc02e9272885779a6dd7102c78b18895b) ) | |
| 902 | /* Additional External 16KiB ROM (spr128-004) from S.I.D. the Spellbinder */ | |
| 903 | ROM_LOAD( "spr128-004.bin", 0x8000, 0x4000, CRC(e79dfb75) SHA1(37f33d79ffd1739d7c2f226b010a1eac28d74ca0) ) | |
| 904 | 795 | ROM_END |
| 905 | 796 | |
| 906 | 797 | |
| r32574 | r32575 | |
| 911 | 802 | ROM_SYSTEM_BIOS( 1, "c52", "c52" ) |
| 912 | 803 | ROMX_LOAD ("c52.bin", 0x0000, 0x0400, CRC(a318e8d6) SHA1(a6120aed50831c9c0d95dbdf707820f601d9452e), ROM_BIOS(2)) |
| 913 | 804 | ROM_REGION(0x100, "gfx1", ROMREGION_ERASEFF) |
| 914 | ||
| 915 | ROM_REGION(0x4000, "user1", 0) | |
| 916 | ROM_CART_LOAD("cart", 0x0000, 0x4000, ROM_MIRROR) | |
| 917 | ||
| 918 | ROM_REGION( 0x10000, "sp0256_speech", 0 ) | |
| 919 | /* SP0256B-019 Speech chip w/2KiB mask rom */ | |
| 920 | ROM_LOAD( "sp0256b-019.bin", 0x1000, 0x0800, CRC(4bb43724) SHA1(49f5326ad45392dc96c89d1d4e089a20bd21e609) ) | |
| 921 | /* External 16KiB speech ROM (spr128-003) from "The Voice" */ | |
| 922 | ROM_LOAD( "spr128-003.bin", 0x4000, 0x4000, CRC(509367b5) SHA1(0f31f46bc02e9272885779a6dd7102c78b18895b) ) | |
| 923 | /* Additional External 16KiB speech ROM (spr128-004) from S.I.D. the Spellbinder */ | |
| 924 | ROM_LOAD( "spr128-004.bin", 0x8000, 0x4000, CRC(e79dfb75) SHA1(37f33d79ffd1739d7c2f226b010a1eac28d74ca0) ) | |
| 925 | 805 | ROM_END |
| 926 | 806 | |
| 927 | 807 | |
| r32574 | r32575 | |
| 929 | 809 | ROM_REGION(0x10000,"maincpu",0) /* safer for the memory handler/bankswitching??? */ |
| 930 | 810 | ROM_LOAD ("g7400.bin", 0x0000, 0x0400, CRC(e20a9f41) SHA1(5130243429b40b01a14e1304d0394b8459a6fbae)) |
| 931 | 811 | ROM_REGION(0x100, "gfx1", ROMREGION_ERASEFF) |
| 932 | ||
| 933 | ROM_REGION(0x4000, "user1", 0) | |
| 934 | ROM_CART_LOAD("cart", 0x0000, 0x4000, ROM_MIRROR) | |
| 935 | 812 | ROM_END |
| 936 | 813 | |
| 937 | 814 | |
| r32574 | r32575 | |
| 939 | 816 | ROM_REGION(0x10000,"maincpu",0) /* safer for the memory handler/bankswitching??? */ |
| 940 | 817 | ROM_LOAD ("jopac.bin", 0x0000, 0x0400, CRC(11647ca5) SHA1(54b8d2c1317628de51a85fc1c424423a986775e4)) |
| 941 | 818 | ROM_REGION(0x100, "gfx1", ROMREGION_ERASEFF) |
| 942 | ||
| 943 | ROM_REGION(0x4000, "user1", 0) | |
| 944 | ROM_CART_LOAD("cart", 0x0000, 0x4000, ROM_MIRROR) | |
| 945 | 819 | ROM_END |
| 946 | 820 | |
| 947 | 821 | |
| r32574 | r32575 | |
| 950 | 824 | ROM_LOAD ("odyssey3.bin", 0x0000, 0x0400, CRC(e2b23324) SHA1(0a38c5f2cea929d2fe0a23e5e1a60de9155815dc)) |
| 951 | 825 | |
| 952 | 826 | ROM_REGION(0x100, "gfx1", ROMREGION_ERASEFF) |
| 953 | ||
| 954 | ROM_REGION(0x4000, "user1", 0) | |
| 955 | ROM_CART_LOAD("cart", 0x000, 0x4000, ROM_MIRROR) | |
| 956 | 827 | ROM_END |
| 957 | 828 | |
| 958 | 829 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| r32574 | r32575 | |
|---|---|---|
| 603 | 603 | BUSES += NEOGEO |
| 604 | 604 | BUSES += NES |
| 605 | 605 | BUSES += NUBUS |
| 606 | BUSES += O2 | |
| 606 | 607 | BUSES += ORICEXT |
| 607 | 608 | BUSES += PCE |
| 608 | 609 | BUSES += PCI |
| Previous | 199869 Revisions | Next |