More 808x fixed - fixed (kind of) the 8086 lock ups and the DRAM refresh wait states, also further fixed (and cleaned up) prefetch queue operation, applied a few warning fixes, and fixed the behavior of PUSH SP - anything that uses it to tell 808x apart from 286 is now fixed;

Re-added the higher-clocked 8088's;
Fixed PIT timings for 808x CPU's that don't run off an 14.3 MHz crystal;
Fixed CGA cursor half blink rate setting - fixes insane cursor blinking speed in several cases;
DMA now issues DMA refresh DRAM states on every channel;
Gave the 1982 years to the previously emulated PC and XT's names, and added the 1981 IBM PC and 1986 IBM XT;
Redid the PPI DIP switch redout for the PC/XT keyboard controller;
Fixed a segmentation fault in hdc_ide.c that tended to occur on hard reset after switching machines;
Implemented the port 3B8 color disable on the Hercules, Hercules Plus, and Hercules InColor cards;
Fixed the joystick configuration dialog strings;
Fixed a problem that would have prevented win_sdl.c from compiling with logging enabled.
This commit is contained in:
OBattler
2019-02-11 01:33:15 +01:00
parent a4c11f9536
commit c1f18d9abc
21 changed files with 611 additions and 359 deletions

View File

@@ -14,14 +14,13 @@
#include "machine.h"
void
machine_pc_init(const machine_t *model)
static void
machine_xt_common_init(const machine_t *model)
{
machine_common_init(model);
pit_set_out_func(&pit, 1, pit_refresh_timer_xt);
device_add(&keyboard_pc_device);
device_add(&fdc_xt_device);
nmi_init();
if (joystick_type != 7)
@@ -29,16 +28,37 @@ machine_pc_init(const machine_t *model)
}
void
machine_pc_init(const machine_t *model)
{
machine_xt_common_init(model);
device_add(&keyboard_pc_device);
}
void
machine_pc82_init(const machine_t *model)
{
machine_xt_common_init(model);
device_add(&keyboard_pc82_device);
}
void
machine_xt_init(const machine_t *model)
{
machine_common_init(model);
pit_set_out_func(&pit, 1, pit_refresh_timer_xt);
machine_xt_common_init(model);
device_add(&keyboard_xt_device);
device_add(&fdc_xt_device);
nmi_init();
if (joystick_type != 7)
device_add(&gameport_device);
}
void
machine_xt86_init(const machine_t *model)
{
machine_xt_common_init(model);
device_add(&keyboard_xt86_device);
}