From 7dbb5e164291416b40130fd9fe244de249526403 Mon Sep 17 00:00:00 2001 From: OBattler Date: Sun, 19 Nov 2017 20:33:25 +0100 Subject: [PATCH] Several fixes - the Samsung SPC4200P works again, as do VLB graphics cards. --- src/cpu/808x.c | 2 -- src/keyboard_at.c | 3 ++- src/pc.c | 11 ++++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/cpu/808x.c b/src/cpu/808x.c index 91b0975aa..91c248df4 100644 --- a/src/cpu/808x.c +++ b/src/cpu/808x.c @@ -601,7 +601,6 @@ void resetx86() if(AT) { loadcs(0xF000); - _cs.base = cpu_16bitbus ? 0xFF0000 : 0xFFFF0000; cpu_state.pc=0xFFF0; rammask = cpu_16bitbus ? 0xFFFFFF : 0xFFFFFFFF; } @@ -648,7 +647,6 @@ void softresetx86() if(AT) { loadcs(0xF000); - _cs.base = cpu_16bitbus ? 0xFF0000 : 0xFFFF0000; cpu_state.pc=0xFFF0; rammask = cpu_16bitbus ? 0xFFFFFF : 0xFFFFFFFF; } diff --git a/src/keyboard_at.c b/src/keyboard_at.c index 53fc09762..4f407f58b 100644 --- a/src/keyboard_at.c +++ b/src/keyboard_at.c @@ -1171,7 +1171,8 @@ kbd_reset(void *priv) kbd->dtrans = 0; kbd->first_write = 1; kbd->status = STAT_LOCK | STAT_CD; - kbd->mem[0] = 0x31; + // kbd->mem[0] = 0x31; + kbd->mem[0] = 0x11; kbd->default_mode = 0x02; kbd->wantirq = 0; kbd->output_port = 0xcf; diff --git a/src/pc.c b/src/pc.c index c0a1168b8..a53d5203b 100644 --- a/src/pc.c +++ b/src/pc.c @@ -726,6 +726,7 @@ pc_reset_hard_init(void) /* Reset keyboard and/or mouse. */ // FIXME: do we really have to reset the *AT* keyboard?? --FvK + shadowbios = 0; keyboard_at_reset(); /* Reset the video card. */ @@ -783,15 +784,15 @@ pc_reset_hard_init(void) device_add(&bugger_device); /* Reset the CPU module. */ - cpu_update_waitstates(); - cpu_cache_int_enabled = cpu_cache_ext_enabled = 0; resetx86(); dma_reset(); pic_reset(); + cpu_cache_int_enabled = cpu_cache_ext_enabled = 0; - shadowbios = 0; - - pc_speed_changed(); + if (AT) + setpitclock(machines[machine].cpu[cpu_manufacturer].cpus[cpu].rspeed); + else + setpitclock(14318184.0); }