mirror of
https://github.com/holub/mame
synced 2025-05-29 17:13:05 +03:00
nec/pc9821.cpp: use the internal IDE BIOS for pc9821ap2
This commit is contained in:
parent
7fcf0cf81c
commit
5981d3fe22
@ -1246,7 +1246,7 @@ void pc9801us_state::pc9801us_io(address_map &map)
|
||||
NAME([this] (offs_t offset) { return m_sdip->read((offset >> 8) + 4); }),
|
||||
NAME([this] (offs_t offset, u8 data) { m_sdip->write((offset >> 8) + 4, data); })
|
||||
);
|
||||
// map(0x8f1f, 0x8f1f).w(m_sdip, FUNC(pc98_sdip_device::bank_w));
|
||||
// map(0x8f1f, 0x8f1f).w(m_sdip, FUNC(pc98_sdip_device::bank_w));
|
||||
}
|
||||
|
||||
void pc9801bx_state::pc9801bx2_map(address_map &map)
|
||||
@ -2640,8 +2640,8 @@ void pc9801us_state::pc9801fs(machine_config &config)
|
||||
|
||||
pit_clock_config(config, xtal / 4);
|
||||
|
||||
// PC98_119_KBD(config.replace(), m_keyb, 0);
|
||||
// m_keyb->rxd_callback().set("sio_kbd", FUNC(i8251_device::write_rxd));
|
||||
// PC98_119_KBD(config.replace(), m_keyb, 0);
|
||||
// m_keyb->rxd_callback().set("sio_kbd", FUNC(i8251_device::write_rxd));
|
||||
|
||||
PC98_SDIP(config, "sdip", 0);
|
||||
}
|
||||
@ -2945,6 +2945,11 @@ ROM_START( pc9801fs )
|
||||
ROM_LOAD16_BYTE( "kqx02_00.bin", 0x000001, 0x020000, CRC(f55e42d6) SHA1(2ab0ae817e9abed984544c920182689127550ce3) )
|
||||
|
||||
ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF )
|
||||
// 0x0c000-0x0ffff sound ROM BIOS
|
||||
// 0x10000-0x13fff ^ mirror
|
||||
// 0x14000-0x16fff <unknown>
|
||||
// 0x17000-0x17fff SCSI disk BIOS?
|
||||
// 0x18000-0x1ffff <empty>
|
||||
ROM_COPY( "biosrom", 0x20000, 0x10000, 0x08000 ) //ITF ROM
|
||||
ROM_COPY( "biosrom", 0x28000, 0x18000, 0x08000 ) //BIOS ROM
|
||||
ROM_COPY( "biosrom", 0x30000, 0x20000, 0x08000 )
|
||||
|
@ -533,8 +533,10 @@ void pc9821_state::pc9821_io(address_map &map)
|
||||
* 98MATE A overrides
|
||||
*/
|
||||
// TODO: SDIP extended access for 9821Ap, As, Ae
|
||||
// It never r/w the conventional ports, at least on POST.
|
||||
// Undocumented, it never r/w the conventional ports, at least on POST.
|
||||
// I also suspect a few ports here not being direct RAM r/w but actual regs instead.
|
||||
// 0xf834f: checks against aa55, throws "ROM SUM ERROR" if bypassed
|
||||
// 0xf8363: sum8 contents of [0x02], 10 times (???)
|
||||
u8 pc9821_mate_a_state::ext_sdip_data_r(offs_t offset)
|
||||
{
|
||||
logerror("%s: EXT SDIP access read %02x %02x\n", machine().describe_context(), m_ext_sdip_addr, m_ext_sdip[m_ext_sdip_addr]);
|
||||
@ -543,6 +545,8 @@ u8 pc9821_mate_a_state::ext_sdip_data_r(offs_t offset)
|
||||
|
||||
void pc9821_mate_a_state::ext_sdip_data_w(offs_t offset, u8 data)
|
||||
{
|
||||
logerror("%s: EXT SDIP access write [%02x] -> %02x\n", machine().describe_context(), m_ext_sdip_addr, data);
|
||||
|
||||
m_ext_sdip[m_ext_sdip_addr] = data;
|
||||
}
|
||||
|
||||
@ -589,6 +593,9 @@ void pc9821_mate_a_state::pc9821as_map(address_map &map)
|
||||
pc9821_map(map);
|
||||
map(0x000f8000, 0x000fffff).view(m_bios_view);
|
||||
// TODO: remaining settings
|
||||
// pc9821as uses this
|
||||
m_bios_view[4](0x000f8000, 0x000fffff).rom().region("biosrom", 0x10000);
|
||||
// setup mode
|
||||
m_bios_view[6](0x000f8000, 0x000fffff).rom().region("biosrom", 0x18000);
|
||||
}
|
||||
|
||||
@ -1069,9 +1076,16 @@ ROM_START( pc9821as )
|
||||
ROM_LOAD( "mvs0100-1.bin", 0x00000, 0x80000, CRC(ca37b631) SHA1(8c481dd0608d6c27235bc88bd77e345628dc28a1) )
|
||||
|
||||
ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF )
|
||||
// backported from pc9821ap2
|
||||
// 0x00000-0x04fff KBCRT X47 891105
|
||||
// 0x0c000-0x0ffff sound BIOS
|
||||
// 0x10000-0x13fff ^ mirror
|
||||
// 0x14000-0x16fff <unknown>
|
||||
// 0x17000-0x17fff SCSI disk BIOS?
|
||||
// 0x18000-0x19fff <unknown>
|
||||
// 0x1a000-0x1ffff setup menu
|
||||
ROM_COPY( "biosrom", 0x20000, 0x10000, 0x08000 ) // ITF
|
||||
ROM_COPY( "biosrom", 0x28000, 0x18000, 0x18000 ) // BIOS
|
||||
// 0x50000-0x57fff ? (copies stuff from $e4000, jumps there)
|
||||
|
||||
ROM_REGION( 0x80000, "chargen", 0 )
|
||||
ROM_LOAD( "font_as.rom", 0x000000, 0x046800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff) )
|
||||
@ -1104,7 +1118,7 @@ ROM_START( pc9821ap2 )
|
||||
// 0x10000-0x13fff ^ mirror of above?
|
||||
// 0x14000-0x14ff0 <unknown>
|
||||
// 0x16000-0x19fff contains refs to 765 and HDDs "Conner Peripherals", IDE BIOS?
|
||||
// 0x1c000-0x1ffff contains refs to SDIP setup
|
||||
// 0x1a000-0x1ffff setup menu
|
||||
ROM_COPY( "biosrom", 0x20000, 0x10000, 0x08000 ) // ITF
|
||||
ROM_COPY( "biosrom", 0x28000, 0x18000, 0x18000 ) // BIOS
|
||||
// 0x40000-0x4ffff empty
|
||||
@ -1117,7 +1131,9 @@ ROM_START( pc9821ap2 )
|
||||
ROM_LOAD( "font.rom", 0x00000, 0x46800, BAD_DUMP CRC(a61c0649) SHA1(554b87377d176830d21bd03964dc71f8e98676b1) )
|
||||
|
||||
LOAD_KANJI_ROMS
|
||||
LOAD_IDE_ROM
|
||||
|
||||
ROM_REGION( 0x4000, "ide", ROMREGION_ERASEVAL(0xcb) )
|
||||
ROM_COPY( "biosrom", 0x18000, 0x00000, 0x02000 )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -1178,7 +1194,9 @@ ROM_START( pc9821cx3 )
|
||||
// 0x40000: IDE BIOS (NEC D3766 / Caviar CP30344 / WDC AC2340H)
|
||||
// 0x42000: setup menu
|
||||
ROM_COPY( "biosrom", 0x78000, 0x10000, 0x08000 ) // ITF
|
||||
ROM_COPY( "biosrom", 0x60000, 0x18000, 0x18000 ) // BIOS, probably wrong (reset vector at 0x67ff0)
|
||||
ROM_COPY( "biosrom", 0x70000, 0x18000, 0x08000 ) // BIOS, probably wrong (reset vector at 0x67ff0)
|
||||
ROM_COPY( "biosrom", 0x68000, 0x20000, 0x08000 )
|
||||
ROM_COPY( "biosrom", 0x60000, 0x28000, 0x08000 )
|
||||
|
||||
// "microcode" memory dump, probably identical to above but shuffled
|
||||
// left for consultation
|
||||
@ -1242,7 +1260,9 @@ ROM_START( pc9821xa16 )
|
||||
ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF )
|
||||
// TODO: all of the 256k space seems valid
|
||||
ROM_COPY( "biosrom", 0x28000, 0x00000, 0x18000 )
|
||||
ROM_COPY( "biosrom", 0x00000, 0x18000, 0x18000 )
|
||||
ROM_COPY( "biosrom", 0x20000, 0x28000, 0x08000 )
|
||||
ROM_COPY( "biosrom", 0x18000, 0x20000, 0x08000 )
|
||||
ROM_COPY( "biosrom", 0x10000, 0x18000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x80000, "chargen", 0 )
|
||||
ROM_LOAD( "font.rom", 0x00000, 0x46800, BAD_DUMP CRC(a61c0649) SHA1(554b87377d176830d21bd03964dc71f8e98676b1) )
|
||||
|
Loading…
Reference in New Issue
Block a user