trunk/src/mess/drivers/pet.c
| r21605 | r21606 | |
| 141 | 141 | - SuperPET |
| 142 | 142 | - 6809 |
| 143 | 143 | - OS/9 MMU |
| 144 | | - 8096 |
| 145 | | - 64k expansion |
| 146 | 144 | - 8296 |
| 147 | 145 | - PLA dumps |
| 148 | 146 | - high resolution graphics |
| 149 | | - rom software list |
| 150 | 147 | |
| 151 | 148 | */ |
| 152 | 149 | |
| r21605 | r21606 | |
| 321 | 318 | } |
| 322 | 319 | |
| 323 | 320 | |
| 321 | //------------------------------------------------- |
| 322 | // read_pla1 - |
| 323 | //------------------------------------------------- |
| 324 | 324 | |
| 325 | void cbm8296_state::read_pla1(offs_t offset, int phi2, int brw, int noscreen, int noio, int ramsela, int ramsel9, int ramon, int norom, |
| 326 | int &cswff, int &cs9, int &csa, int &csio, int &cse, int &cskb, int &fa12, int &casena1) |
| 327 | { |
| 328 | UINT32 input = (offset & 0xff00) | phi2 << 7 | brw << 6 | noscreen << 5 | noio << 4 | ramsela << 3 | ramsel9 << 2 | ramon << 1 | norom; |
| 329 | //UINT32 data = m_pla1->read(input); |
| 330 | input = BITSWAP16(input,0,10,15,11,9,8,13,14,12,7,6,5,4,3,2,1); |
| 331 | UINT8 data = m_ue6_rom->base()[input]; |
| 332 | data = BITSWAP8(data,7,0,1,2,3,4,5,6); |
| 333 | |
| 334 | cswff = BIT(data, 0); |
| 335 | cs9 = BIT(data, 1); |
| 336 | csa = BIT(data, 2); |
| 337 | csio = BIT(data, 3); |
| 338 | cse = BIT(data, 4); |
| 339 | cskb = BIT(data, 5); |
| 340 | fa12 = BIT(data, 6); |
| 341 | casena1 = BIT(data, 7); |
| 342 | } |
| 343 | |
| 344 | |
| 345 | //------------------------------------------------- |
| 346 | // read_pla2 - |
| 347 | //------------------------------------------------- |
| 348 | |
| 349 | void cbm8296_state::read_pla2(offs_t offset, int phi2, int brw, int casena1, int &endra, int &noscreen, int &casena2, int &fa15) |
| 350 | { |
| 351 | UINT32 input = BITSWAP8(m_cr, 0,1,2,3,4,5,6,7) << 8 | ((offset >> 8) & 0xf8) | brw << 2 | phi2 << 1 | casena1; |
| 352 | //UINT32 data = m_pla2->read(input); |
| 353 | input = BITSWAP16(input,0,10,15,11,9,8,13,14,12,7,6,5,4,3,2,1); |
| 354 | UINT8 data = m_ue5_rom->base()[input]; |
| 355 | data = BITSWAP8(data,7,0,1,2,3,4,5,6); |
| 356 | |
| 357 | endra = BIT(data, 4); |
| 358 | noscreen = BIT(data, 5); |
| 359 | casena2 = BIT(data, 6); |
| 360 | fa15 = BIT(data, 7); |
| 361 | } |
| 362 | |
| 363 | |
| 364 | //------------------------------------------------- |
| 365 | // read - |
| 366 | //------------------------------------------------- |
| 367 | |
| 368 | READ8_MEMBER( cbm8296_state::read ) |
| 369 | { |
| 370 | int norom = m_exp->norom_r(space, offset, offset >> 12) && !BIT(m_cr, 7); |
| 371 | int phi2 = 1, brw = 1, noscreen = 1, noio = BIT(m_cr, 6); |
| 372 | int ramsela = BIT(m_via_pa, 0), ramsel9 = BIT(m_via_pa, 1), ramon = BIT(m_via_pa, 2); |
| 373 | int cswff = 1, cs9 = 1, csa = 1, csio = 1, cse = 1, cskb = 1, fa12 = 1, fa15 = 1, casena1 = 1, casena2 = 1, endra = 1; |
| 374 | |
| 375 | read_pla1(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom, |
| 376 | cswff, cs9, csa, csio, cse, cskb, fa12, casena1); |
| 377 | |
| 378 | read_pla2(offset, phi2, brw, casena1, endra, noscreen, casena2, fa15); |
| 379 | |
| 380 | read_pla1(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom, |
| 381 | cswff, cs9, csa, csio, cse, cskb, fa12, casena1); |
| 382 | |
| 383 | //printf("%04x : cswff %u cs9 %u csa %u csio %u cse %u cskb %u fa12 %u casena1 %u endra %u noscreen %u casena2 %u fa15 %u\n",offset,cswff,cs9,csa,csio,cse,cskb,fa12,casena1,endra,noscreen,casena2,fa15); |
| 384 | |
| 385 | UINT8 data = 0; |
| 386 | |
| 387 | if (!endra) |
| 388 | { |
| 389 | if (!casena1) |
| 390 | { |
| 391 | data = m_ram->pointer()[offset & 0xffff]; |
| 392 | } |
| 393 | if (!casena2) |
| 394 | { |
| 395 | data = m_ram->pointer()[0x10000 | fa15 << 15 | (offset & 0x7fff)]; |
| 396 | } |
| 397 | } |
| 398 | if (!cs9) |
| 399 | { |
| 400 | data = m_rom->base()[offset & 0xfff]; |
| 401 | } |
| 402 | if (!csa) |
| 403 | { |
| 404 | data = m_rom->base()[0x1000 | (offset & 0xfff)]; |
| 405 | } |
| 406 | if (!cse) |
| 407 | { |
| 408 | data = m_editor_rom->base()[offset & 0xfff]; |
| 409 | } |
| 410 | if (!cskb) |
| 411 | { |
| 412 | data = m_basic_rom->base()[(offset & 0x2fff) | fa12 << 12]; |
| 413 | } |
| 414 | if (!csio) |
| 415 | { |
| 416 | if (BIT(offset, 4)) |
| 417 | { |
| 418 | data = m_pia1->read(space, offset & 0x03); |
| 419 | } |
| 420 | if (BIT(offset, 5)) |
| 421 | { |
| 422 | data = m_pia2->read(space, offset & 0x03); |
| 423 | } |
| 424 | if (BIT(offset, 6)) |
| 425 | { |
| 426 | data = m_via->read(space, offset & 0x0f); |
| 427 | } |
| 428 | if (BIT(offset, 7) && BIT(offset, 0)) |
| 429 | { |
| 430 | data = m_crtc->register_r(space, 0); |
| 431 | } |
| 432 | } |
| 433 | |
| 434 | return data; |
| 435 | } |
| 436 | |
| 437 | |
| 438 | //------------------------------------------------- |
| 439 | // write - |
| 440 | //------------------------------------------------- |
| 441 | |
| 442 | WRITE8_MEMBER( cbm8296_state::write ) |
| 443 | { |
| 444 | int norom = m_exp->norom_r(space, offset, offset >> 12) && !BIT(m_cr, 7); |
| 445 | int phi2 = 1, brw = 0, noscreen = 1, noio = BIT(m_cr, 6); |
| 446 | int ramsela = BIT(m_via_pa, 0), ramsel9 = BIT(m_via_pa, 1), ramon = BIT(m_via_pa, 2); |
| 447 | int cswff = 1, cs9 = 1, csa = 1, csio = 1, cse = 1, cskb = 1, fa12 = 1, fa15 = 1, casena1 = 1, casena2 = 1, endra = 1; |
| 448 | |
| 449 | read_pla1(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom, |
| 450 | cswff, cs9, csa, csio, cse, cskb, fa12, casena1); |
| 451 | |
| 452 | read_pla2(offset, phi2, brw, casena1, endra, noscreen, casena2, fa15); |
| 453 | |
| 454 | read_pla1(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom, |
| 455 | cswff, cs9, csa, csio, cse, cskb, fa12, casena1); |
| 456 | |
| 457 | if (!endra) |
| 458 | { |
| 459 | if (!casena1) |
| 460 | { |
| 461 | m_ram->pointer()[offset & 0xffff] = data; |
| 462 | } |
| 463 | if (!casena2) |
| 464 | { |
| 465 | m_ram->pointer()[0x10000 | fa15 << 15 | (offset & 0x7fff)] = data; |
| 466 | } |
| 467 | } |
| 468 | if (!csio) |
| 469 | { |
| 470 | if (BIT(offset, 4)) |
| 471 | { |
| 472 | m_pia1->write(space, offset & 0x03, data); |
| 473 | } |
| 474 | if (BIT(offset, 5)) |
| 475 | { |
| 476 | m_pia2->write(space, offset & 0x03, data); |
| 477 | } |
| 478 | if (BIT(offset, 6)) |
| 479 | { |
| 480 | m_via->write(space, offset & 0x0f, data); |
| 481 | } |
| 482 | if (m_crtc && BIT(offset, 7)) |
| 483 | { |
| 484 | if (BIT(offset, 0)) |
| 485 | { |
| 486 | m_crtc->register_w(space, 0, data); |
| 487 | } |
| 488 | else |
| 489 | { |
| 490 | m_crtc->address_w(space, 0, data); |
| 491 | } |
| 492 | } |
| 493 | } |
| 494 | if (!cswff && ((offset & 0xff) == 0xf0)) |
| 495 | { |
| 496 | m_cr = data; |
| 497 | } |
| 498 | } |
| 499 | |
| 500 | |
| 501 | |
| 325 | 502 | //************************************************************************** |
| 326 | 503 | // ADDRESS MAPS |
| 327 | 504 | //************************************************************************** |
| r21605 | r21606 | |
| 335 | 512 | ADDRESS_MAP_END |
| 336 | 513 | |
| 337 | 514 | |
| 515 | //------------------------------------------------- |
| 516 | // ADDRESS_MAP( cbm8296_mem ) |
| 517 | //------------------------------------------------- |
| 338 | 518 | |
| 519 | static ADDRESS_MAP_START( cbm8296_mem, AS_PROGRAM, 8, cbm8296_state ) |
| 520 | AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write) |
| 521 | ADDRESS_MAP_END |
| 522 | |
| 523 | |
| 524 | |
| 339 | 525 | //************************************************************************** |
| 340 | 526 | // INPUT PORTS |
| 341 | 527 | //************************************************************************** |
| r21605 | r21606 | |
| 596 | 782 | check_interrupts(); |
| 597 | 783 | } |
| 598 | 784 | |
| 785 | WRITE8_MEMBER( pet_state::via_pa_w ) |
| 786 | { |
| 787 | m_user->pa_w(space, 0, data); |
| 788 | |
| 789 | m_via_pa = data; |
| 790 | } |
| 791 | |
| 599 | 792 | READ8_MEMBER( pet_state::via_pb_r ) |
| 600 | 793 | { |
| 601 | 794 | /* |
| r21605 | r21606 | |
| 674 | 867 | DEVCB_DEVICE_LINE_MEMBER(PET_DATASSETTE_PORT2_TAG, pet_datassette_port_device, read), |
| 675 | 868 | DEVCB_NULL, |
| 676 | 869 | DEVCB_NULL, |
| 677 | | DEVCB_DEVICE_MEMBER(PET_USER_PORT_TAG, pet_user_port_device, pa_w), |
| 870 | DEVCB_DRIVER_MEMBER(pet_state, via_pa_w), |
| 678 | 871 | DEVCB_DRIVER_MEMBER(pet_state, via_pb_w), |
| 679 | 872 | DEVCB_DEVICE_LINE_MEMBER(PET_USER_PORT_TAG, pet_user_port_device, ca1_w), |
| 680 | 873 | DEVCB_DRIVER_LINE_MEMBER(pet_state, via_ca2_w), |
| r21605 | r21606 | |
| 1101 | 1294 | } |
| 1102 | 1295 | |
| 1103 | 1296 | |
| 1297 | //------------------------------------------------- |
| 1298 | // MACHINE_START( cbm8296 ) |
| 1299 | //------------------------------------------------- |
| 1104 | 1300 | |
| 1301 | MACHINE_START_MEMBER( cbm8296_state, cbm8296 ) |
| 1302 | { |
| 1303 | MACHINE_START_CALL_MEMBER(pet80); |
| 1304 | |
| 1305 | // state saving |
| 1306 | save_item(NAME(m_cr)); |
| 1307 | save_item(NAME(m_via_pa)); |
| 1308 | } |
| 1309 | |
| 1310 | |
| 1311 | //------------------------------------------------- |
| 1312 | // MACHINE_RESET( cbm8296 ) |
| 1313 | //------------------------------------------------- |
| 1314 | |
| 1315 | MACHINE_RESET_MEMBER( cbm8296_state, cbm8296 ) |
| 1316 | { |
| 1317 | MACHINE_RESET_CALL_MEMBER(pet80); |
| 1318 | |
| 1319 | m_cr = 0; |
| 1320 | m_via_pa = 0xff; |
| 1321 | } |
| 1322 | |
| 1323 | |
| 1324 | |
| 1105 | 1325 | //************************************************************************** |
| 1106 | 1326 | // MACHINE DRIVERS |
| 1107 | 1327 | //************************************************************************** |
| r21605 | r21606 | |
| 1512 | 1732 | //------------------------------------------------- |
| 1513 | 1733 | |
| 1514 | 1734 | static MACHINE_CONFIG_DERIVED_CLASS( cbm8296, pet80, cbm8296_state ) |
| 1735 | MCFG_MACHINE_START_OVERRIDE(cbm8296_state, cbm8296) |
| 1736 | MCFG_MACHINE_RESET_OVERRIDE(cbm8296_state, cbm8296) |
| 1737 | |
| 1738 | MCFG_CPU_MODIFY(M6502_TAG) |
| 1739 | MCFG_CPU_PROGRAM_MAP(cbm8296_mem) |
| 1740 | |
| 1741 | MCFG_PLS100_ADD(PLA1_TAG) |
| 1742 | MCFG_PLS100_ADD(PLA2_TAG) |
| 1743 | |
| 1744 | MCFG_DEVICE_REMOVE("ieee8") |
| 1745 | MCFG_IEEE488_SLOT_ADD("ieee8", 8, cbm_ieee488_devices, "c8250", NULL) |
| 1746 | |
| 1515 | 1747 | MCFG_RAM_ADD(RAM_TAG) |
| 1516 | 1748 | MCFG_RAM_DEFAULT_SIZE("128K") |
| 1517 | 1749 | |
| r21605 | r21606 | |
| 1524 | 1756 | //------------------------------------------------- |
| 1525 | 1757 | |
| 1526 | 1758 | static MACHINE_CONFIG_DERIVED( cbm8296d, cbm8296 ) |
| 1759 | MCFG_DEVICE_REMOVE("ieee8") |
| 1760 | MCFG_IEEE488_SLOT_ADD("ieee8", 8, cbm8296d_ieee488_devices, "c8250lp", NULL) |
| 1527 | 1761 | MACHINE_CONFIG_END |
| 1528 | 1762 | |
| 1529 | 1763 | |
| r21605 | r21606 | |
| 1805 | 2039 | //------------------------------------------------- |
| 1806 | 2040 | |
| 1807 | 2041 | ROM_START( cbm8296 ) |
| 1808 | | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1809 | | ROM_LOAD( "324992-02.ue10", 0x0000, 0x1000, CRC(2bac5baf) SHA1(03aa866e4bc4e38e95983a6a82ba925e710bede8) ) // HiRes Emulator |
| 1810 | | ROM_LOAD( "324993-02.ue9", 0x1000, 0x1000, CRC(57444531) SHA1(74aa39888a6bc95762de767fce883203daca0d34) ) // HiRes BASIC |
| 1811 | | ROM_LOAD( "324746-01.ue7", 0x2000, 0x3000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) // BASIC 4 |
| 1812 | | ROM_CONTINUE( 0x6000, 0x1000 ) |
| 1813 | | ROM_LOAD( "8296.ue8", 0x5000, 0x800, CRC(a3475de6) SHA1(b715db83fd26458dfd254bef5c4aae636753f7f5) ) |
| 2042 | ROM_REGION( 0x2000, M6502_TAG, 0 ) |
| 2043 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 2044 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1814 | 2045 | |
| 2046 | ROM_REGION( 0x4000, "basic", 0 ) |
| 2047 | ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) // BASIC 4 |
| 2048 | |
| 2049 | ROM_REGION( 0x1000, "editor", 0 ) |
| 2050 | ROM_LOAD( "8296.ue8", 0x000, 0x800, CRC(a3475de6) SHA1(b715db83fd26458dfd254bef5c4aae636753f7f5) ) |
| 2051 | |
| 1815 | 2052 | ROM_REGION( 0x1000, "charom", 0 ) |
| 1816 | 2053 | ROM_LOAD( "901447-10.uc5", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1817 | 2054 | |
| 1818 | 2055 | ROM_REGION( 0x20, "prom", 0 ) |
| 1819 | 2056 | ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing |
| 1820 | 2057 | |
| 1821 | | ROM_REGION( 0xf5, "pla1", 0 ) |
| 2058 | ROM_REGION( 0x10000, "ue5hack", 0 ) |
| 2059 | ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) ) |
| 2060 | |
| 2061 | ROM_REGION( 0x10000, "ue6hack", 0 ) |
| 2062 | ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) ) |
| 2063 | |
| 2064 | ROM_REGION( 0xf5, PLA1_TAG, 0 ) |
| 1822 | 2065 | ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009 |
| 1823 | 2066 | |
| 1824 | | ROM_REGION( 0xf5, "pla2", 0 ) |
| 2067 | ROM_REGION( 0xf5, PLA2_TAG, 0 ) |
| 1825 | 2068 | ROM_LOAD( "324745-01.ue5", 0x00, 0xf5, NO_DUMP ) // 8700-008 |
| 1826 | 2069 | ROM_END |
| 1827 | 2070 | |
| 1828 | 2071 | |
| 1829 | 2072 | //------------------------------------------------- |
| 2073 | // ROM( cbm8296ed ) |
| 2074 | //------------------------------------------------- |
| 2075 | |
| 2076 | ROM_START( cbm8296ed ) |
| 2077 | ROM_REGION( 0x2000, M6502_TAG, 0 ) |
| 2078 | ROM_LOAD( "oracle.ue10", 0x0000, 0x1000, NO_DUMP ) |
| 2079 | ROM_LOAD( "paperclip.ue9", 0x1000, 0x1000, CRC(8fb11d4b) SHA1(1c0f883cd3b8ded42ec00d83f7e7f0887f91fec0) ) |
| 2080 | |
| 2081 | ROM_REGION( 0x4000, "basic", 0 ) |
| 2082 | ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) // BASIC 4 |
| 2083 | |
| 2084 | ROM_REGION( 0x1000, "editor", 0 ) |
| 2085 | ROM_LOAD( "execudesk.ue8", 0x000, 0x800, CRC(bef0eaa1) SHA1(7ea63a2d651f516e96b8725195c13542ea495ebd) ) |
| 2086 | |
| 2087 | ROM_REGION( 0x1000, "charom", 0 ) |
| 2088 | ROM_LOAD( "901447-10.uc5", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 2089 | |
| 2090 | ROM_REGION( 0x20, "prom", 0 ) |
| 2091 | ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing |
| 2092 | |
| 2093 | ROM_REGION( 0x10000, "ue5hack", 0 ) |
| 2094 | ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) ) |
| 2095 | |
| 2096 | ROM_REGION( 0x10000, "ue6hack", 0 ) |
| 2097 | ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) ) |
| 2098 | |
| 2099 | ROM_REGION( 0xf5, PLA1_TAG, 0 ) |
| 2100 | ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009 |
| 2101 | |
| 2102 | ROM_REGION( 0xf5, PLA2_TAG, 0 ) |
| 2103 | ROM_LOAD( "324745-01.ue5", 0x00, 0xf5, NO_DUMP ) // 8700-008 |
| 2104 | ROM_END |
| 2105 | |
| 2106 | |
| 2107 | //------------------------------------------------- |
| 1830 | 2108 | // ROM( cbm8296d ) |
| 1831 | 2109 | //------------------------------------------------- |
| 1832 | 2110 | |
| 1833 | 2111 | ROM_START( cbm8296d ) |
| 1834 | | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1835 | | ROM_LOAD( "324992-02.ue10", 0x0000, 0x1000, CRC(2bac5baf) SHA1(03aa866e4bc4e38e95983a6a82ba925e710bede8) ) // HiRes Emulator |
| 1836 | | ROM_LOAD( "324993-02.ue9", 0x1000, 0x1000, CRC(57444531) SHA1(74aa39888a6bc95762de767fce883203daca0d34) ) // HiRes BASIC |
| 1837 | | ROM_LOAD( "324746-01.ue7", 0x2000, 0x3000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) // BASIC 4 |
| 1838 | | ROM_CONTINUE( 0x6000, 0x1000 ) |
| 1839 | | ROM_LOAD( "324243-01.ue8", 0x5000, 0x1000, CRC(4000e833) SHA1(dafbdf8ba0a1fe7d7b9586ffbfc9e5390c0fcf6f) ) |
| 2112 | ROM_REGION( 0x2000, M6502_TAG, 0 ) |
| 2113 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 2114 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1840 | 2115 | |
| 2116 | ROM_REGION( 0x4000, "basic", 0 ) |
| 2117 | ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) // BASIC 4 |
| 2118 | |
| 2119 | ROM_REGION( 0x1000, "editor", 0 ) |
| 2120 | ROM_LOAD( "324243-01.ue8", 0x0000, 0x1000, CRC(4000e833) SHA1(dafbdf8ba0a1fe7d7b9586ffbfc9e5390c0fcf6f) ) |
| 2121 | |
| 1841 | 2122 | ROM_REGION( 0x1000, "charom", 0 ) |
| 1842 | 2123 | ROM_LOAD( "901447-10.uc5", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1843 | 2124 | |
| 1844 | 2125 | ROM_REGION( 0x20, "prom", 0 ) |
| 1845 | 2126 | ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing |
| 1846 | 2127 | |
| 1847 | | ROM_REGION( 0xf5, "pla1", 0 ) |
| 2128 | ROM_REGION( 0x10000, "ue5hack", 0 ) |
| 2129 | ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) ) |
| 2130 | |
| 2131 | ROM_REGION( 0x10000, "ue6hack", 0 ) |
| 2132 | ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) ) |
| 2133 | |
| 2134 | ROM_REGION( 0xf5, PLA1_TAG, 0 ) |
| 1848 | 2135 | ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009 |
| 1849 | 2136 | |
| 1850 | | ROM_REGION( 0xf5, "pla2", 0 ) |
| 2137 | ROM_REGION( 0xf5, PLA2_TAG, 0 ) |
| 1851 | 2138 | ROM_LOAD( "324745-01.ue5", 0x00, 0xf5, NO_DUMP ) // 8700-008 |
| 1852 | 2139 | ROM_END |
| 1853 | 2140 | |
| r21605 | r21606 | |
| 1857 | 2144 | //------------------------------------------------- |
| 1858 | 2145 | |
| 1859 | 2146 | ROM_START( cbm8296d_de ) |
| 1860 | | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 2147 | ROM_REGION( 0x2000, M6502_TAG, 0 ) |
| 2148 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 2149 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 2150 | |
| 2151 | ROM_REGION( 0x4000, "basic", 0 ) |
| 2152 | ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) // BASIC 4 |
| 2153 | |
| 2154 | ROM_REGION( 0x1000, "editor", 0 ) |
| 2155 | ROM_LOAD( "324243-04.ue8", 0x0000, 0x1000, CRC(3fe48897) SHA1(c218ff3168514f1d5e7822ae1b1ac3e161523b33) ) |
| 2156 | |
| 2157 | ROM_REGION( 0x1000, "charom", 0 ) |
| 2158 | ROM_LOAD( "324242-10.uc5", 0x0000, 0x1000, CRC(a5632a0f) SHA1(9616f7f18757cccefb702a945f954b644d5b17d1) ) |
| 2159 | |
| 2160 | ROM_REGION( 0x20, "prom", 0 ) |
| 2161 | ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing |
| 2162 | |
| 2163 | ROM_REGION( 0x10000, "ue5hack", 0 ) |
| 2164 | ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) ) |
| 2165 | |
| 2166 | ROM_REGION( 0x10000, "ue6hack", 0 ) |
| 2167 | ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) ) |
| 2168 | |
| 2169 | ROM_REGION( 0xf5, PLA1_TAG, 0 ) |
| 2170 | ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009 |
| 2171 | |
| 2172 | ROM_REGION( 0xf5, PLA2_TAG, 0 ) |
| 2173 | ROM_LOAD( "324745-01.ue5", 0x00, 0xf5, NO_DUMP ) // 8700-008 |
| 2174 | ROM_END |
| 2175 | |
| 2176 | |
| 2177 | //------------------------------------------------- |
| 2178 | // ROM( cbm8296gd ) |
| 2179 | //------------------------------------------------- |
| 2180 | |
| 2181 | ROM_START( cbm8296gd ) |
| 2182 | ROM_REGION( 0x2000, M6502_TAG, 0 ) |
| 1861 | 2183 | ROM_LOAD( "324992-02.ue10", 0x0000, 0x1000, CRC(2bac5baf) SHA1(03aa866e4bc4e38e95983a6a82ba925e710bede8) ) // HiRes Emulator |
| 1862 | 2184 | ROM_LOAD( "324993-02.ue9", 0x1000, 0x1000, CRC(57444531) SHA1(74aa39888a6bc95762de767fce883203daca0d34) ) // HiRes BASIC |
| 1863 | | ROM_LOAD( "324746-01.ue7", 0x2000, 0x3000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) |
| 1864 | | ROM_CONTINUE( 0x6000, 0x1000 ) |
| 1865 | | ROM_LOAD( "324243-04.ue8", 0x5000, 0x1000, CRC(3fe48897) SHA1(c218ff3168514f1d5e7822ae1b1ac3e161523b33) ) |
| 1866 | 2185 | |
| 2186 | ROM_REGION( 0x4000, "basic", 0 ) |
| 2187 | ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) // BASIC 4 |
| 2188 | |
| 2189 | ROM_REGION( 0x1000, "editor", 0 ) |
| 2190 | ROM_LOAD( "324243-01.ue8", 0x0000, 0x1000, CRC(4000e833) SHA1(dafbdf8ba0a1fe7d7b9586ffbfc9e5390c0fcf6f) ) |
| 2191 | |
| 1867 | 2192 | ROM_REGION( 0x1000, "charom", 0 ) |
| 1868 | | ROM_LOAD( "324242-10.uc5", 0x0000, 0x1000, CRC(a5632a0f) SHA1(9616f7f18757cccefb702a945f954b644d5b17d1) ) |
| 2193 | ROM_LOAD( "901447-10.uc5", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1869 | 2194 | |
| 1870 | 2195 | ROM_REGION( 0x20, "prom", 0 ) |
| 1871 | 2196 | ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing |
| 1872 | 2197 | |
| 1873 | | ROM_REGION( 0xf5, "pla1", 0 ) |
| 2198 | ROM_REGION( 0x10000, "ue5hack", 0 ) |
| 2199 | ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) ) |
| 2200 | |
| 2201 | ROM_REGION( 0x10000, "ue6hack", 0 ) |
| 2202 | ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) ) |
| 2203 | |
| 2204 | ROM_REGION( 0xf5, PLA1_TAG, 0 ) |
| 1874 | 2205 | ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009 |
| 1875 | 2206 | |
| 1876 | | ROM_REGION( 0xf5, "pla2", 0 ) |
| 2207 | ROM_REGION( 0xf5, PLA2_TAG, 0 ) |
| 1877 | 2208 | ROM_LOAD( "324745-01.ue5", 0x00, 0xf5, NO_DUMP ) // 8700-008 |
| 1878 | 2209 | ROM_END |
| 1879 | 2210 | |
| r21605 | r21606 | |
| 1911 | 2242 | COMP( 1981, mmf9000_se, pet8032, 0, superpet, petb_se, driver_device, 0, "Commodore Business Machines", "MicroMainFrame 9000 (Sweden/Finland)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1912 | 2243 | COMP( 1981, cbm8096, pet8032, 0, cbm8096, petb, driver_device, 0, "Commodore Business Machines", "CBM 8096", GAME_SUPPORTS_SAVE ) |
| 1913 | 2244 | COMP( 1984, cbm8296, 0, 0, cbm8296, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1914 | | COMP( 1984, cbm8296d, cbm8296, 0, cbm8296d, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296D", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1915 | | COMP( 1984, cbm8296d_de,cbm8296, 0, cbm8296d, petb_de, driver_device, 0, "Commodore Business Machines", "CBM 8296D (Germany)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 2245 | COMP( 1984, cbm8296ed, cbm8296, 0, cbm8296d, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296 ExecuDesk", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 2246 | COMP( 1984, cbm8296d, cbm8296, 0, cbm8296d, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296-D", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 2247 | COMP( 1984, cbm8296d_de,cbm8296, 0, cbm8296d, petb_de, driver_device, 0, "Commodore Business Machines", "CBM 8296-D (Germany)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 2248 | COMP( 1984, cbm8296gd, cbm8296, 0, cbm8296d, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296GD", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |