More keyboard controller clean-ups and fixes to mem/mem.c and port_92.c - OS/2 1.3 now works on IBM PS/2 MCA machines.

This commit is contained in:
OBattler
2023-04-22 03:48:50 +02:00
parent 041e916472
commit 5d9de974ee
5 changed files with 142 additions and 112 deletions

View File

@@ -69,11 +69,18 @@ port_92_readw(uint16_t port, void *priv)
return ret;
}
/*
This does the exact same thing as keyboard controller reset.
TODO: ALi M1543(c) behavior.
*/
static void
port_92_pulse(void *priv)
{
resetx86();
softresetx86(); /* Pulse reset! */
cpu_set_edx();
flushmmucache();
cpu_alt_reset = 1;
}
static void
@@ -166,6 +173,15 @@ port_92_remove(void *priv)
port_92_readb, NULL, NULL, port_92_writeb, NULL, NULL, dev);
}
static void
port_92_reset(void *priv)
{
cpu_alt_reset = 0;
mem_a20_alt = 0x00;
mem_a20_recalc();
}
static void
port_92_close(void *priv)
{
@@ -252,7 +268,7 @@ const device_t port_92_pci_device = {
.local = PORT_92_PCI,
.init = port_92_init,
.close = port_92_close,
.reset = NULL,
.reset = port_92_reset,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,