Skip to content

Commit 210ca4b

Browse files
committed
pc/at.cpp: fix megapc/megapcpl keyboard default, remove ROM patches
* allows BIOS setup navigation, megapc can also boot msdos5 at least;
1 parent 01c2c35 commit 210ca4b

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

src/mame/pc/at.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -359,25 +359,23 @@ void at_state::ficpio_io(address_map &map)
359359
map(0x0cf8, 0x0cff).rw("pcibus", FUNC(pci_bus_device::read), FUNC(pci_bus_device::write));
360360
}
361361

362-
// TODO: verify and remove these hacks once triple fault is fixed
363362
void megapc_state::init_megapc()
364363
{
365-
uint8_t* ROM = memregion("bios")->base();
366-
// HACK: keyboard checks
367-
ROM[0x19145] = 0x45;
364+
// uint8_t* ROM = memregion("bios")->base();
365+
// ROM[0x19145] = 0x45;
368366
// To be removed when the keyboard controller from the MegaPC is dumped
369-
ROM[0x1fea0] = 0x20; // to correct checksum
367+
// ROM[0x1fea0] = 0x20; // to correct checksum
370368
}
371369

372370
void megapc_state::init_megapcpl()
373371
{
374-
uint8_t* ROM = memregion("bios")->base();
375-
// HACK: keyboard checks
376-
ROM[0x187b1] = 0x55;
372+
// uint8_t* ROM = memregion("bios")->base();
373+
// ROM[0x187b1] = 0x55;
377374
// To be removed when the keyboard controller from the MegaPC is dumped
378-
ROM[0x1fea0] = 0x20; // to correct checksum
375+
// ROM[0x1fea0] = 0x20; // to correct checksum
379376
}
380377

378+
// TODO: verify and remove this hack
381379
void at_vrom_fix_state::init_megapcpla()
382380
{
383381
uint8_t* ROM = memregion("bios")->base();
@@ -779,11 +777,13 @@ void megapc_state::megapc(machine_config &config)
779777
m_isabus->drq6_callback().set(m_wd7600, FUNC(wd7600_device::dreq6_w));
780778
m_isabus->drq7_callback().set(m_wd7600, FUNC(wd7600_device::dreq7_w));
781779

782-
ISA16_SLOT(config, "board1", 0, "isabus", pc_isa16_cards, "fdcsmc", true); // FIXME: determine ISA bus clock
780+
// FIXME: determine ISA bus clock
781+
ISA16_SLOT(config, "board1", 0, "isabus", pc_isa16_cards, "fdcsmc", true);
783782
ISA16_SLOT(config, "board2", 0, "isabus", pc_isa16_cards, "comat", true);
784783
ISA16_SLOT(config, "board3", 0, "isabus", pc_isa16_cards, "ide", true);
785784
ISA16_SLOT(config, "board4", 0, "isabus", pc_isa16_cards, "lpt", true);
786-
ISA16_SLOT(config, "board5", 0, "isabus", pc_isa16_cards, "vga", true);
785+
// WD90C11A-LR
786+
ISA16_SLOT(config, "board5", 0, "isabus", pc_isa16_cards, "wd90c11_lr", true);
787787
// ISA cards
788788
ISA16_SLOT(config, "isa1", 0, "isabus", pc_isa16_cards, nullptr, false);
789789

@@ -794,8 +794,8 @@ void megapc_state::megapc(machine_config &config)
794794
keybc.kbd_clk().set("kbd", FUNC(pc_kbdc_device::clock_write_from_mb));
795795
keybc.kbd_data().set("kbd", FUNC(pc_kbdc_device::data_write_from_mb));
796796

797-
// TODO: likely wants IBM keyboard as per Teradrive
798-
pc_kbdc_device &pc_kbdc(PC_KBDC(config, "kbd", pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL));
797+
// NOTE: wants an IBM keyboard
798+
pc_kbdc_device &pc_kbdc(PC_KBDC(config, "kbd", pc_at_keyboards, STR_KBD_IBM_PC_AT_84));
799799
pc_kbdc.out_clock_cb().set("keybc", FUNC(ps2_keyboard_controller_device::kbd_clk_w));
800800
pc_kbdc.out_data_cb().set("keybc", FUNC(ps2_keyboard_controller_device::kbd_data_w));
801801

0 commit comments

Comments
 (0)