trunk/src/mess/drivers/pc9801.c
| r19232 | r19233 | |
| 279 | 279 | |
| 280 | 280 | required_shared_ptr<UINT8> m_video_ram_1; |
| 281 | 281 | required_shared_ptr<UINT8> m_video_ram_2; |
| 282 | UINT8 *m_ipl_rom; |
| 283 | UINT8 *m_work_ram; |
| 284 | UINT8 *m_ext_work_ram; |
| 282 | 285 | UINT8 *m_char_rom; |
| 283 | 286 | UINT8 *m_kanji_rom; |
| 287 | UINT8 *m_pcg_ram; |
| 284 | 288 | |
| 285 | 289 | UINT8 m_portb_tmp; |
| 286 | 290 | UINT8 m_dma_offset[4]; |
| r19232 | r19233 | |
| 320 | 324 | /* PC9821 specific */ |
| 321 | 325 | UINT8 m_analog256,m_analog256e; |
| 322 | 326 | UINT8 m_sdip[24], m_sdip_bank; |
| 323 | | UINT8 *m_ideram; |
| 327 | UINT8 *m_ide_rom; |
| 328 | UINT8 *m_ide_ram; |
| 329 | UINT8 *m_unk_rom; |
| 324 | 330 | UINT8 *m_ext_gvram; |
| 325 | 331 | UINT8 *m_vram256; |
| 326 | 332 | UINT8 m_pc9821_window_bank; |
| r19232 | r19233 | |
| 440 | 446 | UINT8 m_sdip_read(UINT16 port, UINT8 sdip_offset); |
| 441 | 447 | void m_sdip_write(UINT16 port, UINT8 sdip_offset,UINT8 data); |
| 442 | 448 | public: |
| 443 | | DECLARE_MACHINE_START(pc9801); |
| 449 | DECLARE_MACHINE_START(pc9801_common); |
| 450 | DECLARE_MACHINE_START(pc9801f); |
| 444 | 451 | DECLARE_MACHINE_START(pc9801rs); |
| 445 | 452 | DECLARE_MACHINE_START(pc9821); |
| 446 | 453 | |
| r19232 | r19233 | |
| 842 | 849 | if(offset & 4) |
| 843 | 850 | printf("Write to undefined port [%02x] <- %02x\n",offset+0x40,data); |
| 844 | 851 | else |
| 845 | | printf("Write to 8251 kbd port [%02x] <- %02x\n",offset+0x40,data); |
| 852 | { |
| 853 | //printf("Write to 8251 kbd port [%02x] <- %02x\n",offset+0x40,data); |
| 854 | } |
| 846 | 855 | } |
| 847 | 856 | } |
| 848 | 857 | |
| r19232 | r19233 | |
| 1042 | 1051 | switch((offset & 0xe) + 1) |
| 1043 | 1052 | { |
| 1044 | 1053 | case 0x09://cg window font read |
| 1045 | | { |
| 1046 | | UINT8 *pcg = memregion("pcg")->base(); |
| 1047 | | |
| 1048 | | return pcg[((m_font_addr & 0x7f7f) << 4) | m_font_lr | (m_font_line & 0x0f)]; |
| 1049 | | } |
| 1054 | return m_pcg_ram[((m_font_addr & 0x7f7f) << 4) | m_font_lr | (m_font_line & 0x0f)]; |
| 1050 | 1055 | } |
| 1051 | 1056 | |
| 1052 | 1057 | printf("Read to undefined port [%02x]\n",offset+0xa0); |
| r19232 | r19233 | |
| 1109 | 1114 | return; |
| 1110 | 1115 | case 0x09: //cg window font write |
| 1111 | 1116 | { |
| 1112 | | UINT8 *pcg = memregion("pcg")->base(); |
| 1113 | | |
| 1114 | | pcg[((m_font_addr & 0x7f7f) << 4) | m_font_lr | m_font_line] = data; |
| 1117 | m_pcg_ram[((m_font_addr & 0x7f7f) << 4) | m_font_lr | m_font_line] = data; |
| 1115 | 1118 | return; |
| 1116 | 1119 | } |
| 1117 | 1120 | } |
| r19232 | r19233 | |
| 1322 | 1325 | * |
| 1323 | 1326 | ************************************/ |
| 1324 | 1327 | |
| 1325 | | READ8_MEMBER(pc9801_state::pc9801rs_wram_r) |
| 1326 | | { |
| 1327 | | UINT8 *WRAM = memregion("wram")->base(); |
| 1328 | READ8_MEMBER(pc9801_state::pc9801rs_wram_r) { return m_work_ram[offset]; } |
| 1329 | WRITE8_MEMBER(pc9801_state::pc9801rs_wram_w) { m_work_ram[offset] = data; } |
| 1328 | 1330 | |
| 1329 | | return WRAM[offset]; |
| 1330 | | } |
| 1331 | READ8_MEMBER(pc9801_state::pc9801rs_ex_wram_r) { return m_ext_work_ram[offset]; } |
| 1332 | WRITE8_MEMBER(pc9801_state::pc9801rs_ex_wram_w) { m_ext_work_ram[offset] = data; } |
| 1331 | 1333 | |
| 1332 | | WRITE8_MEMBER(pc9801_state::pc9801rs_wram_w) |
| 1333 | | { |
| 1334 | | UINT8 *WRAM = memregion("wram")->base(); |
| 1334 | READ8_MEMBER(pc9801_state::pc9801rs_ipl_r) { return m_ipl_rom[(offset & 0x1ffff)+(m_rom_bank*0x20000)]; } |
| 1335 | 1335 | |
| 1336 | | WRAM[offset] = data; |
| 1337 | | } |
| 1338 | | |
| 1339 | | READ8_MEMBER(pc9801_state::pc9801rs_ex_wram_r) |
| 1340 | | { |
| 1341 | | UINT8 *EX_WRAM = memregion("ex_wram")->base(); |
| 1342 | | |
| 1343 | | return EX_WRAM[offset]; |
| 1344 | | } |
| 1345 | | |
| 1346 | | WRITE8_MEMBER(pc9801_state::pc9801rs_ex_wram_w) |
| 1347 | | { |
| 1348 | | UINT8 *EX_WRAM = memregion("ex_wram")->base(); |
| 1349 | | |
| 1350 | | EX_WRAM[offset] = data; |
| 1351 | | } |
| 1352 | | |
| 1353 | | READ8_MEMBER(pc9801_state::pc9801rs_ipl_r) |
| 1354 | | { |
| 1355 | | UINT8 *ROM = memregion("ipl")->base(); |
| 1356 | | |
| 1357 | | return ROM[(offset & 0x1ffff)+(m_rom_bank*0x20000)]; |
| 1358 | | } |
| 1359 | | |
| 1360 | 1336 | /* TODO: it's possible that the offset calculation is actually linear. */ |
| 1361 | 1337 | /* TODO: having this non-linear makes the system to boot in BASIC for PC-9821. Perhaps it stores settings? How to change these? */ |
| 1362 | 1338 | READ8_MEMBER(pc9801_state::pc9801rs_knjram_r) |
| 1363 | 1339 | { |
| 1364 | | UINT8 *pcg = memregion("pcg")->base(); |
| 1365 | | |
| 1366 | | return pcg[((m_font_addr & 0x7f7f) << 4) | m_font_lr | ((offset >> 1) & 0x0f)]; |
| 1340 | return m_pcg_ram[((m_font_addr & 0x7f7f) << 4) | m_font_lr | ((offset >> 1) & 0x0f)]; |
| 1367 | 1341 | } |
| 1368 | 1342 | |
| 1369 | 1343 | WRITE8_MEMBER(pc9801_state::pc9801rs_knjram_w) |
| 1370 | 1344 | { |
| 1371 | | UINT8 *pcg = memregion("pcg")->base(); |
| 1372 | | |
| 1373 | | pcg[((m_font_addr & 0x7f7f) << 4) | m_font_lr | ((offset >> 1) & 0x0f)] = data; |
| 1345 | m_pcg_ram[((m_font_addr & 0x7f7f) << 4) | m_font_lr | ((offset >> 1) & 0x0f)] = data; |
| 1374 | 1346 | } |
| 1375 | 1347 | |
| 1376 | 1348 | /* FF-based */ |
| 1377 | 1349 | WRITE8_MEMBER(pc9801_state::pc9801rs_bank_w) |
| 1378 | 1350 | { |
| 1379 | | |
| 1380 | 1351 | if(offset == 1) |
| 1381 | 1352 | { |
| 1382 | 1353 | if((data & 0xf0) == 0x00 || (data & 0xf0) == 0x10) |
| r19232 | r19233 | |
| 1442 | 1413 | |
| 1443 | 1414 | READ8_MEMBER(pc9801_state::pc9801rs_memory_r) |
| 1444 | 1415 | { |
| 1445 | | |
| 1446 | 1416 | if(m_gate_a20 == 0) |
| 1447 | 1417 | offset &= 0xfffff; |
| 1448 | 1418 | |
| r19232 | r19233 | |
| 1461 | 1431 | |
| 1462 | 1432 | WRITE8_MEMBER(pc9801_state::pc9801rs_memory_w) |
| 1463 | 1433 | { |
| 1464 | | |
| 1465 | 1434 | if(m_gate_a20 == 0) |
| 1466 | 1435 | offset &= 0xfffff; |
| 1467 | 1436 | |
| r19232 | r19233 | |
| 1472 | 1441 | else if(offset >= 0x00100000 && offset <= 0x00100000+m_ram_size-1) { pc9801rs_ex_wram_w(space,offset-0x00100000,data); } |
| 1473 | 1442 | //else |
| 1474 | 1443 | // printf("%08x %08x\n",offset,data); |
| 1475 | | |
| 1476 | 1444 | } |
| 1477 | 1445 | |
| 1478 | 1446 | READ8_MEMBER(pc9801_state::pc9810rs_fdc_ctrl_r) |
| r19232 | r19233 | |
| 1666 | 1634 | AM_RANGE(0x00f0, 0x00ff) AM_READWRITE8(pc9801rs_f0_r, pc9801rs_f0_w, 0xffffffff) |
| 1667 | 1635 | AM_RANGE(0x0438, 0x043b) AM_READWRITE8(pc9801rs_access_ctrl_r,pc9801rs_access_ctrl_w,0xffffffff) |
| 1668 | 1636 | AM_RANGE(0x043c, 0x043f) AM_WRITE8(pc9801rs_bank_w, 0xffffffff) //ROM/RAM bank |
| 1669 | | |
| 1670 | 1637 | ADDRESS_MAP_END |
| 1671 | 1638 | |
| 1672 | 1639 | READ8_MEMBER(pc9801_state::pc980ux_memory_r) |
| 1673 | 1640 | { |
| 1674 | | |
| 1675 | 1641 | //printf("%08x %d\n",offset,m_gate_a20); |
| 1676 | 1642 | |
| 1677 | 1643 | //if(m_gate_a20 == 0) |
| r19232 | r19233 | |
| 1691 | 1657 | |
| 1692 | 1658 | WRITE8_MEMBER(pc9801_state::pc9801ux_memory_w) |
| 1693 | 1659 | { |
| 1694 | | |
| 1695 | 1660 | //if(m_gate_a20 == 0) |
| 1696 | 1661 | // offset &= 0xfffff; |
| 1697 | 1662 | |
| r19232 | r19233 | |
| 1702 | 1667 | else if(offset >= 0x00100000 && offset <= 0x00100000+m_ram_size-1) { pc9801rs_ex_wram_w(space,offset-0x00100000,data); } |
| 1703 | 1668 | //else |
| 1704 | 1669 | // printf("%08x %08x\n",offset,data); |
| 1705 | | |
| 1706 | 1670 | } |
| 1707 | 1671 | |
| 1708 | 1672 | static ADDRESS_MAP_START( pc9801ux_map, AS_PROGRAM, 16, pc9801_state ) |
| r19232 | r19233 | |
| 1736 | 1700 | * |
| 1737 | 1701 | ************************************/ |
| 1738 | 1702 | |
| 1739 | | READ8_MEMBER(pc9801_state::pc9821_ide_r) |
| 1740 | | { |
| 1741 | | UINT8 *IDE = memregion("ide")->base(); |
| 1703 | READ8_MEMBER(pc9801_state::pc9821_ide_r) { return m_ide_rom[offset]; } |
| 1704 | READ8_MEMBER(pc9801_state::pc9821_unkrom_r) { return m_unk_rom[offset]; } |
| 1742 | 1705 | |
| 1743 | | return IDE[offset]; |
| 1744 | | } |
| 1706 | READ8_MEMBER(pc9801_state::pc9821_vram256_r) { return m_vram256[offset]; } |
| 1707 | WRITE8_MEMBER(pc9801_state::pc9821_vram256_w) { m_vram256[offset] = data; } |
| 1745 | 1708 | |
| 1746 | | READ8_MEMBER(pc9801_state::pc9821_vram256_r) |
| 1747 | | { |
| 1748 | | return m_vram256[offset]; |
| 1749 | | } |
| 1750 | | |
| 1751 | | WRITE8_MEMBER(pc9801_state::pc9821_vram256_w) |
| 1752 | | { |
| 1753 | | m_vram256[offset] = data; |
| 1754 | | } |
| 1755 | | |
| 1756 | 1709 | /* Note: not hooking this up causes "MEMORY ERROR" at POST */ |
| 1757 | | READ8_MEMBER(pc9801_state::pc9821_ideram_r) |
| 1758 | | { |
| 1759 | | return m_ideram[offset]; |
| 1760 | | } |
| 1710 | READ8_MEMBER(pc9801_state::pc9821_ideram_r) { return m_ide_ram[offset]; } |
| 1711 | WRITE8_MEMBER(pc9801_state::pc9821_ideram_w) { m_ide_ram[offset] = data; } |
| 1761 | 1712 | |
| 1762 | | WRITE8_MEMBER(pc9801_state::pc9821_ideram_w) |
| 1763 | | { |
| 1764 | | m_ideram[offset] = data; |
| 1765 | | } |
| 1713 | READ8_MEMBER(pc9801_state::pc9821_ext_gvram_r) { return m_ext_gvram[offset]; } |
| 1714 | WRITE8_MEMBER(pc9801_state::pc9821_ext_gvram_w) { m_ext_gvram[offset] = data; } |
| 1766 | 1715 | |
| 1767 | | READ8_MEMBER(pc9801_state::pc9821_ext_gvram_r) |
| 1768 | | { |
| 1769 | | return m_ext_gvram[offset]; |
| 1770 | | } |
| 1771 | 1716 | |
| 1772 | | WRITE8_MEMBER(pc9801_state::pc9821_ext_gvram_w) |
| 1773 | | { |
| 1774 | | m_ext_gvram[offset] = data; |
| 1775 | | } |
| 1776 | | |
| 1777 | | READ8_MEMBER(pc9801_state::pc9821_unkrom_r) |
| 1778 | | { |
| 1779 | | UINT8 *UNKROM = memregion("unkrom")->base(); |
| 1780 | | |
| 1781 | | return UNKROM[offset]; |
| 1782 | | } |
| 1783 | | |
| 1784 | 1717 | READ8_MEMBER(pc9801_state::pc9821_memory_r) |
| 1785 | 1718 | { |
| 1786 | 1719 | if(m_gate_a20 == 0) |
| r19232 | r19233 | |
| 1789 | 1722 | if(offset >= 0x00080000 && offset <= 0x0009ffff) |
| 1790 | 1723 | offset = (offset & 0x1ffff) | (m_pc9821_window_bank & 0xfe) * 0x10000; |
| 1791 | 1724 | |
| 1725 | /* TODO: window bank at 0xa0000 - 0xbffff */ |
| 1726 | |
| 1792 | 1727 | if ( offset <= 0x0009ffff) { return pc9801rs_wram_r(space,offset); } |
| 1793 | 1728 | // else if(offset >= 0x00080000 && offset <= 0x0009ffff) { return pc9821_winram_r(space,offset & 0x1ffff); } |
| 1794 | 1729 | else if(offset >= 0x000a0000 && offset <= 0x000a3fff) { return pc9801_tvram_r(space,offset-0xa0000); } |
| r19232 | r19233 | |
| 1816 | 1751 | if(offset >= 0x00080000 && offset <= 0x0009ffff) |
| 1817 | 1752 | offset = (offset & 0x1ffff) | (m_pc9821_window_bank & 0xfe) * 0x10000; |
| 1818 | 1753 | |
| 1754 | /* TODO: window bank at 0xa0000 - 0xbffff */ |
| 1755 | |
| 1819 | 1756 | if ( offset <= 0x0009ffff) { pc9801rs_wram_w(space,offset,data); } |
| 1820 | 1757 | // else if(offset >= 0x00080000 && offset <= 0x0009ffff) { pc9821_winram_w(space,offset & 0x1ffff,data); } |
| 1821 | 1758 | else if(offset >= 0x000a0000 && offset <= 0x000a3fff) { pc9801_tvram_w(space,offset-0xa0000,data); } |
| r19232 | r19233 | |
| 2738 | 2675 | * |
| 2739 | 2676 | ****************************************/ |
| 2740 | 2677 | |
| 2678 | // |
| 2741 | 2679 | PALETTE_INIT_MEMBER(pc9801_state,pc9801) |
| 2742 | 2680 | { |
| 2743 | 2681 | int i; |
| r19232 | r19233 | |
| 2753 | 2691 | return pic8259_acknowledge( device->machine().device( "pic8259_master" )); |
| 2754 | 2692 | } |
| 2755 | 2693 | |
| 2756 | | MACHINE_START_MEMBER(pc9801_state,pc9801) |
| 2694 | MACHINE_START_MEMBER(pc9801_state,pc9801_common) |
| 2757 | 2695 | { |
| 2758 | 2696 | machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback); |
| 2759 | 2697 | |
| 2760 | 2698 | m_rtc->cs_w(1); |
| 2761 | 2699 | m_rtc->oe_w(1); |
| 2762 | 2700 | |
| 2701 | m_ipl_rom = memregion("ipl")->base(); |
| 2702 | m_pcg_ram = auto_alloc_array(machine(), UINT8, 0x80000); |
| 2703 | |
| 2704 | state_save_register_global_pointer(machine(), m_pcg_ram, 0x80000); |
| 2705 | } |
| 2706 | |
| 2707 | MACHINE_START_MEMBER(pc9801_state,pc9801f) |
| 2708 | { |
| 2709 | MACHINE_START_CALL_MEMBER(pc9801_common); |
| 2710 | |
| 2763 | 2711 | upd765a_device *fdc; |
| 2764 | 2712 | fdc = machine().device<upd765a_device>(":upd765_2hd"); |
| 2765 | 2713 | if (fdc) |
| r19232 | r19233 | |
| 2774 | 2722 | fdc->setup_intrq_cb(upd765a_device::line_cb(FUNC(pc9801_state::fdc_2dd_irq), this)); |
| 2775 | 2723 | fdc->setup_drq_cb(upd765a_device::line_cb(FUNC(pc9801_state::fdc_2dd_drq), this)); |
| 2776 | 2724 | } |
| 2725 | } |
| 2777 | 2726 | |
| 2727 | MACHINE_START_MEMBER(pc9801_state,pc9801rs) |
| 2728 | { |
| 2729 | MACHINE_START_CALL_MEMBER(pc9801_common); |
| 2730 | |
| 2731 | m_work_ram = auto_alloc_array(machine(), UINT8, 0xa0000); |
| 2732 | m_ext_work_ram = auto_alloc_array(machine(), UINT8, 0x700000); |
| 2733 | state_save_register_global_pointer(machine(), m_work_ram, 0xa0000); |
| 2734 | state_save_register_global_pointer(machine(), m_ext_work_ram, 0x700000); |
| 2735 | |
| 2736 | upd765a_device *fdc; |
| 2737 | fdc = machine().device<upd765a_device>(":upd765_2hd"); |
| 2738 | fdc->setup_intrq_cb(upd765a_device::line_cb(FUNC(pc9801_state::pc9801rs_fdc_irq), this)); |
| 2739 | fdc->setup_drq_cb(upd765a_device::line_cb(FUNC(pc9801_state::fdc_2hd_drq), this)); |
| 2778 | 2740 | } |
| 2779 | 2741 | |
| 2742 | MACHINE_START_MEMBER(pc9801_state,pc9821) |
| 2743 | { |
| 2744 | MACHINE_START_CALL_MEMBER(pc9801rs); |
| 2745 | |
| 2746 | m_ide_ram = auto_alloc_array(machine(), UINT8, 0x2000); |
| 2747 | m_vram256 = auto_alloc_array(machine(), UINT8, 0x8000); |
| 2748 | m_ext_gvram = auto_alloc_array(machine(), UINT8, 0xa0000); |
| 2749 | m_ide_rom = memregion("ide")->base(); |
| 2750 | m_unk_rom = memregion("unkrom")->base(); |
| 2751 | |
| 2752 | state_save_register_global_pointer(machine(), m_sdip, 24); |
| 2753 | state_save_register_global_pointer(machine(), m_ide_ram, 0x2000); |
| 2754 | state_save_register_global_pointer(machine(), m_vram256, 0x8000); |
| 2755 | state_save_register_global_pointer(machine(), m_ext_gvram, 0xa0000); |
| 2756 | } |
| 2757 | |
| 2780 | 2758 | MACHINE_RESET_MEMBER(pc9801_state,pc9801) |
| 2781 | 2759 | { |
| 2782 | 2760 | |
| r19232 | r19233 | |
| 2845 | 2823 | m_ram_size = machine().device<ram_device>(RAM_TAG)->size() - 0xa0000; |
| 2846 | 2824 | } |
| 2847 | 2825 | |
| 2848 | | MACHINE_START_MEMBER(pc9801_state,pc9801rs) |
| 2849 | | { |
| 2850 | | machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback); |
| 2851 | | |
| 2852 | | m_rtc->cs_w(1); |
| 2853 | | m_rtc->oe_w(1); |
| 2854 | | |
| 2855 | | upd765a_device *fdc; |
| 2856 | | fdc = machine().device<upd765a_device>(":upd765_2hd"); |
| 2857 | | fdc->setup_intrq_cb(upd765a_device::line_cb(FUNC(pc9801_state::pc9801rs_fdc_irq), this)); |
| 2858 | | fdc->setup_drq_cb(upd765a_device::line_cb(FUNC(pc9801_state::fdc_2hd_drq), this)); |
| 2859 | | } |
| 2860 | | |
| 2861 | | MACHINE_START_MEMBER(pc9801_state,pc9821) |
| 2862 | | { |
| 2863 | | MACHINE_START_CALL_MEMBER(pc9801rs); |
| 2864 | | |
| 2865 | | m_ideram = auto_alloc_array(machine(), UINT8, 0x2000); |
| 2866 | | m_vram256 = auto_alloc_array(machine(), UINT8, 0x8000); |
| 2867 | | m_ext_gvram = auto_alloc_array(machine(), UINT8, 0xa0000); |
| 2868 | | |
| 2869 | | state_save_register_global_pointer(machine(), m_sdip, 24); |
| 2870 | | state_save_register_global_pointer(machine(), m_ideram, 0x2000); |
| 2871 | | state_save_register_global_pointer(machine(), m_vram256, 0x8000); |
| 2872 | | state_save_register_global_pointer(machine(), m_ext_gvram, 0xa0000); |
| 2873 | | } |
| 2874 | | |
| 2875 | 2826 | MACHINE_RESET_MEMBER(pc9801_state,pc9821) |
| 2876 | 2827 | { |
| 2877 | 2828 | MACHINE_RESET_CALL_MEMBER(pc9801rs); |
| r19232 | r19233 | |
| 2881 | 2832 | |
| 2882 | 2833 | INTERRUPT_GEN_MEMBER(pc9801_state::pc9801_vrtc_irq) |
| 2883 | 2834 | { |
| 2884 | | #if 0 |
| 2885 | | address_space &space = machine().device("maincpu")->memory().space(AS_PROGRAM); |
| 2886 | | static UINT8 test; |
| 2887 | | |
| 2888 | | if(machine().input().code_pressed_once(JOYCODE_BUTTON1)) |
| 2889 | | test^=1; |
| 2890 | | |
| 2891 | | if(test) |
| 2892 | | { |
| 2893 | | popmessage("Go hack go"); |
| 2894 | | space.write_word(0x55e,space.machine().rand()); |
| 2895 | | } |
| 2896 | | #endif |
| 2897 | | |
| 2898 | 2835 | if(m_vrtc_irq_mask) |
| 2899 | 2836 | { |
| 2900 | 2837 | pic8259_ir2_w(machine().device("pic8259_master"), 1); |
| r19232 | r19233 | |
| 2912 | 2849 | MCFG_CPU_IO_MAP(pc9801_io) |
| 2913 | 2850 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq) |
| 2914 | 2851 | |
| 2915 | | MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801) |
| 2852 | MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801f) |
| 2916 | 2853 | MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801f) |
| 2917 | 2854 | |
| 2918 | 2855 | MCFG_PIT8253_ADD( "pit8253", pit8253_config ) |
| r19232 | r19233 | |
| 3092 | 3029 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq) |
| 3093 | 3030 | MACHINE_CONFIG_END |
| 3094 | 3031 | |
| 3032 | #define LOAD_IDE_ROM \ |
| 3033 | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) \ |
| 3034 | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) \ |
| 3035 | ROM_FILL( 0x0000, 0x2000, 0xcb ) \ |
| 3036 | |
| 3037 | // pnp? |
| 3038 | #define LOAD_UNK_ROM \ |
| 3039 | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) \ |
| 3040 | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) \ |
| 3041 | ROM_FILL( 0x0000, 0x4000, 0xcb ) \ |
| 3042 | |
| 3095 | 3043 | /* |
| 3096 | 3044 | F - 8086 5 |
| 3097 | 3045 | */ |
| r19232 | r19233 | |
| 3130 | 3078 | ROM_LOAD16_BYTE( "24256c-x02.bin", 0x00001, 0x8000, CRC(90985158) SHA1(78fb106131a3f4eb054e87e00fe4f41193416d65) ) |
| 3131 | 3079 | ROM_LOAD16_BYTE( "24256c-x03.bin", 0x10000, 0x8000, CRC(d4893543) SHA1(eb8c1bee0f694e1e0c145a24152222d4e444e86f) ) |
| 3132 | 3080 | ROM_LOAD16_BYTE( "24256c-x04.bin", 0x10001, 0x8000, CRC(5dec0fc2) SHA1(41000da14d0805ed0801b31eb60623552e50e41c) ) |
| 3133 | | |
| 3134 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3135 | 3081 | ROM_END |
| 3136 | 3082 | |
| 3137 | 3083 | /* |
| r19232 | r19233 | |
| 3143 | 3089 | ROM_LOAD( "itf_ux.rom", 0x18000, 0x08000, CRC(c7942563) SHA1(61bb210d64c7264be939b11df1e9cd14ffeee3c9) ) |
| 3144 | 3090 | ROM_LOAD( "bios_ux.rom", 0x28000, 0x18000, BAD_DUMP CRC(97375ca2) SHA1(bfe458f671d90692104d0640730972ca8dc0a100) ) |
| 3145 | 3091 | |
| 3146 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3147 | | |
| 3148 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3149 | | |
| 3150 | 3092 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3151 | 3093 | ROM_LOAD( "sound_ux.rom", 0x0000, 0x4000, CRC(80eabfde) SHA1(e09c54152c8093e1724842c711aed6417169db23) ) |
| 3152 | 3094 | |
| r19232 | r19233 | |
| 3155 | 3097 | |
| 3156 | 3098 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3157 | 3099 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3158 | | |
| 3159 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3160 | | |
| 3161 | 3100 | ROM_END |
| 3162 | 3101 | |
| 3163 | 3102 | /* |
| r19232 | r19233 | |
| 3167 | 3106 | ROM_START( pc9801rx ) |
| 3168 | 3107 | ROM_REGION( 0x60000, "ipl", ROMREGION_ERASEFF ) |
| 3169 | 3108 | ROM_LOAD( "itf_rs.rom", 0x18000, 0x08000, BAD_DUMP CRC(c1815325) SHA1(a2fb11c000ed7c976520622cfb7940ed6ddc904e) ) |
| 3170 | | ROM_LOAD( "bios_rx.rom", 0x28000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 3109 | ROM_LOAD( "bios_rx.rom", 0x28000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 3171 | 3110 | |
| 3172 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3173 | | |
| 3174 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3175 | | |
| 3176 | 3111 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3177 | 3112 | ROM_LOAD( "sound_rx.rom", 0x000000, 0x004000, CRC(fe9f57f2) SHA1(d5dbc4fea3b8367024d363f5351baecd6adcd8ef) ) |
| 3178 | 3113 | |
| r19232 | r19233 | |
| 3181 | 3116 | |
| 3182 | 3117 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3183 | 3118 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3184 | | |
| 3185 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3186 | | |
| 3187 | 3119 | ROM_END |
| 3188 | 3120 | |
| 3189 | 3121 | /* |
| r19232 | r19233 | |
| 3197 | 3129 | ROM_LOAD( "itf_rs.rom", 0x18000, 0x08000, CRC(c1815325) SHA1(a2fb11c000ed7c976520622cfb7940ed6ddc904e) ) |
| 3198 | 3130 | ROM_LOAD( "bios_rs.rom", 0x28000, 0x18000, BAD_DUMP CRC(315d2703) SHA1(4f208d1dbb68373080d23bff5636bb6b71eb7565) ) |
| 3199 | 3131 | |
| 3200 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3201 | | |
| 3202 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3203 | | |
| 3204 | 3132 | /* following is an emulator memory dump, should be checked and nuked */ |
| 3205 | 3133 | ROM_REGION( 0x100000, "memory", 0 ) |
| 3206 | 3134 | ROM_LOAD( "00000.rom", 0x00000, 0x8000, CRC(6e299128) SHA1(d0e7d016c005cdce53ea5ecac01c6f883b752b80) ) |
| r19232 | r19233 | |
| 3220 | 3148 | |
| 3221 | 3149 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3222 | 3150 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3223 | | |
| 3224 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3225 | | |
| 3226 | 3151 | ROM_END |
| 3227 | 3152 | |
| 3228 | 3153 | /* |
| r19232 | r19233 | |
| 3234 | 3159 | ROM_START( pc9801vm ) |
| 3235 | 3160 | ROM_REGION( 0x60000, "ipl", ROMREGION_ERASEFF ) |
| 3236 | 3161 | ROM_LOAD( "itf_rs.rom", 0x18000, 0x08000, CRC(c1815325) SHA1(a2fb11c000ed7c976520622cfb7940ed6ddc904e) ) |
| 3237 | | ROM_LOAD( "bios_vm.rom", 0x028000, 0x018000, CRC(2e2d7cee) SHA1(159549f845dc70bf61955f9469d2281a0131b47f) ) |
| 3162 | ROM_LOAD( "bios_vm.rom", 0x28000, 0x018000, CRC(2e2d7cee) SHA1(159549f845dc70bf61955f9469d2281a0131b47f) ) |
| 3238 | 3163 | |
| 3239 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3240 | | |
| 3241 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3242 | | |
| 3243 | 3164 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3244 | 3165 | ROM_LOAD( "sound_vm.rom", 0x000000, 0x004000, CRC(fe9f57f2) SHA1(d5dbc4fea3b8367024d363f5351baecd6adcd8ef) ) |
| 3245 | 3166 | |
| r19232 | r19233 | |
| 3248 | 3169 | |
| 3249 | 3170 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3250 | 3171 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3251 | | |
| 3252 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3253 | 3172 | ROM_END |
| 3254 | 3173 | |
| 3255 | 3174 | /* |
| r19232 | r19233 | |
| 3263 | 3182 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 3264 | 3183 | ROM_LOAD( "bios.rom", 0x28000, 0x18000, BAD_DUMP CRC(34a19a59) SHA1(2e92346727b0355bc1ec9a7ded1b444a4917f2b9) ) |
| 3265 | 3184 | |
| 3266 | | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) |
| 3267 | | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) |
| 3268 | | ROM_FILL( 0x0000, 0x2000, 0xcb ) |
| 3185 | LOAD_IDE_ROM |
| 3186 | LOAD_UNK_ROM |
| 3269 | 3187 | |
| 3270 | | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) // pnp? |
| 3271 | | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) |
| 3272 | | ROM_FILL( 0x0000, 0x4000, 0xcb ) |
| 3273 | | |
| 3274 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3275 | | |
| 3276 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3277 | | |
| 3278 | 3188 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3279 | 3189 | ROM_LOAD( "sound.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 3280 | 3190 | |
| r19232 | r19233 | |
| 3286 | 3196 | ROM_LOAD16_BYTE( "24256c-x02.bin", 0x00001, 0x8000, BAD_DUMP CRC(90985158) SHA1(78fb106131a3f4eb054e87e00fe4f41193416d65) ) |
| 3287 | 3197 | ROM_LOAD16_BYTE( "24256c-x03.bin", 0x10000, 0x8000, BAD_DUMP CRC(d4893543) SHA1(eb8c1bee0f694e1e0c145a24152222d4e444e86f) ) |
| 3288 | 3198 | ROM_LOAD16_BYTE( "24256c-x04.bin", 0x10001, 0x8000, BAD_DUMP CRC(5dec0fc2) SHA1(41000da14d0805ed0801b31eb60623552e50e41c) ) |
| 3289 | | |
| 3290 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3291 | 3199 | ROM_END |
| 3292 | 3200 | |
| 3293 | 3201 | /* |
| r19232 | r19233 | |
| 3296 | 3204 | |
| 3297 | 3205 | ROM_START( pc9821as ) |
| 3298 | 3206 | ROM_REGION( 0x60000, "ipl", ROMREGION_ERASEFF ) |
| 3299 | | ROM_LOAD( "itf.rom", 0x18000, 0x08000, BAD_DUMP CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 3300 | | ROM_LOAD( "bios_as.rom", 0x028000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 3207 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, BAD_DUMP CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 3208 | ROM_LOAD( "bios_as.rom", 0x28000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 3301 | 3209 | |
| 3302 | | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) |
| 3303 | | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) |
| 3304 | | ROM_FILL( 0x0000, 0x2000, 0xcb ) |
| 3210 | LOAD_IDE_ROM |
| 3211 | LOAD_UNK_ROM |
| 3305 | 3212 | |
| 3306 | | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) // pnp? |
| 3307 | | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) |
| 3308 | | ROM_FILL( 0x0000, 0x4000, 0xcb ) |
| 3309 | | |
| 3310 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3311 | | |
| 3312 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3313 | | |
| 3314 | 3213 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3315 | 3214 | ROM_LOAD( "sound_as.rom", 0x000000, 0x004000, CRC(fe9f57f2) SHA1(d5dbc4fea3b8367024d363f5351baecd6adcd8ef) ) |
| 3316 | 3215 | |
| r19232 | r19233 | |
| 3319 | 3218 | |
| 3320 | 3219 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3321 | 3220 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3322 | | |
| 3323 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3324 | 3221 | ROM_END |
| 3325 | 3222 | |
| 3326 | 3223 | |
| r19232 | r19233 | |
| 3330 | 3227 | |
| 3331 | 3228 | ROM_START( pc9821ne ) |
| 3332 | 3229 | ROM_REGION( 0x60000, "ipl", ROMREGION_ERASEFF ) |
| 3333 | | ROM_LOAD( "itf.rom", 0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 3230 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 3334 | 3231 | ROM_LOAD( "bios_ne.rom", 0x28000, 0x18000, BAD_DUMP CRC(2ae070c4) SHA1(d7963942042bfd84ed5fc9b7ba8f1c327c094172) ) |
| 3335 | 3232 | |
| 3336 | | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) |
| 3337 | | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) |
| 3338 | | ROM_FILL( 0x0000, 0x2000, 0xcb ) |
| 3233 | LOAD_IDE_ROM |
| 3234 | LOAD_UNK_ROM |
| 3339 | 3235 | |
| 3340 | | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) // pnp? |
| 3341 | | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) |
| 3342 | | ROM_FILL( 0x0000, 0x4000, 0xcb ) |
| 3343 | | |
| 3344 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3345 | | |
| 3346 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3347 | | |
| 3348 | 3236 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3349 | 3237 | ROM_LOAD( "sound_ne.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 3350 | 3238 | |
| r19232 | r19233 | |
| 3353 | 3241 | |
| 3354 | 3242 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3355 | 3243 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3356 | | |
| 3357 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3358 | 3244 | ROM_END |
| 3359 | 3245 | |
| 3360 | 3246 | /* |
| r19232 | r19233 | |
| 3366 | 3252 | ROM_LOAD( "bios_486mu.rom", 0x08000, 0x18000, BAD_DUMP CRC(57b5d701) SHA1(15029800842e93e07615b0fd91fb9f2bfe3e3c24)) |
| 3367 | 3253 | ROM_RELOAD( 0x28000, 0x18000 ) // missing rom? |
| 3368 | 3254 | |
| 3369 | | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) |
| 3370 | | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) |
| 3371 | | ROM_FILL( 0x0000, 0x2000, 0xcb ) |
| 3255 | LOAD_IDE_ROM |
| 3256 | LOAD_UNK_ROM |
| 3372 | 3257 | |
| 3373 | | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) // pnp? |
| 3374 | | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) |
| 3375 | | ROM_FILL( 0x0000, 0x4000, 0xcb ) |
| 3376 | | |
| 3377 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3378 | | |
| 3379 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3380 | | |
| 3381 | 3258 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3382 | 3259 | ROM_LOAD( "sound_486mu.rom", 0x0000, 0x4000, CRC(6cdfa793) SHA1(4b8250f9b9db66548b79f961d61010558d6d6e1c)) |
| 3383 | 3260 | |
| r19232 | r19233 | |
| 3386 | 3263 | |
| 3387 | 3264 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3388 | 3265 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3389 | | |
| 3390 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3391 | 3266 | ROM_END |
| 3392 | 3267 | |
| 3393 | 3268 | /* |
| r19232 | r19233 | |
| 3397 | 3272 | ROM_START( pc9821ce2 ) |
| 3398 | 3273 | ROM_REGION( 0x60000, "ipl", ROMREGION_ERASEFF ) |
| 3399 | 3274 | ROM_LOAD( "itf_ce2.rom", 0x18000, 0x08000, CRC(273e9e88) SHA1(9bca7d5116788776ed0f297bccb4dfc485379b41) ) |
| 3400 | | ROM_LOAD( "bios_ce2.rom", 0x28000, 0x018000, BAD_DUMP CRC(76affd90) SHA1(910fae6763c0cd59b3957b6cde479c72e21f33c1) ) |
| 3275 | ROM_LOAD( "bios_ce2.rom", 0x28000, 0x018000, BAD_DUMP CRC(76affd90) SHA1(910fae6763c0cd59b3957b6cde479c72e21f33c1) ) |
| 3401 | 3276 | |
| 3402 | | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) |
| 3403 | | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) |
| 3404 | | ROM_FILL( 0x0000, 0x2000, 0xcb ) |
| 3277 | LOAD_IDE_ROM |
| 3278 | LOAD_UNK_ROM |
| 3405 | 3279 | |
| 3406 | | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) // pnp? |
| 3407 | | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) |
| 3408 | | ROM_FILL( 0x0000, 0x4000, 0xcb ) |
| 3409 | | |
| 3410 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3411 | | |
| 3412 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3413 | | |
| 3414 | 3280 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3415 | 3281 | ROM_LOAD( "sound_ce2.rom", 0x000000, 0x004000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 3416 | 3282 | |
| r19232 | r19233 | |
| 3419 | 3285 | |
| 3420 | 3286 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3421 | 3287 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3422 | | |
| 3423 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3424 | 3288 | ROM_END |
| 3425 | 3289 | |
| 3426 | 3290 | /* |
| r19232 | r19233 | |
| 3432 | 3296 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, BAD_DUMP CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 3433 | 3297 | ROM_LOAD( "bios_xs.rom", 0x28000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 3434 | 3298 | |
| 3435 | | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) |
| 3436 | | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) |
| 3437 | | ROM_FILL( 0x0000, 0x2000, 0xcb ) |
| 3299 | LOAD_IDE_ROM |
| 3300 | LOAD_UNK_ROM |
| 3438 | 3301 | |
| 3439 | | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) // pnp? |
| 3440 | | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) |
| 3441 | | ROM_FILL( 0x0000, 0x4000, 0xcb ) |
| 3442 | | |
| 3443 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3444 | | |
| 3445 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3446 | | |
| 3447 | 3302 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3448 | 3303 | ROM_LOAD( "sound_xs.rom", 0x000000, 0x004000, CRC(80eabfde) SHA1(e09c54152c8093e1724842c711aed6417169db23) ) |
| 3449 | 3304 | |
| r19232 | r19233 | |
| 3452 | 3307 | |
| 3453 | 3308 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3454 | 3309 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3455 | | |
| 3456 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3457 | 3310 | ROM_END |
| 3458 | 3311 | |
| 3459 | 3312 | |
| r19232 | r19233 | |
| 3463 | 3316 | |
| 3464 | 3317 | ROM_START( pc9821v13 ) |
| 3465 | 3318 | ROM_REGION( 0x60000, "ipl", ROMREGION_ERASEFF ) |
| 3466 | | ROM_LOAD( "itf.rom", 0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 3319 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 3467 | 3320 | ROM_LOAD( "bios_v13.rom", 0x28000, 0x18000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 3468 | 3321 | |
| 3469 | | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) |
| 3470 | | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) |
| 3471 | | ROM_FILL( 0x0000, 0x2000, 0xcb ) |
| 3322 | LOAD_IDE_ROM |
| 3323 | LOAD_UNK_ROM |
| 3472 | 3324 | |
| 3473 | | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) // pnp? |
| 3474 | | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) |
| 3475 | | ROM_FILL( 0x0000, 0x4000, 0xcb ) |
| 3476 | | |
| 3477 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3478 | | |
| 3479 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3480 | | |
| 3481 | 3325 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3482 | 3326 | ROM_LOAD( "sound_v13.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 3483 | 3327 | |
| r19232 | r19233 | |
| 3486 | 3330 | |
| 3487 | 3331 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3488 | 3332 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3489 | | |
| 3490 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3491 | 3333 | ROM_END |
| 3492 | 3334 | |
| 3493 | 3335 | /* |
| r19232 | r19233 | |
| 3497 | 3339 | ROM_START( pc9821v20 ) |
| 3498 | 3340 | ROM_REGION( 0x60000, "ipl", ROMREGION_ERASEFF ) |
| 3499 | 3341 | ROM_LOAD( "itf_v20.rom", 0x18000, 0x08000, CRC(10e52302) SHA1(f95b8648e3f5a23e507a9fbda8ab2e317d8e5151) ) |
| 3500 | | ROM_LOAD( "bios_v20.rom", 0x28000, 0x018000, BAD_DUMP CRC(d5d1f13b) SHA1(bf44b5f4e138e036f1b848d6616fbd41b5549764) ) |
| 3342 | ROM_LOAD( "bios_v20.rom", 0x28000, 0x018000, BAD_DUMP CRC(d5d1f13b) SHA1(bf44b5f4e138e036f1b848d6616fbd41b5549764) ) |
| 3501 | 3343 | |
| 3502 | | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) |
| 3503 | | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) |
| 3504 | | ROM_FILL( 0x0000, 0x2000, 0xcb ) |
| 3344 | LOAD_IDE_ROM |
| 3345 | LOAD_UNK_ROM |
| 3505 | 3346 | |
| 3506 | | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) // pnp? |
| 3507 | | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) |
| 3508 | | ROM_FILL( 0x0000, 0x4000, 0xcb ) |
| 3509 | | |
| 3510 | | ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 ) |
| 3511 | | |
| 3512 | | ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 ) |
| 3513 | | |
| 3514 | 3347 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3515 | 3348 | ROM_LOAD( "sound_v20.rom", 0x000000, 0x004000, CRC(80eabfde) SHA1(e09c54152c8093e1724842c711aed6417169db23) ) |
| 3516 | 3349 | |
| r19232 | r19233 | |
| 3519 | 3352 | |
| 3520 | 3353 | ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF ) |
| 3521 | 3354 | //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 ) |
| 3522 | | |
| 3523 | | ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF ) |
| 3524 | 3355 | ROM_END |
| 3525 | 3356 | |
| 3526 | 3357 | /* Genuine dumps */ |