trunk/src/mess/drivers/pc9801.c
| r19688 | r19689 | |
| 388 | 388 | UINT8 *m_ext_work_ram; |
| 389 | 389 | UINT8 *m_char_rom; |
| 390 | 390 | UINT8 *m_kanji_rom; |
| 391 | UINT8 *m_ide_rom; |
| 391 | 392 | |
| 392 | 393 | UINT8 m_portb_tmp; |
| 393 | 394 | UINT8 m_dma_offset[4]; |
| r19688 | r19689 | |
| 435 | 436 | |
| 436 | 437 | /* PC9821 specific */ |
| 437 | 438 | UINT8 m_sdip[24], m_sdip_bank; |
| 438 | | UINT8 *m_ide_rom; |
| 439 | 439 | UINT8 *m_ide_ram; |
| 440 | 440 | UINT8 *m_unk_rom; |
| 441 | 441 | UINT8 *m_ext_gvram; |
| r19688 | r19689 | |
| 504 | 504 | DECLARE_READ8_MEMBER(pc9801rs_30_r); |
| 505 | 505 | DECLARE_READ8_MEMBER(pc9801rs_memory_r); |
| 506 | 506 | DECLARE_WRITE8_MEMBER(pc9801rs_memory_w); |
| 507 | | DECLARE_READ8_MEMBER(m_pc9801rs_soundrom_r); |
| 507 | DECLARE_READ8_MEMBER(pc9801rs_soundrom_r); |
| 508 | DECLARE_READ8_MEMBER(pc9801rs_scsirom_r); |
| 508 | 509 | DECLARE_READ8_MEMBER(pc9810rs_fdc_ctrl_r); |
| 509 | 510 | DECLARE_WRITE8_MEMBER(pc9810rs_fdc_ctrl_w); |
| 510 | 511 | DECLARE_READ8_MEMBER(pc9801rs_2hd_r); |
| r19688 | r19689 | |
| 520 | 521 | DECLARE_WRITE8_MEMBER(pc9821_a0_w); |
| 521 | 522 | DECLARE_READ8_MEMBER(pc9801rs_pit_mirror_r); |
| 522 | 523 | DECLARE_WRITE8_MEMBER(pc9801rs_pit_mirror_w); |
| 523 | | DECLARE_READ8_MEMBER(ide_status_r); |
| 524 | 524 | DECLARE_READ8_MEMBER(pc9801rs_access_ctrl_r); |
| 525 | 525 | DECLARE_WRITE8_MEMBER(pc9801rs_access_ctrl_w); |
| 526 | DECLARE_WRITE8_MEMBER(pc9801rs_nmi_w); |
| 527 | DECLARE_READ8_MEMBER(pc9801rs_midi_r); |
| 526 | 528 | DECLARE_READ8_MEMBER(pc9821_memory_r); |
| 527 | 529 | DECLARE_WRITE8_MEMBER(pc9821_memory_w); |
| 528 | | DECLARE_READ8_MEMBER(opn_porta_r); |
| 529 | | DECLARE_WRITE8_MEMBER(opn_portb_w); |
| 530 | 530 | // DECLARE_READ8_MEMBER(pc9801_ext_opna_r); |
| 531 | 531 | // DECLARE_WRITE8_MEMBER(pc9801_ext_opna_w); |
| 532 | | DECLARE_WRITE8_MEMBER(pc9801rs_nmi_w); |
| 533 | | DECLARE_READ8_MEMBER(pc9801rs_midi_r); |
| 534 | 532 | |
| 533 | DECLARE_READ8_MEMBER(pc9801rs_ide_io_0_r); |
| 534 | DECLARE_READ8_MEMBER(pc9801rs_ide_io_1_r); |
| 535 | DECLARE_READ8_MEMBER(pc9801rs_ide_io_2_r); |
| 536 | DECLARE_WRITE8_MEMBER(pc9801rs_ide_io_0_w); |
| 537 | DECLARE_WRITE8_MEMBER(pc9801rs_ide_io_1_w); |
| 538 | DECLARE_WRITE8_MEMBER(pc9801rs_ide_io_2_w); |
| 539 | |
| 535 | 540 | DECLARE_READ8_MEMBER(sdip_0_r); |
| 536 | 541 | DECLARE_READ8_MEMBER(sdip_1_r); |
| 537 | 542 | DECLARE_READ8_MEMBER(sdip_2_r); |
| r19688 | r19689 | |
| 558 | 563 | DECLARE_WRITE8_MEMBER(sdip_a_w); |
| 559 | 564 | DECLARE_WRITE8_MEMBER(sdip_b_w); |
| 560 | 565 | |
| 561 | | DECLARE_READ8_MEMBER(pc9821_ide_r); |
| 562 | | DECLARE_READ8_MEMBER(pc9821_unkrom_r); |
| 566 | DECLARE_READ8_MEMBER(pc9801rs_ide_r); |
| 563 | 567 | DECLARE_READ8_MEMBER(pc9821_ideram_r); |
| 564 | 568 | DECLARE_WRITE8_MEMBER(pc9821_ideram_w); |
| 565 | 569 | DECLARE_READ8_MEMBER(pc9821_ext_gvram_r); |
| r19688 | r19689 | |
| 1762 | 1766 | * |
| 1763 | 1767 | ************************************/ |
| 1764 | 1768 | |
| 1769 | READ8_MEMBER(pc9801_state::pc9801rs_ide_r) { return m_ide_rom[offset]; } |
| 1770 | |
| 1765 | 1771 | READ8_MEMBER(pc9801_state::pc9801rs_wram_r) { return m_work_ram[offset]; } |
| 1766 | 1772 | WRITE8_MEMBER(pc9801_state::pc9801rs_wram_w) { m_work_ram[offset] = data; } |
| 1767 | 1773 | |
| r19688 | r19689 | |
| 1909 | 1915 | pc9801_70_w(space,offset,data); |
| 1910 | 1916 | } |
| 1911 | 1917 | |
| 1912 | | READ8_MEMBER(pc9801_state::m_pc9801rs_soundrom_r) |
| 1918 | READ8_MEMBER(pc9801_state::pc9801rs_soundrom_r) |
| 1913 | 1919 | { |
| 1914 | 1920 | return m_sound_bios[offset]; |
| 1915 | 1921 | } |
| r19688 | r19689 | |
| 1925 | 1931 | else if(offset >= 0x000a8000 && offset <= 0x000affff) { return m_pc9801rs_grcg_r(offset & 0x7fff,1); } |
| 1926 | 1932 | else if(offset >= 0x000b0000 && offset <= 0x000b7fff) { return m_pc9801rs_grcg_r(offset & 0x7fff,2); } |
| 1927 | 1933 | else if(offset >= 0x000b8000 && offset <= 0x000bffff) { return m_pc9801rs_grcg_r(offset & 0x7fff,3); } |
| 1928 | | else if(offset >= 0x000cc000 && offset <= 0x000cffff) { return m_pc9801rs_soundrom_r(space,offset & 0x3fff);} |
| 1934 | else if(offset >= 0x000cc000 && offset <= 0x000cffff) { return pc9801rs_soundrom_r(space,offset & 0x3fff);} |
| 1935 | else if(offset >= 0x000d8000 && offset <= 0x000d9fff) { return pc9801rs_ide_r(space,offset & 0x1fff); } |
| 1929 | 1936 | else if(offset >= 0x000e0000 && offset <= 0x000e7fff) { return m_pc9801rs_grcg_r(offset & 0x7fff,0); } |
| 1930 | 1937 | else if(offset >= 0x000e0000 && offset <= 0x000fffff) { return pc9801rs_ipl_r(space,offset & 0x1ffff); } |
| 1931 | 1938 | else if(offset >= 0x00100000 && offset <= 0x00100000+m_ram_size-1) { return pc9801rs_ex_wram_r(space,offset-0x00100000); } |
| r19688 | r19689 | |
| 2182 | 2189 | } |
| 2183 | 2190 | } |
| 2184 | 2191 | |
| 2192 | READ8_MEMBER(pc9801_state::pc9801rs_ide_io_0_r) |
| 2193 | { |
| 2194 | return 0; |
| 2195 | } |
| 2196 | |
| 2197 | WRITE8_MEMBER(pc9801_state::pc9801rs_ide_io_0_w) |
| 2198 | { |
| 2199 | // ... |
| 2200 | } |
| 2201 | |
| 2202 | READ8_MEMBER(pc9801_state::pc9801rs_ide_io_1_r) |
| 2203 | { |
| 2204 | if(offset == 0xe/2) |
| 2205 | return 0x50; |
| 2206 | |
| 2207 | return 0xff; |
| 2208 | } |
| 2209 | |
| 2210 | WRITE8_MEMBER(pc9801_state::pc9801rs_ide_io_1_w) |
| 2211 | { |
| 2212 | // ... |
| 2213 | } |
| 2214 | |
| 2215 | READ8_MEMBER(pc9801_state::pc9801rs_ide_io_2_r) |
| 2216 | { |
| 2217 | return 0x50; // status |
| 2218 | } |
| 2219 | |
| 2220 | WRITE8_MEMBER(pc9801_state::pc9801rs_ide_io_2_w) |
| 2221 | { |
| 2222 | // ... |
| 2223 | } |
| 2224 | |
| 2185 | 2225 | static ADDRESS_MAP_START( pc9801rs_map, AS_PROGRAM, 32, pc9801_state ) |
| 2186 | 2226 | AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE8(pc9801rs_memory_r,pc9801rs_memory_w,0xffffffff) |
| 2187 | 2227 | ADDRESS_MAP_END |
| r19688 | r19689 | |
| 2193 | 2233 | AM_RANGE(0x0030, 0x0037) AM_READWRITE8(pc9801rs_30_r, pc9801_30_w, 0xffffffff) //i8251 RS232c / i8255 system port |
| 2194 | 2234 | AM_RANGE(0x0040, 0x0047) AM_READWRITE8(pc9801_40_r, pc9801_40_w, 0xffffffff) //i8255 printer port / i8251 keyboard |
| 2195 | 2235 | AM_RANGE(0x0050, 0x0053) AM_WRITE8(pc9801rs_nmi_w, 0xffffffff) |
| 2196 | | AM_RANGE(0x005c, 0x005f) AM_WRITENOP // time-stamp? |
| 2236 | AM_RANGE(0x005c, 0x005f) AM_READ(pc9821_timestamp_r) AM_WRITENOP // artic |
| 2197 | 2237 | AM_RANGE(0x0060, 0x0063) AM_READWRITE8(pc9801_60_r, pc9801_60_w, 0xffffffff) //upd7220 character ports / <undefined> |
| 2198 | 2238 | AM_RANGE(0x0064, 0x0067) AM_WRITE8(pc9801_vrtc_mask_w, 0xffffffff) |
| 2199 | 2239 | AM_RANGE(0x0068, 0x006b) AM_WRITE8(pc9801rs_video_ff_w,0xffffffff) //mode FF / <undefined> |
| r19688 | r19689 | |
| 2206 | 2246 | // AM_RANGE(0x00ec, 0x00ef) PC-9801-86 sound board |
| 2207 | 2247 | AM_RANGE(0x00f0, 0x00ff) AM_READWRITE8(pc9801rs_f0_r, pc9801rs_f0_w, 0xffffffff) |
| 2208 | 2248 | // AM_RANGE(0x0188, 0x018f) AM_READWRITE8(pc9801_opn_r, pc9801_opn_w, 0xffffffff) //ym2203 opn / <undefined> |
| 2249 | AM_RANGE(0x0430, 0x0433) AM_READWRITE8(pc9801rs_ide_io_0_r, pc9801rs_ide_io_0_w,0x00ff00ff) |
| 2250 | |
| 2209 | 2251 | AM_RANGE(0x0438, 0x043b) AM_READWRITE8(pc9801rs_access_ctrl_r,pc9801rs_access_ctrl_w,0xffffffff) |
| 2210 | 2252 | AM_RANGE(0x043c, 0x043f) AM_WRITE8(pc9801rs_bank_w, 0xffffffff) //ROM/RAM bank |
| 2253 | |
| 2254 | AM_RANGE(0x0640, 0x064f) AM_READWRITE8(pc9801rs_ide_io_1_r, pc9801rs_ide_io_1_w,0x00ff00ff) |
| 2255 | AM_RANGE(0x074c, 0x074f) AM_READWRITE8(pc9801rs_ide_io_2_r, pc9801rs_ide_io_2_w,0x00ff00ff) |
| 2256 | |
| 2211 | 2257 | AM_RANGE(0x3fd8, 0x3fdf) AM_READWRITE8(pc9801rs_pit_mirror_r, pc9801rs_pit_mirror_w, 0xffffffff) // <undefined> / pit mirror ports |
| 2212 | 2258 | AM_RANGE(0x7fd8, 0x7fdf) AM_READWRITE8(pc9801_mouse_r, pc9801_mouse_w, 0xffffffff) // <undefined> / mouse ppi8255 ports |
| 2213 | 2259 | // AM_RANGE(0xa460, 0xa463) AM_READWRITE8(pc9801_ext_opna_r, pc9801_ext_opna_w, 0xffffffff) |
| r19688 | r19689 | |
| 2285 | 2331 | * |
| 2286 | 2332 | ************************************/ |
| 2287 | 2333 | |
| 2288 | | READ8_MEMBER(pc9801_state::pc9821_ide_r) { return m_ide_rom[offset]; } |
| 2289 | | READ8_MEMBER(pc9801_state::pc9821_unkrom_r) { return m_unk_rom[offset]; } |
| 2290 | | |
| 2291 | 2334 | /* Note: not hooking this up causes "MEMORY ERROR" at POST */ |
| 2292 | 2335 | READ8_MEMBER(pc9801_state::pc9821_ideram_r) { return m_ide_ram[offset]; } |
| 2293 | 2336 | WRITE8_MEMBER(pc9801_state::pc9821_ideram_w) { m_ide_ram[offset] = data; } |
| r19688 | r19689 | |
| 2313 | 2356 | else if(offset >= 0x000a8000 && offset <= 0x000affff) { return m_pc9801rs_grcg_r(offset & 0x7fff,1); } |
| 2314 | 2357 | else if(offset >= 0x000b0000 && offset <= 0x000b7fff) { return m_pc9801rs_grcg_r(offset & 0x7fff,2); } |
| 2315 | 2358 | else if(offset >= 0x000b8000 && offset <= 0x000bffff) { return m_pc9801rs_grcg_r(offset & 0x7fff,3); } |
| 2316 | | else if(offset >= 0x000cc000 && offset <= 0x000cffff) { return pc9821_unkrom_r(space,offset & 0x3fff); } |
| 2317 | | else if(offset >= 0x000d8000 && offset <= 0x000d9fff) { return pc9821_ide_r(space,offset & 0x1fff); } |
| 2359 | else if(offset >= 0x000cc000 && offset <= 0x000cffff) { return pc9801rs_soundrom_r(space,offset & 0x3fff);} |
| 2360 | else if(offset >= 0x000d8000 && offset <= 0x000d9fff) { return pc9801rs_ide_r(space,offset & 0x1fff); } |
| 2318 | 2361 | else if(offset >= 0x000da000 && offset <= 0x000dbfff) { return pc9821_ideram_r(space,offset & 0x1fff); } |
| 2319 | 2362 | else if(offset >= 0x000e0000 && offset <= 0x000e7fff) { return m_pc9801rs_grcg_r(offset & 0x7fff,0); } |
| 2320 | 2363 | else if(offset >= 0x000e0000 && offset <= 0x000fffff) { return pc9801rs_ipl_r(space,offset & 0x1ffff); } |
| r19688 | r19689 | |
| 2421 | 2464 | pc9801rs_a0_w(space,offset,data); |
| 2422 | 2465 | } |
| 2423 | 2466 | |
| 2424 | | READ8_MEMBER(pc9801_state::ide_status_r) |
| 2425 | | { |
| 2426 | | return 0x50; // status |
| 2427 | | } |
| 2428 | | |
| 2429 | 2467 | READ8_MEMBER(pc9801_state::pc9821_window_bank_r) |
| 2430 | 2468 | { |
| 2431 | 2469 | if(offset == 1) |
| r19688 | r19689 | |
| 2540 | 2578 | AM_RANGE(0x0030, 0x0037) AM_READWRITE8(pc9801rs_30_r, pc9801_30_w, 0xffffffff) //i8251 RS232c / i8255 system port |
| 2541 | 2579 | AM_RANGE(0x0040, 0x0047) AM_READWRITE8(pc9801_40_r, pc9801_40_w, 0xffffffff) //i8255 printer port / i8251 keyboard |
| 2542 | 2580 | AM_RANGE(0x0050, 0x0053) AM_WRITE8(pc9801rs_nmi_w, 0xffffffff) |
| 2543 | | AM_RANGE(0x005c, 0x005f) AM_READ(pc9821_timestamp_r) AM_WRITENOP |
| 2581 | AM_RANGE(0x005c, 0x005f) AM_READ(pc9821_timestamp_r) AM_WRITENOP // artic |
| 2544 | 2582 | AM_RANGE(0x0060, 0x0063) AM_READWRITE8(pc9801_60_r, pc9801_60_w, 0xffffffff) //upd7220 character ports / <undefined> |
| 2545 | 2583 | AM_RANGE(0x0064, 0x0067) AM_WRITE8(pc9801_vrtc_mask_w, 0xffffffff) |
| 2546 | 2584 | AM_RANGE(0x0068, 0x006b) AM_WRITE8(pc9821_video_ff_w, 0xffffffff) //mode FF / <undefined> |
| r19688 | r19689 | |
| 2557 | 2595 | AM_RANGE(0x00f0, 0x00ff) AM_READWRITE8(pc9801rs_f0_r, pc9801rs_f0_w, 0xffffffff) |
| 2558 | 2596 | // AM_RANGE(0x0188, 0x018f) AM_READWRITE8(pc9801_opn_r, pc9801_opn_w, 0xffffffff) //ym2203 opn / <undefined> |
| 2559 | 2597 | // AM_RANGE(0x018c, 0x018f) YM2203 OPN extended ports / <undefined> |
| 2560 | | // AM_RANGE(0x0430, 0x0430) IDE bank register |
| 2561 | | // AM_RANGE(0x0432, 0x0432) IDE bank register (mirror) |
| 2598 | AM_RANGE(0x0430, 0x0433) AM_READWRITE8(pc9801rs_ide_io_0_r, pc9801rs_ide_io_0_w,0x00ff00ff) // IDE bank register |
| 2562 | 2599 | AM_RANGE(0x0438, 0x043b) AM_READWRITE8(pc9801rs_access_ctrl_r,pc9801rs_access_ctrl_w,0xffffffff) |
| 2563 | 2600 | // AM_RANGE(0x043d, 0x043d) ROM/RAM bank (NEC) |
| 2564 | 2601 | AM_RANGE(0x043c, 0x043f) AM_WRITE8(pc9801rs_bank_w, 0xffffffff) //ROM/RAM bank (EPSON) |
| 2565 | 2602 | AM_RANGE(0x0460, 0x0463) AM_READWRITE8(pc9821_window_bank_r,pc9821_window_bank_w, 0xffffffff) |
| 2566 | 2603 | // AM_RANGE(0x04a0, 0x04af) EGC |
| 2567 | 2604 | // AM_RANGE(0x04be, 0x04be) FDC "RPM" register |
| 2568 | | // AM_RANGE(0x0642, 0x064f) IDE registers / <undefined> |
| 2569 | | AM_RANGE(0x074c, 0x074f) AM_READ8(ide_status_r, 0x000000ff) // IDE status (r) - IDE control registers (w) / <undefined> |
| 2605 | AM_RANGE(0x0640, 0x064f) AM_READWRITE8(pc9801rs_ide_io_1_r, pc9801rs_ide_io_1_w,0x00ff00ff) // IDE registers / <undefined> |
| 2606 | AM_RANGE(0x074c, 0x074f) AM_READWRITE8(pc9801rs_ide_io_2_r, pc9801rs_ide_io_2_w,0x00ff00ff) // IDE status (r) - IDE control registers (w) / <undefined> |
| 2570 | 2607 | // AM_RANGE(0x08e0, 0x08ea) <undefined> / EMM SIO registers |
| 2571 | 2608 | AM_RANGE(0x09a0, 0x09a3) AM_READWRITE8(pc9821_ext2_video_ff_r, pc9821_ext2_video_ff_w, 0xffffffff) // GDC extended register r/w |
| 2572 | 2609 | // AM_RANGE(0x09a8, 0x09a8) GDC 31KHz register r/w |
| r19688 | r19689 | |
| 3556 | 3593 | fdc = machine().device<upd765a_device>(":upd765_2hd"); |
| 3557 | 3594 | fdc->setup_intrq_cb(upd765a_device::line_cb(FUNC(pc9801_state::pc9801rs_fdc_irq), this)); |
| 3558 | 3595 | fdc->setup_drq_cb(upd765a_device::line_cb(FUNC(pc9801_state::pc9801rs_fdc_drq), this)); |
| 3596 | |
| 3597 | m_ide_rom = memregion("ide")->base(); |
| 3559 | 3598 | } |
| 3560 | 3599 | |
| 3561 | 3600 | MACHINE_START_MEMBER(pc9801_state,pc9821) |
| r19688 | r19689 | |
| 3564 | 3603 | |
| 3565 | 3604 | m_ide_ram = auto_alloc_array(machine(), UINT8, 0x2000); |
| 3566 | 3605 | m_ext_gvram = auto_alloc_array(machine(), UINT8, 0xa0000); |
| 3567 | | m_ide_rom = memregion("ide")->base(); |
| 3568 | | m_unk_rom = memregion("unkrom")->base(); |
| 3569 | 3606 | |
| 3570 | 3607 | state_save_register_global_pointer(machine(), m_sdip, 24); |
| 3571 | 3608 | state_save_register_global_pointer(machine(), m_ide_ram, 0x2000); |
| r19688 | r19689 | |
| 3897 | 3934 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq) |
| 3898 | 3935 | MACHINE_CONFIG_END |
| 3899 | 3936 | |
| 3937 | /* took from "raw" memory dump, uncomment ROM_FILL if you want to play with it */ |
| 3900 | 3938 | #define LOAD_IDE_ROM \ |
| 3901 | 3939 | ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF ) \ |
| 3902 | | ROM_LOAD( "ide.rom", 0x00000, 0x02000, NO_DUMP ) \ |
| 3940 | ROM_LOAD( "d8000.rom", 0x0000, 0x2000, BAD_DUMP CRC(5dda57cc) SHA1(d0dead41c5b763008a4d777aedddce651eb6dcbb) ) \ |
| 3941 | ROM_IGNORE( 0x2000 ) \ |
| 3942 | ROM_IGNORE( 0x2000 ) \ |
| 3943 | ROM_IGNORE( 0x2000 ) \ |
| 3903 | 3944 | ROM_FILL( 0x0000, 0x2000, 0xcb ) \ |
| 3904 | 3945 | |
| 3905 | | // pnp, soundrom actually? |
| 3906 | | #define LOAD_UNK_ROM \ |
| 3907 | | ROM_REGION( 0x4000, "unkrom", ROMREGION_ERASEFF ) \ |
| 3908 | | ROM_LOAD( "unk.rom", 0x00000, 0x04000, NO_DUMP ) \ |
| 3909 | | ROM_FILL( 0x0000, 0x4000, 0xcb ) \ |
| 3910 | | |
| 3911 | 3946 | // all of these are half size :/ |
| 3912 | | #define KANJI_ROMS \ |
| 3947 | #define LOAD_KANJI_ROMS \ |
| 3913 | 3948 | ROM_REGION( 0x80000, "raw_kanji", ROMREGION_ERASEFF ) \ |
| 3914 | 3949 | ROM_LOAD16_BYTE( "24256c-x01.bin", 0x00000, 0x4000, BAD_DUMP CRC(28ec1375) SHA1(9d8e98e703ce0f483df17c79f7e841c5c5cd1692) ) \ |
| 3915 | 3950 | ROM_CONTINUE( 0x20000, 0x4000 ) \ |
| r19688 | r19689 | |
| 3955 | 3990 | ROM_LOAD( "d23128c-17.bin", 0x00000, 0x00800, BAD_DUMP CRC(eea57180) SHA1(4aa037c684b72ad4521212928137d3369174eb1e) ) //original is a bad dump, this is taken from i386 model |
| 3956 | 3991 | ROM_LOAD("hn613128pac8.bin",0x00800, 0x01000, BAD_DUMP CRC(b5a15b5c) SHA1(e5f071edb72a5e9a8b8b1c23cf94a74d24cb648e) ) //bad dump, 8x16 charset? (it's on the kanji board) |
| 3957 | 3992 | |
| 3958 | | KANJI_ROMS |
| 3993 | LOAD_KANJI_ROMS |
| 3959 | 3994 | ROM_END |
| 3960 | 3995 | |
| 3961 | 3996 | /* |
| r19688 | r19689 | |
| 3973 | 4008 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 3974 | 4009 | ROM_LOAD( "font_ux.rom", 0x000000, 0x046800, BAD_DUMP CRC(19a76eeb) SHA1(96a006e8515157a624599c2b53a581ae0dd560fd) ) |
| 3975 | 4010 | |
| 3976 | | KANJI_ROMS |
| 4011 | LOAD_KANJI_ROMS |
| 4012 | LOAD_IDE_ROM |
| 3977 | 4013 | ROM_END |
| 3978 | 4014 | |
| 3979 | 4015 | /* |
| r19688 | r19689 | |
| 3991 | 4027 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 3992 | 4028 | ROM_LOAD( "font_rx.rom", 0x000000, 0x046800, CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff) ) |
| 3993 | 4029 | |
| 3994 | | KANJI_ROMS |
| 4030 | LOAD_KANJI_ROMS |
| 4031 | LOAD_IDE_ROM |
| 3995 | 4032 | ROM_END |
| 3996 | 4033 | |
| 3997 | 4034 | /* |
| r19688 | r19689 | |
| 4011 | 4048 | ROM_LOAD( "c0000.rom", 0xc0000, 0x8000, CRC(1b43eabd) SHA1(ca711c69165e1fa5be72993b9a7870ef6d485249) ) // 0xff everywhere |
| 4012 | 4049 | ROM_LOAD( "c8000.rom", 0xc8000, 0x8000, CRC(f2a262b0) SHA1(fe97d2068d18bbb7425d9774e2e56982df2aa1fb) ) |
| 4013 | 4050 | ROM_LOAD( "d0000.rom", 0xd0000, 0x8000, CRC(1b43eabd) SHA1(ca711c69165e1fa5be72993b9a7870ef6d485249) ) // 0xff everywhere |
| 4014 | | ROM_LOAD( "d8000.rom", 0xd8000, 0x8000, CRC(5dda57cc) SHA1(d0dead41c5b763008a4d777aedddce651eb6dcbb) ) |
| 4015 | 4051 | ROM_LOAD( "e8000.rom", 0xe8000, 0x8000, CRC(4e32081e) SHA1(e23571273b7cad01aa116cb7414c5115a1093f85) ) // contains n-88 basic (86) v2.0 |
| 4016 | 4052 | ROM_LOAD( "f0000.rom", 0xf0000, 0x8000, CRC(4da85a6c) SHA1(18dccfaf6329387c0c64cc4c91b32c25cde8bd5a) ) |
| 4017 | 4053 | ROM_LOAD( "f8000.rom", 0xf8000, 0x8000, CRC(2b1e45b1) SHA1(1fec35f17d96b2e2359e3c71670575ad9ff5007e) ) |
| r19688 | r19689 | |
| 4022 | 4058 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4023 | 4059 | ROM_LOAD( "font_rs.rom", 0x00000, 0x46800, BAD_DUMP CRC(da370e7a) SHA1(584d0c7fde8c7eac1f76dc5e242102261a878c5e) ) |
| 4024 | 4060 | |
| 4025 | | KANJI_ROMS |
| 4061 | LOAD_KANJI_ROMS |
| 4062 | LOAD_IDE_ROM |
| 4026 | 4063 | ROM_END |
| 4027 | 4064 | |
| 4028 | 4065 | /* |
| r19688 | r19689 | |
| 4042 | 4079 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4043 | 4080 | ROM_LOAD( "font_vm.rom", 0x000000, 0x046800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff) ) |
| 4044 | 4081 | |
| 4045 | | KANJI_ROMS |
| 4082 | LOAD_KANJI_ROMS |
| 4083 | LOAD_IDE_ROM |
| 4046 | 4084 | ROM_END |
| 4047 | 4085 | |
| 4048 | 4086 | /* |
| r19688 | r19689 | |
| 4056 | 4094 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 4057 | 4095 | ROM_LOAD( "bios.rom", 0x28000, 0x18000, BAD_DUMP CRC(34a19a59) SHA1(2e92346727b0355bc1ec9a7ded1b444a4917f2b9) ) |
| 4058 | 4096 | |
| 4059 | | LOAD_IDE_ROM |
| 4060 | | LOAD_UNK_ROM |
| 4061 | | |
| 4062 | 4097 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4063 | 4098 | ROM_LOAD( "sound.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 4064 | 4099 | |
| 4065 | 4100 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4066 | 4101 | ROM_LOAD( "font.rom", 0x00000, 0x46800, BAD_DUMP CRC(a61c0649) SHA1(554b87377d176830d21bd03964dc71f8e98676b1) ) |
| 4067 | 4102 | |
| 4068 | | KANJI_ROMS |
| 4103 | LOAD_KANJI_ROMS |
| 4104 | LOAD_IDE_ROM |
| 4069 | 4105 | ROM_END |
| 4070 | 4106 | |
| 4071 | 4107 | /* |
| r19688 | r19689 | |
| 4077 | 4113 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, BAD_DUMP CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 4078 | 4114 | ROM_LOAD( "bios_as.rom", 0x28000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 4079 | 4115 | |
| 4080 | | LOAD_IDE_ROM |
| 4081 | | LOAD_UNK_ROM |
| 4082 | | |
| 4083 | 4116 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4084 | 4117 | ROM_LOAD( "sound_as.rom", 0x000000, 0x004000, CRC(fe9f57f2) SHA1(d5dbc4fea3b8367024d363f5351baecd6adcd8ef) ) |
| 4085 | 4118 | |
| 4086 | 4119 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4087 | 4120 | ROM_LOAD( "font_as.rom", 0x000000, 0x046800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff) ) |
| 4088 | 4121 | |
| 4089 | | KANJI_ROMS |
| 4122 | LOAD_KANJI_ROMS |
| 4123 | LOAD_IDE_ROM |
| 4090 | 4124 | ROM_END |
| 4091 | 4125 | |
| 4092 | 4126 | |
| r19688 | r19689 | |
| 4099 | 4133 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 4100 | 4134 | ROM_LOAD( "bios_ne.rom", 0x28000, 0x18000, BAD_DUMP CRC(2ae070c4) SHA1(d7963942042bfd84ed5fc9b7ba8f1c327c094172) ) |
| 4101 | 4135 | |
| 4102 | | LOAD_IDE_ROM |
| 4103 | | LOAD_UNK_ROM |
| 4104 | | |
| 4105 | 4136 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4106 | 4137 | ROM_LOAD( "sound_ne.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 4107 | 4138 | |
| 4108 | 4139 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4109 | 4140 | ROM_LOAD( "font_ne.rom", 0x00000, 0x46800, BAD_DUMP CRC(fb213757) SHA1(61525826d62fb6e99377b23812faefa291d78c2e) ) |
| 4110 | 4141 | |
| 4111 | | KANJI_ROMS |
| 4142 | LOAD_KANJI_ROMS |
| 4143 | LOAD_IDE_ROM |
| 4112 | 4144 | ROM_END |
| 4113 | 4145 | |
| 4114 | 4146 | /* |
| r19688 | r19689 | |
| 4120 | 4152 | ROM_LOAD( "bios_486mu.rom", 0x08000, 0x18000, BAD_DUMP CRC(57b5d701) SHA1(15029800842e93e07615b0fd91fb9f2bfe3e3c24)) |
| 4121 | 4153 | ROM_RELOAD( 0x28000, 0x18000 ) // missing rom? |
| 4122 | 4154 | |
| 4123 | | LOAD_IDE_ROM |
| 4124 | | LOAD_UNK_ROM |
| 4125 | | |
| 4126 | 4155 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4127 | 4156 | ROM_LOAD( "sound_486mu.rom", 0x0000, 0x4000, CRC(6cdfa793) SHA1(4b8250f9b9db66548b79f961d61010558d6d6e1c)) |
| 4128 | 4157 | |
| 4129 | 4158 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4130 | 4159 | ROM_LOAD( "font_486mu.rom", 0x0000, 0x46800, CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff)) |
| 4131 | 4160 | |
| 4132 | | KANJI_ROMS |
| 4161 | LOAD_KANJI_ROMS |
| 4162 | LOAD_IDE_ROM |
| 4133 | 4163 | ROM_END |
| 4134 | 4164 | |
| 4135 | 4165 | /* |
| r19688 | r19689 | |
| 4141 | 4171 | ROM_LOAD( "itf_ce2.rom", 0x18000, 0x08000, CRC(273e9e88) SHA1(9bca7d5116788776ed0f297bccb4dfc485379b41) ) |
| 4142 | 4172 | ROM_LOAD( "bios_ce2.rom", 0x28000, 0x018000, BAD_DUMP CRC(76affd90) SHA1(910fae6763c0cd59b3957b6cde479c72e21f33c1) ) |
| 4143 | 4173 | |
| 4144 | | LOAD_IDE_ROM |
| 4145 | | LOAD_UNK_ROM |
| 4146 | | |
| 4147 | 4174 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4148 | 4175 | ROM_LOAD( "sound_ce2.rom", 0x000000, 0x004000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 4149 | 4176 | |
| 4150 | 4177 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4151 | 4178 | ROM_LOAD( "font_ce2.rom", 0x000000, 0x046800, CRC(d1c2702a) SHA1(e7781e9d35b6511d12631641d029ad2ba3f7daef) ) |
| 4152 | 4179 | |
| 4153 | | KANJI_ROMS |
| 4180 | LOAD_KANJI_ROMS |
| 4181 | LOAD_IDE_ROM |
| 4154 | 4182 | ROM_END |
| 4155 | 4183 | |
| 4156 | 4184 | /* |
| r19688 | r19689 | |
| 4162 | 4190 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, BAD_DUMP CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 4163 | 4191 | ROM_LOAD( "bios_xs.rom", 0x28000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 4164 | 4192 | |
| 4165 | | LOAD_IDE_ROM |
| 4166 | | LOAD_UNK_ROM |
| 4167 | | |
| 4168 | 4193 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4169 | 4194 | ROM_LOAD( "sound_xs.rom", 0x000000, 0x004000, CRC(80eabfde) SHA1(e09c54152c8093e1724842c711aed6417169db23) ) |
| 4170 | 4195 | |
| 4171 | 4196 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4172 | 4197 | ROM_LOAD( "font_xs.rom", 0x000000, 0x046800, BAD_DUMP CRC(c9a77d8f) SHA1(deb8563712eb2a634a157289838b95098ba0c7f2) ) |
| 4173 | 4198 | |
| 4174 | | KANJI_ROMS |
| 4199 | LOAD_KANJI_ROMS |
| 4200 | LOAD_IDE_ROM |
| 4175 | 4201 | ROM_END |
| 4176 | 4202 | |
| 4177 | 4203 | |
| r19688 | r19689 | |
| 4184 | 4210 | ROM_LOAD( "itf.rom", 0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) ) |
| 4185 | 4211 | ROM_LOAD( "bios_v13.rom", 0x28000, 0x18000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) ) |
| 4186 | 4212 | |
| 4187 | | LOAD_IDE_ROM |
| 4188 | | LOAD_UNK_ROM |
| 4189 | | |
| 4190 | 4213 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4191 | 4214 | ROM_LOAD( "sound_v13.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) ) |
| 4192 | 4215 | |
| 4193 | 4216 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4194 | 4217 | ROM_LOAD( "font_a.rom", 0x00000, 0x46800, BAD_DUMP CRC(c9a77d8f) SHA1(deb8563712eb2a634a157289838b95098ba0c7f2) ) |
| 4195 | 4218 | |
| 4196 | | KANJI_ROMS |
| 4219 | LOAD_KANJI_ROMS |
| 4220 | LOAD_IDE_ROM |
| 4197 | 4221 | ROM_END |
| 4198 | 4222 | |
| 4199 | 4223 | /* |
| r19688 | r19689 | |
| 4205 | 4229 | ROM_LOAD( "itf_v20.rom", 0x18000, 0x08000, CRC(10e52302) SHA1(f95b8648e3f5a23e507a9fbda8ab2e317d8e5151) ) |
| 4206 | 4230 | ROM_LOAD( "bios_v20.rom", 0x28000, 0x018000, BAD_DUMP CRC(d5d1f13b) SHA1(bf44b5f4e138e036f1b848d6616fbd41b5549764) ) |
| 4207 | 4231 | |
| 4208 | | LOAD_IDE_ROM |
| 4209 | | LOAD_UNK_ROM |
| 4210 | | |
| 4211 | 4232 | ROM_REGION( 0x10000, "sound_bios", 0 ) |
| 4212 | 4233 | ROM_LOAD( "sound_v20.rom", 0x000000, 0x004000, CRC(80eabfde) SHA1(e09c54152c8093e1724842c711aed6417169db23) ) |
| 4213 | 4234 | |
| 4214 | 4235 | ROM_REGION( 0x80000, "chargen", 0 ) |
| 4215 | 4236 | ROM_LOAD( "font_v20.rom", 0x000000, 0x046800, BAD_DUMP CRC(6244c4c0) SHA1(9513cac321e89b4edb067b30e9ecb1adae7e7be7) ) |
| 4216 | 4237 | |
| 4217 | | KANJI_ROMS |
| 4238 | LOAD_KANJI_ROMS |
| 4239 | LOAD_IDE_ROM |
| 4218 | 4240 | ROM_END |
| 4219 | 4241 | |
| 4220 | 4242 | |