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:
42
src/rom.c
42
src/rom.c
@@ -13,7 +13,7 @@
|
||||
* - c386sx16 BIOS fails checksum
|
||||
* - the loadfont() calls should be done elsewhere
|
||||
*
|
||||
* Version: @(#)rom.c 1.0.43 2019/01/13
|
||||
* Version: @(#)rom.c 1.0.44 2019/02/08
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -330,9 +330,9 @@ rom_load_bios(int rom_id)
|
||||
mem_mapping_disable(&romext_mapping);
|
||||
|
||||
switch (rom_id) {
|
||||
case ROM_IBMPC: /* IBM PC */
|
||||
case ROM_IBMPC: /* IBM PC (1981) */
|
||||
if (! rom_load_linear(
|
||||
L"roms/machines/ibmpc/pc102782.bin",
|
||||
L"roms/machines/ibmpc/BIOS_5150_24APR81_U33.BIN",
|
||||
0x00e000, 8192, 0, rom)) break;
|
||||
|
||||
/* Try to load the (full) BASIC ROM. */
|
||||
@@ -355,7 +355,32 @@ rom_load_bios(int rom_id)
|
||||
0x00c000, 8192, 0, rom)) break; /* nope */
|
||||
return(1);
|
||||
|
||||
case ROM_IBMXT: /* IBM PX-XT */
|
||||
case ROM_IBMPC82: /* IBM PC (1982) */
|
||||
if (! rom_load_linear(
|
||||
L"roms/machines/ibmpc82/pc102782.bin",
|
||||
0x00e000, 8192, 0, rom)) break;
|
||||
|
||||
/* Try to load the (full) BASIC ROM. */
|
||||
if (rom_load_linear(
|
||||
L"roms/machines/ibmpc82/ibm-basic-1.10.rom",
|
||||
0x006000, 32768, 0, rom)) return(1);
|
||||
|
||||
/* Nope. Try to load the first BASIC ROM image. */
|
||||
if (! rom_load_linear(
|
||||
L"roms/machines/ibmpc82/basicc11.f6",
|
||||
0x006000, 8192, 0, rom)) return(1); /* nope */
|
||||
if (! rom_load_linear(
|
||||
L"roms/machines/ibmpc82/basicc11.f8",
|
||||
0x008000, 8192, 0, rom)) break; /* nope */
|
||||
if (! rom_load_linear(
|
||||
L"roms/machines/ibmpc82/basicc11.fa",
|
||||
0x00a000, 8192, 0, rom)) break; /* nope */
|
||||
if (! rom_load_linear(
|
||||
L"roms/machines/ibmpc82/basicc11.fc",
|
||||
0x00c000, 8192, 0, rom)) break; /* nope */
|
||||
return(1);
|
||||
|
||||
case ROM_IBMXT: /* IBM PX-XT (1982) */
|
||||
if (rom_load_linear(
|
||||
L"roms/machines/ibmxt/xt.rom",
|
||||
0x000000, 65536, 0, rom)) return(1);
|
||||
@@ -368,6 +393,15 @@ rom_load_bios(int rom_id)
|
||||
0x008000, 32768, 0, rom)) return(1);
|
||||
break;
|
||||
|
||||
case ROM_IBMXT86: /* IBM PX-XT (1986) */
|
||||
if (! rom_load_linear(
|
||||
L"roms/machines/ibmxt86/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN",
|
||||
0x000000, 32768, 0, rom)) break;
|
||||
if (rom_load_linear(
|
||||
L"roms/machines/ibmxt86/BIOS_5160_09MAY86_U18_59X7268_62X0890_27256_F800.BIN",
|
||||
0x008000, 32768, 0, rom)) return(1);
|
||||
break;
|
||||
|
||||
case ROM_XI8088:
|
||||
if (rom_load_linear_inverted(
|
||||
L"roms/machines/xi8088/bios-xi8088.bin",
|
||||
|
||||
Reference in New Issue
Block a user