src/mess/drivers/pc8801.c
| r10075 | r10076 | |
| 16 | 16 | - text DMAC stuff isn't well documented; |
| 17 | 17 | - CRTC really looks like to be a MCU; |
| 18 | 18 | - needs to support V1 / V2 properly; |
| 19 | - Add limits for extend work RAM; |
| 19 | 20 | |
| 20 | 21 | per-game specific TODO: |
| 21 | 22 | - 100 Yen disk(s): reads kanji ports; |
| r10075 | r10076 | |
| 112 | 113 | |
| 113 | 114 | |
| 114 | 115 | #include "emu.h" |
| 115 | | //#include "includes/pc8801.h" |
| 116 | 116 | #include "cpu/z80/z80.h" |
| 117 | 117 | #include "imagedev/cassette.h" |
| 118 | 118 | #include "imagedev/flopdrv.h" |
| r10075 | r10076 | |
| 123 | 123 | #include "machine/i8214.h" |
| 124 | 124 | #include "sound/2203intf.h" |
| 125 | 125 | #include "sound/beep.h" |
| 126 | //#include "includes/pc8801.h" |
| 126 | 127 | |
| 127 | 128 | static UINT32 bankr[5],bankw[5]; |
| 128 | 129 | static UINT8 i8255_0_pc,i8255_1_pc; |
| r10075 | r10076 | |
| 135 | 136 | static UINT16 dma_counter[4],dma_address[4]; |
| 136 | 137 | static UINT8 dmac_mode; |
| 137 | 138 | static UINT8 alu_ctrl1,alu_ctrl2; |
| 139 | static UINT8 extram_mode,extram_bank; |
| 138 | 140 | |
| 139 | 141 | static void pc8801_update_irq(running_machine *machine) |
| 140 | 142 | { |
| r10075 | r10076 | |
| 182 | 184 | UINT8 param[8][5]; |
| 183 | 185 | }crtc; |
| 184 | 186 | |
| 185 | | #define NBASIC_BASE 0x20000 |
| 186 | | #define N88BASIC_BASE 0x28000 |
| 187 | #define NBASIC_BASE 0x80000 |
| 188 | #define N88BASIC_BASE 0x88000 |
| 187 | 189 | #define WRAM_BASE 0x00000 |
| 188 | 190 | #define GRAM_BASE 0xc0000 |
| 189 | 191 | |
| r10075 | r10076 | |
| 363 | 365 | |
| 364 | 366 | static UINT32 pc8801_bankswitch_0_r(running_machine *machine) |
| 365 | 367 | { |
| 368 | if(extram_mode & 1) // access R EXT RAM |
| 369 | return WRAM_BASE + 0x20000 + extram_bank * 0x8000; |
| 370 | |
| 366 | 371 | if(gfx_ctrl & 0x2) //wram read select |
| 367 | 372 | return WRAM_BASE; |
| 368 | 373 | |
| r10075 | r10076 | |
| 374 | 379 | |
| 375 | 380 | static UINT32 pc8801_bankswitch_1_r(running_machine *machine) |
| 376 | 381 | { |
| 382 | if(extram_mode & 1) // access R EXT RAM |
| 383 | return WRAM_BASE + 0x20000 + 0x6000 + (extram_bank * 0x8000); |
| 384 | |
| 377 | 385 | if(gfx_ctrl & 0x2) //wram read select |
| 378 | 386 | return WRAM_BASE + 0x6000; |
| 379 | 387 | |
| r10075 | r10076 | |
| 388 | 396 | |
| 389 | 397 | static UINT32 pc8801_bankswitch_0_w(running_machine *machine) |
| 390 | 398 | { |
| 399 | if(extram_mode & 0x10) // access W EXT RAM |
| 400 | return WRAM_BASE + 0x20000 + (extram_bank * 0x8000); |
| 401 | |
| 391 | 402 | return WRAM_BASE; |
| 392 | 403 | } |
| 393 | 404 | |
| 394 | 405 | static UINT32 pc8801_bankswitch_1_w(running_machine *machine) |
| 395 | 406 | { |
| 407 | if(extram_mode & 0x10) // access W EXT RAM |
| 408 | return WRAM_BASE + 0x20000 + 0x6000 + (extram_bank * 0x8000); |
| 409 | |
| 396 | 410 | return WRAM_BASE + 0x6000; |
| 397 | 411 | } |
| 398 | 412 | |
| r10075 | r10076 | |
| 421 | 435 | { |
| 422 | 436 | vram_sel = 3; |
| 423 | 437 | if(alu_ctrl2 & 0x80) |
| 424 | | return 0xc0000; // TODO: ALU hook-up |
| 438 | return 0xa0000; // TODO: ALU hook-up |
| 425 | 439 | } |
| 426 | 440 | |
| 427 | 441 | return GRAM_BASE + 0x4000 * vram_sel; |
| r10075 | r10076 | |
| 436 | 450 | { |
| 437 | 451 | vram_sel = 3; |
| 438 | 452 | if(alu_ctrl2 & 0x80) |
| 439 | | return 0xc0000; // TODO: ALU hook-up |
| 453 | return 0xa0000; // TODO: ALU hook-up |
| 440 | 454 | } |
| 441 | 455 | |
| 442 | 456 | return GRAM_BASE + 0x4000 * vram_sel; |
| r10075 | r10076 | |
| 456 | 470 | { |
| 457 | 471 | vram_sel = 3; |
| 458 | 472 | if(alu_ctrl2 & 0x80) |
| 459 | | return 0xc0000; // TODO: ALU hook-up |
| 473 | return 0xa0000; // TODO: ALU hook-up |
| 460 | 474 | } |
| 461 | 475 | |
| 462 | 476 | return GRAM_BASE + 0x3000 + (0x4000 * vram_sel); |
| r10075 | r10076 | |
| 476 | 490 | { |
| 477 | 491 | vram_sel = 3; |
| 478 | 492 | if(alu_ctrl2 & 0x80) |
| 479 | | return 0xc0000; // TODO: ALU hook-up |
| 493 | return 0xa0000; // TODO: ALU hook-up |
| 480 | 494 | } |
| 481 | 495 | |
| 482 | 496 | return GRAM_BASE + 0x3000 + (0x4000 * vram_sel); |
| r10075 | r10076 | |
| 746 | 760 | dmac_mode = data; |
| 747 | 761 | } |
| 748 | 762 | |
| 749 | | static WRITE8_HANDLER( pc8801_extram_sel_w ) |
| 763 | static READ8_HANDLER( pc8801_extram_mode_r ) |
| 750 | 764 | { |
| 751 | | if(data & 0x11) |
| 752 | | printf("Extra RAM select %02x\n",data & 0x11); |
| 765 | return (extram_mode ^ 0x11) | 0xee; |
| 753 | 766 | } |
| 754 | 767 | |
| 768 | static WRITE8_HANDLER( pc8801_extram_mode_w ) |
| 769 | { |
| 770 | /* |
| 771 | ---x ---- Write EXT RAM access at 0x0000 - 0x7fff |
| 772 | ---- ---x Read EXT RAM access at 0x0000 - 0x7fff |
| 773 | */ |
| 774 | |
| 775 | extram_mode = data & 0x11; |
| 776 | bankr[0] = pc8801_bankswitch_0_r(space->machine); |
| 777 | bankr[1] = pc8801_bankswitch_1_r(space->machine); |
| 778 | bankw[0] = pc8801_bankswitch_0_w(space->machine); |
| 779 | bankw[1] = pc8801_bankswitch_1_w(space->machine); |
| 780 | } |
| 781 | |
| 782 | static READ8_HANDLER( pc8801_extram_bank_r ) |
| 783 | { |
| 784 | return extram_bank; |
| 785 | } |
| 786 | |
| 787 | static WRITE8_HANDLER( pc8801_extram_bank_w ) |
| 788 | { |
| 789 | extram_bank = data; |
| 790 | bankr[0] = pc8801_bankswitch_0_r(space->machine); |
| 791 | bankr[1] = pc8801_bankswitch_1_r(space->machine); |
| 792 | bankw[0] = pc8801_bankswitch_0_w(space->machine); |
| 793 | bankw[1] = pc8801_bankswitch_1_w(space->machine); |
| 794 | } |
| 795 | |
| 755 | 796 | static WRITE8_HANDLER( pc8801_alu_ctrl1_w ) |
| 756 | 797 | { |
| 757 | 798 | alu_ctrl1 = data; |
| r10075 | r10076 | |
| 818 | 859 | // AM_RANGE(0xd0, 0xd7) AM_NOP /* music & GP-IB */ |
| 819 | 860 | // AM_RANGE(0xd8, 0xd8) AM_NOP /* GP-IB */ |
| 820 | 861 | // AM_RANGE(0xdc, 0xdf) AM_NOP /* MODEM */ |
| 821 | | AM_RANGE(0xe2, 0xe2) AM_WRITE(pc8801_extram_sel_w) /* expand RAM select */ |
| 862 | AM_RANGE(0xe2, 0xe2) AM_READWRITE(pc8801_extram_mode_r,pc8801_extram_mode_w) /* expand RAM mode */ |
| 863 | AM_RANGE(0xe3, 0xe3) AM_READWRITE(pc8801_extram_bank_r,pc8801_extram_bank_w) /* expand RAM bank */ |
| 822 | 864 | AM_RANGE(0xe4, 0xe4) AM_WRITE(pc8801_irq_level_w) |
| 823 | 865 | AM_RANGE(0xe6, 0xe6) AM_WRITE(pc8801_irq_mask_w) |
| 824 | 866 | // AM_RANGE(0xe7, 0xe7) AM_NOP /* (unknown) */ |
| r10075 | r10076 | |
| 884 | 926 | AM_RANGE(0x4000, 0x7fff) AM_RAM |
| 885 | 927 | ADDRESS_MAP_END |
| 886 | 928 | |
| 929 | static TIMER_CALLBACK( pc8801fd_upd765_tc_to_zero ) |
| 930 | { |
| 931 | // pc88va_state *state = machine->driver_data<pc88va_state>(); |
| 932 | |
| 933 | upd765_tc_w(machine->device("upd765"), 0); |
| 934 | } |
| 935 | |
| 887 | 936 | static WRITE8_HANDLER( upd765_mc_w ) |
| 888 | 937 | { |
| 889 | 938 | floppy_mon_w(floppy_get_device(space->machine, 0), (data & 1) ? CLEAR_LINE : ASSERT_LINE); |
| r10075 | r10076 | |
| 892 | 941 | floppy_drive_set_ready_state(floppy_get_device(space->machine, 1), (data & 2), 0); |
| 893 | 942 | } |
| 894 | 943 | |
| 895 | | static TIMER_CALLBACK( pc8801fd_upd765_tc_to_zero ) |
| 896 | | { |
| 897 | | // pc88va_state *state = machine->driver_data<pc88va_state>(); |
| 898 | | |
| 899 | | upd765_tc_w(machine->device("upd765"), 0); |
| 900 | | } |
| 901 | | |
| 902 | 944 | static READ8_HANDLER( upd765_tc_r ) |
| 903 | 945 | { |
| 904 | 946 | //pc88va_state *state = space->machine->driver_data<pc88va_state>(); |
| r10075 | r10076 | |
| 917 | 959 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 918 | 960 | AM_RANGE(0xf0, 0xf0) AM_WRITE(fdc_irq_vector_w) // Interrupt Opcode Port |
| 919 | 961 | // AM_RANGE(0xf4, 0xf4) // Drive mode, 2d, 2dd, 2hd |
| 920 | | AM_RANGE(0xf7, 0xf7) AM_WRITENOP // printer port output |
| 962 | // AM_RANGE(0xf7, 0xf7) AM_WRITENOP // printer port output |
| 921 | 963 | AM_RANGE(0xf8, 0xf8) AM_READWRITE(upd765_tc_r,upd765_mc_w) // (R) Terminal Count Port (W) Motor Control Port |
| 922 | 964 | AM_RANGE(0xfa, 0xfa) AM_DEVREAD("upd765", upd765_status_r ) |
| 923 | 965 | AM_RANGE(0xfb, 0xfb) AM_DEVREADWRITE("upd765", upd765_data_r, upd765_data_w ) |
| r10075 | r10076 | |
| 1335 | 1377 | |
| 1336 | 1378 | { |
| 1337 | 1379 | vrtc_irq_mask = 0; |
| 1380 | rtc_irq_mask = 0; |
| 1338 | 1381 | sound_irq_mask = 0; |
| 1339 | 1382 | |
| 1340 | 1383 | i8214_irq_level = 0; |
| r10075 | r10076 | |
| 1344 | 1387 | { |
| 1345 | 1388 | dma_address[2] = 0xf300; |
| 1346 | 1389 | } |
| 1390 | |
| 1391 | { |
| 1392 | extram_bank = 0; |
| 1393 | extram_mode = 0; |
| 1394 | } |
| 1347 | 1395 | } |
| 1348 | 1396 | |
| 1349 | 1397 | static PALETTE_INIT( pc8801 ) |
| r10075 | r10076 | |
| 1424 | 1472 | |
| 1425 | 1473 | ROM_START( pc8801 ) /* Basic version 1.0 */ |
| 1426 | 1474 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASE00 ) |
| 1427 | | ROM_LOAD( "n80.rom", 0x20000, 0x8000, CRC(5cb8b584) SHA1(063609dd518c124a4fc9ba35d1bae35771666a34) ) |
| 1428 | | ROM_LOAD( "n88.rom", 0x28000, 0x8000, CRC(ffd68be0) SHA1(3518193b8207bdebf22c1380c2db8c554baff329) ) |
| 1429 | | ROM_LOAD( "n88_0.rom", 0x30000, 0x2000, CRC(61984bab) SHA1(d1ae642aed4f0584eeb81ff50180db694e5101d4) ) |
| 1475 | ROM_LOAD( "n80.rom", 0x80000, 0x8000, CRC(5cb8b584) SHA1(063609dd518c124a4fc9ba35d1bae35771666a34) ) |
| 1476 | ROM_LOAD( "n88.rom", 0x88000, 0x8000, CRC(ffd68be0) SHA1(3518193b8207bdebf22c1380c2db8c554baff329) ) |
| 1477 | ROM_LOAD( "n88_0.rom", 0x90000, 0x2000, CRC(61984bab) SHA1(d1ae642aed4f0584eeb81ff50180db694e5101d4) ) |
| 1430 | 1478 | |
| 1431 | 1479 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1432 | 1480 | ROM_LOAD( "disk.rom", 0x0000, 0x0800, CRC(2158d307) SHA1(bb7103a0818850a039c67ff666a31ce49a8d516f) ) |
| r10075 | r10076 | |
| 1439 | 1487 | at least 1 Kanji ROM). */ |
| 1440 | 1488 | ROM_START( pc8801mk2 ) /* Basic version 1.3 */ |
| 1441 | 1489 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) |
| 1442 | | ROM_LOAD( "m2_n80.rom", 0x20000, 0x8000, CRC(91d84b1a) SHA1(d8a1abb0df75936b3fc9d226ccdb664a9070ffb1) ) |
| 1443 | | ROM_LOAD( "m2_n88.rom", 0x28000, 0x8000, CRC(f35169eb) SHA1(ef1f067f819781d9fb2713836d195866f0f81501) ) |
| 1444 | | ROM_LOAD( "m2_n88_0.rom", 0x30000, 0x2000, CRC(5eb7a8d0) SHA1(95a70af83b0637a5a0f05e31fb0452bb2cb68055) ) |
| 1490 | ROM_LOAD( "m2_n80.rom", 0x80000, 0x8000, CRC(91d84b1a) SHA1(d8a1abb0df75936b3fc9d226ccdb664a9070ffb1) ) |
| 1491 | ROM_LOAD( "m2_n88.rom", 0x88000, 0x8000, CRC(f35169eb) SHA1(ef1f067f819781d9fb2713836d195866f0f81501) ) |
| 1492 | ROM_LOAD( "m2_n88_0.rom", 0x90000, 0x2000, CRC(5eb7a8d0) SHA1(95a70af83b0637a5a0f05e31fb0452bb2cb68055) ) |
| 1445 | 1493 | |
| 1446 | 1494 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1447 | 1495 | ROM_LOAD( "disk.rom", 0x0000, 0x0800, CRC(2158d307) SHA1(bb7103a0818850a039c67ff666a31ce49a8d516f) ) |
| r10075 | r10076 | |
| 1453 | 1501 | |
| 1454 | 1502 | ROM_START( pc8801mk2sr ) |
| 1455 | 1503 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) |
| 1456 | | ROM_LOAD( "mk2sr_n80.rom", 0x20000, 0x8000, CRC(27e1857d) SHA1(5b922ed9de07d2a729bdf1da7b57c50ddf08809a) ) |
| 1457 | | ROM_LOAD( "mk2sr_n88.rom", 0x28000, 0x8000, CRC(a0fc0473) SHA1(3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff) ) |
| 1458 | | ROM_LOAD( "mk2sr_n88_0.rom", 0x30000, 0x2000, CRC(710a63ec) SHA1(d239c26ad7ac5efac6e947b0e9549b1534aa970d) ) |
| 1459 | | ROM_LOAD( "n88_1.rom", 0x32000, 0x2000, CRC(c0bd2aa6) SHA1(8528eef7946edf6501a6ccb1f416b60c64efac7c) ) |
| 1460 | | ROM_LOAD( "n88_2.rom", 0x34000, 0x2000, CRC(af2b6efa) SHA1(b7c8bcea219b77d9cc3ee0efafe343cc307425d1) ) |
| 1461 | | ROM_LOAD( "n88_3.rom", 0x36000, 0x2000, CRC(7713c519) SHA1(efce0b51cab9f0da6cf68507757f1245a2867a72) ) |
| 1504 | ROM_LOAD( "mk2sr_n80.rom", 0x80000, 0x8000, CRC(27e1857d) SHA1(5b922ed9de07d2a729bdf1da7b57c50ddf08809a) ) |
| 1505 | ROM_LOAD( "mk2sr_n88.rom", 0x88000, 0x8000, CRC(a0fc0473) SHA1(3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff) ) |
| 1506 | ROM_LOAD( "mk2sr_n88_0.rom", 0x90000, 0x2000, CRC(710a63ec) SHA1(d239c26ad7ac5efac6e947b0e9549b1534aa970d) ) |
| 1507 | ROM_LOAD( "n88_1.rom", 0x92000, 0x2000, CRC(c0bd2aa6) SHA1(8528eef7946edf6501a6ccb1f416b60c64efac7c) ) |
| 1508 | ROM_LOAD( "n88_2.rom", 0x94000, 0x2000, CRC(af2b6efa) SHA1(b7c8bcea219b77d9cc3ee0efafe343cc307425d1) ) |
| 1509 | ROM_LOAD( "n88_3.rom", 0x96000, 0x2000, CRC(7713c519) SHA1(efce0b51cab9f0da6cf68507757f1245a2867a72) ) |
| 1462 | 1510 | |
| 1463 | 1511 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1464 | 1512 | ROM_LOAD( "disk.rom", 0x0000, 0x0800, CRC(2158d307) SHA1(bb7103a0818850a039c67ff666a31ce49a8d516f) ) |
| r10075 | r10076 | |
| 1474 | 1522 | |
| 1475 | 1523 | ROM_START( pc8801mk2fr ) |
| 1476 | 1524 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) |
| 1477 | | ROM_LOAD( "m2fr_n80.rom", 0x20000, 0x8000, CRC(27e1857d) SHA1(5b922ed9de07d2a729bdf1da7b57c50ddf08809a) ) |
| 1478 | | ROM_LOAD( "m2fr_n88.rom", 0x28000, 0x8000, CRC(b9daf1aa) SHA1(696a480232bcf8c827c7aeea8329db5c44420d2a) ) |
| 1479 | | ROM_LOAD( "m2fr_n88_0.rom", 0x30000, 0x2000, CRC(710a63ec) SHA1(d239c26ad7ac5efac6e947b0e9549b1534aa970d) ) |
| 1480 | | ROM_LOAD( "m2fr_n88_1.rom", 0x32000, 0x2000, CRC(e3e78a37) SHA1(85ecd287fe72b56e54c8b01ea7492ca4a69a7470) ) |
| 1481 | | ROM_LOAD( "m2fr_n88_2.rom", 0x34000, 0x2000, CRC(98c3a7b2) SHA1(fc4980762d3caa56964d0ae583424756f511d186) ) |
| 1482 | | ROM_LOAD( "m2fr_n88_3.rom", 0x36000, 0x2000, CRC(0ca08abd) SHA1(a5a42d0b7caa84c3bc6e337c9f37874d82f9c14b) ) |
| 1525 | ROM_LOAD( "m2fr_n80.rom", 0x80000, 0x8000, CRC(27e1857d) SHA1(5b922ed9de07d2a729bdf1da7b57c50ddf08809a) ) |
| 1526 | ROM_LOAD( "m2fr_n88.rom", 0x88000, 0x8000, CRC(b9daf1aa) SHA1(696a480232bcf8c827c7aeea8329db5c44420d2a) ) |
| 1527 | ROM_LOAD( "m2fr_n88_0.rom", 0x90000, 0x2000, CRC(710a63ec) SHA1(d239c26ad7ac5efac6e947b0e9549b1534aa970d) ) |
| 1528 | ROM_LOAD( "m2fr_n88_1.rom", 0x92000, 0x2000, CRC(e3e78a37) SHA1(85ecd287fe72b56e54c8b01ea7492ca4a69a7470) ) |
| 1529 | ROM_LOAD( "m2fr_n88_2.rom", 0x94000, 0x2000, CRC(98c3a7b2) SHA1(fc4980762d3caa56964d0ae583424756f511d186) ) |
| 1530 | ROM_LOAD( "m2fr_n88_3.rom", 0x96000, 0x2000, CRC(0ca08abd) SHA1(a5a42d0b7caa84c3bc6e337c9f37874d82f9c14b) ) |
| 1483 | 1531 | |
| 1484 | 1532 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1485 | 1533 | ROM_LOAD( "m2fr_disk.rom", 0x0000, 0x0800, CRC(2163b304) SHA1(80da2dee49d4307f00895a129a5cfeff00cf5321) ) |
| r10075 | r10076 | |
| 1494 | 1542 | |
| 1495 | 1543 | ROM_START( pc8801mk2mr ) |
| 1496 | 1544 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) |
| 1497 | | ROM_LOAD( "m2mr_n80.rom", 0x20000, 0x8000, CRC(f074b515) SHA1(ebe9cf4cf57f1602c887f609a728267f8d953dce) ) |
| 1498 | | ROM_LOAD( "m2mr_n88.rom", 0x28000, 0x8000, CRC(69caa38e) SHA1(3c64090237152ee77c76e04d6f36bad7297bea93) ) |
| 1499 | | ROM_LOAD( "m2mr_n88_0.rom", 0x30000, 0x2000, CRC(710a63ec) SHA1(d239c26ad7ac5efac6e947b0e9549b1534aa970d) ) |
| 1500 | | ROM_LOAD( "m2mr_n88_1.rom", 0x32000, 0x2000, CRC(e3e78a37) SHA1(85ecd287fe72b56e54c8b01ea7492ca4a69a7470) ) |
| 1501 | | ROM_LOAD( "m2mr_n88_2.rom", 0x34000, 0x2000, CRC(11176e0b) SHA1(f13f14f3d62df61498a23f7eb624e1a646caea45) ) |
| 1502 | | ROM_LOAD( "m2mr_n88_3.rom", 0x36000, 0x2000, CRC(0ca08abd) SHA1(a5a42d0b7caa84c3bc6e337c9f37874d82f9c14b) ) |
| 1545 | ROM_LOAD( "m2mr_n80.rom", 0x80000, 0x8000, CRC(f074b515) SHA1(ebe9cf4cf57f1602c887f609a728267f8d953dce) ) |
| 1546 | ROM_LOAD( "m2mr_n88.rom", 0x88000, 0x8000, CRC(69caa38e) SHA1(3c64090237152ee77c76e04d6f36bad7297bea93) ) |
| 1547 | ROM_LOAD( "m2mr_n88_0.rom", 0x90000, 0x2000, CRC(710a63ec) SHA1(d239c26ad7ac5efac6e947b0e9549b1534aa970d) ) |
| 1548 | ROM_LOAD( "m2mr_n88_1.rom", 0x92000, 0x2000, CRC(e3e78a37) SHA1(85ecd287fe72b56e54c8b01ea7492ca4a69a7470) ) |
| 1549 | ROM_LOAD( "m2mr_n88_2.rom", 0x94000, 0x2000, CRC(11176e0b) SHA1(f13f14f3d62df61498a23f7eb624e1a646caea45) ) |
| 1550 | ROM_LOAD( "m2mr_n88_3.rom", 0x96000, 0x2000, CRC(0ca08abd) SHA1(a5a42d0b7caa84c3bc6e337c9f37874d82f9c14b) ) |
| 1503 | 1551 | |
| 1504 | 1552 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1505 | 1553 | ROM_LOAD( "m2mr_disk.rom", 0x0000, 0x2000, CRC(2447516b) SHA1(1492116f15c426f9796dc2bb6fcccf2656c0ca75) ) |
| r10075 | r10076 | |
| 1517 | 1565 | |
| 1518 | 1566 | ROM_START( pc8801mh ) |
| 1519 | 1567 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) |
| 1520 | | ROM_LOAD( "mh_n80.rom", 0x20000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1521 | | ROM_LOAD( "mh_n88.rom", 0x28000, 0x8000, CRC(64c5d162) SHA1(3e0aac76fb5d7edc99df26fa9f365fd991742a5d) ) |
| 1522 | | ROM_LOAD( "mh_n88_0.rom", 0x30000, 0x2000, CRC(deb384fb) SHA1(5f38cafa8aab16338038c82267800446fd082e79) ) |
| 1523 | | ROM_LOAD( "mh_n88_1.rom", 0x32000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1524 | | ROM_LOAD( "mh_n88_2.rom", 0x34000, 0x2000, CRC(6aa6b6d8) SHA1(2a077ab444a4fd1470cafb06fd3a0f45420c39cc) ) |
| 1525 | | ROM_LOAD( "mh_n88_3.rom", 0x36000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1568 | ROM_LOAD( "mh_n80.rom", 0x80000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1569 | ROM_LOAD( "mh_n88.rom", 0x88000, 0x8000, CRC(64c5d162) SHA1(3e0aac76fb5d7edc99df26fa9f365fd991742a5d) ) |
| 1570 | ROM_LOAD( "mh_n88_0.rom", 0x90000, 0x2000, CRC(deb384fb) SHA1(5f38cafa8aab16338038c82267800446fd082e79) ) |
| 1571 | ROM_LOAD( "mh_n88_1.rom", 0x92000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1572 | ROM_LOAD( "mh_n88_2.rom", 0x94000, 0x2000, CRC(6aa6b6d8) SHA1(2a077ab444a4fd1470cafb06fd3a0f45420c39cc) ) |
| 1573 | ROM_LOAD( "mh_n88_3.rom", 0x96000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1526 | 1574 | |
| 1527 | 1575 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1528 | 1576 | ROM_LOAD( "mh_disk.rom", 0x0000, 0x2000, CRC(a222ecf0) SHA1(79e9c0786a14142f7a83690bf41fb4f60c5c1004) ) |
| r10075 | r10076 | |
| 1540 | 1588 | |
| 1541 | 1589 | ROM_START( pc8801fa ) |
| 1542 | 1590 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) |
| 1543 | | ROM_LOAD( "fa_n80.rom", 0x20000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1544 | | ROM_LOAD( "fa_n88.rom", 0x28000, 0x8000, CRC(73573432) SHA1(9b1346d44044eeea921c4cce69b5dc49dbc0b7e9) ) |
| 1545 | | ROM_LOAD( "fa_n88_0.rom", 0x30000, 0x2000, CRC(a72697d7) SHA1(5aedbc5916d67ef28767a2b942864765eea81bb8) ) |
| 1546 | | ROM_LOAD( "fa_n88_1.rom", 0x32000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1547 | | ROM_LOAD( "fa_n88_2.rom", 0x34000, 0x2000, CRC(6aee9a4e) SHA1(e94278682ef9e9bbb82201f72c50382748dcea2a) ) |
| 1548 | | ROM_LOAD( "fa_n88_3.rom", 0x36000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1591 | ROM_LOAD( "fa_n80.rom", 0x80000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1592 | ROM_LOAD( "fa_n88.rom", 0x88000, 0x8000, CRC(73573432) SHA1(9b1346d44044eeea921c4cce69b5dc49dbc0b7e9) ) |
| 1593 | ROM_LOAD( "fa_n88_0.rom", 0x90000, 0x2000, CRC(a72697d7) SHA1(5aedbc5916d67ef28767a2b942864765eea81bb8) ) |
| 1594 | ROM_LOAD( "fa_n88_1.rom", 0x92000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1595 | ROM_LOAD( "fa_n88_2.rom", 0x94000, 0x2000, CRC(6aee9a4e) SHA1(e94278682ef9e9bbb82201f72c50382748dcea2a) ) |
| 1596 | ROM_LOAD( "fa_n88_3.rom", 0x96000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1549 | 1597 | |
| 1550 | 1598 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1551 | 1599 | ROM_LOAD( "fa_disk.rom", 0x0000, 0x0800, CRC(2163b304) SHA1(80da2dee49d4307f00895a129a5cfeff00cf5321) ) |
| r10075 | r10076 | |
| 1563 | 1611 | |
| 1564 | 1612 | ROM_START( pc8801ma ) |
| 1565 | 1613 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) |
| 1566 | | ROM_LOAD( "ma_n80.rom", 0x20000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1567 | | ROM_LOAD( "ma_n88.rom", 0x28000, 0x8000, CRC(73573432) SHA1(9b1346d44044eeea921c4cce69b5dc49dbc0b7e9) ) |
| 1568 | | ROM_LOAD( "ma_n88_0.rom", 0x30000, 0x2000, CRC(a72697d7) SHA1(5aedbc5916d67ef28767a2b942864765eea81bb8) ) |
| 1569 | | ROM_LOAD( "ma_n88_1.rom", 0x32000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1570 | | ROM_LOAD( "ma_n88_2.rom", 0x34000, 0x2000, CRC(6aee9a4e) SHA1(e94278682ef9e9bbb82201f72c50382748dcea2a) ) |
| 1571 | | ROM_LOAD( "ma_n88_3.rom", 0x36000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1614 | ROM_LOAD( "ma_n80.rom", 0x80000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1615 | ROM_LOAD( "ma_n88.rom", 0x88000, 0x8000, CRC(73573432) SHA1(9b1346d44044eeea921c4cce69b5dc49dbc0b7e9) ) |
| 1616 | ROM_LOAD( "ma_n88_0.rom", 0x90000, 0x2000, CRC(a72697d7) SHA1(5aedbc5916d67ef28767a2b942864765eea81bb8) ) |
| 1617 | ROM_LOAD( "ma_n88_1.rom", 0x92000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1618 | ROM_LOAD( "ma_n88_2.rom", 0x94000, 0x2000, CRC(6aee9a4e) SHA1(e94278682ef9e9bbb82201f72c50382748dcea2a) ) |
| 1619 | ROM_LOAD( "ma_n88_3.rom", 0x96000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1572 | 1620 | |
| 1573 | 1621 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1574 | 1622 | ROM_LOAD( "ma_disk.rom", 0x0000, 0x2000, CRC(a222ecf0) SHA1(79e9c0786a14142f7a83690bf41fb4f60c5c1004) ) |
| r10075 | r10076 | |
| 1590 | 1638 | |
| 1591 | 1639 | ROM_START( pc8801ma2 ) |
| 1592 | 1640 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) |
| 1593 | | ROM_LOAD( "ma2_n80.rom", 0x20000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1594 | | ROM_LOAD( "ma2_n88.rom", 0x28000, 0x8000, CRC(ae1a6ebc) SHA1(e53d628638f663099234e07837ffb1b0f86d480d) ) |
| 1595 | | ROM_LOAD( "ma2_n88_0.rom", 0x30000, 0x2000, CRC(a72697d7) SHA1(5aedbc5916d67ef28767a2b942864765eea81bb8) ) |
| 1596 | | ROM_LOAD( "ma2_n88_1.rom", 0x32000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1597 | | ROM_LOAD( "ma2_n88_2.rom", 0x34000, 0x2000, CRC(1d6277b6) SHA1(dd9c3e50169b75bb707ef648f20d352e6a8bcfe4) ) |
| 1598 | | ROM_LOAD( "ma2_n88_3.rom", 0x36000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1641 | ROM_LOAD( "ma2_n80.rom", 0x80000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1642 | ROM_LOAD( "ma2_n88.rom", 0x88000, 0x8000, CRC(ae1a6ebc) SHA1(e53d628638f663099234e07837ffb1b0f86d480d) ) |
| 1643 | ROM_LOAD( "ma2_n88_0.rom", 0x90000, 0x2000, CRC(a72697d7) SHA1(5aedbc5916d67ef28767a2b942864765eea81bb8) ) |
| 1644 | ROM_LOAD( "ma2_n88_1.rom", 0x92000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1645 | ROM_LOAD( "ma2_n88_2.rom", 0x94000, 0x2000, CRC(1d6277b6) SHA1(dd9c3e50169b75bb707ef648f20d352e6a8bcfe4) ) |
| 1646 | ROM_LOAD( "ma2_n88_3.rom", 0x96000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1599 | 1647 | |
| 1600 | 1648 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1601 | 1649 | ROM_LOAD( "ma2_disk.rom", 0x0000, 0x2000, CRC(a222ecf0) SHA1(79e9c0786a14142f7a83690bf41fb4f60c5c1004) ) |
| r10075 | r10076 | |
| 1617 | 1665 | |
| 1618 | 1666 | ROM_START( pc8801mc ) |
| 1619 | 1667 | ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) |
| 1620 | | ROM_LOAD( "mc_n80.rom", 0x20000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1621 | | ROM_LOAD( "mc_n88.rom", 0x28000, 0x8000, CRC(356d5719) SHA1(5d9ba80d593a5119f52aae1ccd61a1457b4a89a1) ) |
| 1622 | | ROM_LOAD( "mc_n88_0.rom", 0x30000, 0x2000, CRC(a72697d7) SHA1(5aedbc5916d67ef28767a2b942864765eea81bb8) ) |
| 1623 | | ROM_LOAD( "mc_n88_1.rom", 0x32000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1624 | | ROM_LOAD( "mc_n88_2.rom", 0x34000, 0x2000, CRC(1d6277b6) SHA1(dd9c3e50169b75bb707ef648f20d352e6a8bcfe4) ) |
| 1625 | | ROM_LOAD( "mc_n88_3.rom", 0x36000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1668 | ROM_LOAD( "mc_n80.rom", 0x80000, 0x8000, CRC(8a2a1e17) SHA1(06dae1db384aa29d81c5b6ed587877e7128fcb35) ) |
| 1669 | ROM_LOAD( "mc_n88.rom", 0x88000, 0x8000, CRC(356d5719) SHA1(5d9ba80d593a5119f52aae1ccd61a1457b4a89a1) ) |
| 1670 | ROM_LOAD( "mc_n88_0.rom", 0x90000, 0x2000, CRC(a72697d7) SHA1(5aedbc5916d67ef28767a2b942864765eea81bb8) ) |
| 1671 | ROM_LOAD( "mc_n88_1.rom", 0x92000, 0x2000, CRC(7ad5d943) SHA1(4ae4d37409ff99411a623da9f6a44192170a854e) ) |
| 1672 | ROM_LOAD( "mc_n88_2.rom", 0x94000, 0x2000, CRC(1d6277b6) SHA1(dd9c3e50169b75bb707ef648f20d352e6a8bcfe4) ) |
| 1673 | ROM_LOAD( "mc_n88_3.rom", 0x96000, 0x2000, CRC(692cbcd8) SHA1(af452aed79b072c4d17985830b7c5dca64d4b412) ) |
| 1626 | 1674 | |
| 1627 | 1675 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1628 | 1676 | ROM_LOAD( "mc_disk.rom", 0x0000, 0x2000, CRC(a222ecf0) SHA1(79e9c0786a14142f7a83690bf41fb4f60c5c1004) ) |