Merge branch 'develop'

This commit is contained in:
Jonathan Campbell
2021-07-21 22:52:04 -07:00
2 changed files with 16 additions and 14 deletions

View File

@@ -1,4 +1,6 @@
0.83.16 0.83.16
- Fixed initialization order that prevented Bochs
port E9h emulation from working (joncampbell123).
- Added machine=vesa_oldvbe10 to emulate a VESA - Added machine=vesa_oldvbe10 to emulate a VESA
BIOS that follows version 1.0 of the standard. BIOS that follows version 1.0 of the standard.
Specifically, in version 1.0, mode information Specifically, in version 1.0, mode information

View File

@@ -7742,6 +7742,20 @@ private:
ISAPNP_PNP_READ_PORT=NULL; ISAPNP_PNP_READ_PORT=NULL;
} }
if (bochs_port_e9) {
if (BOCHS_PORT_E9 == NULL) {
BOCHS_PORT_E9 = new IO_WriteHandleObject;
BOCHS_PORT_E9->Install(0xE9,bochs_port_e9_write,IO_MB);
}
LOG(LOG_MISC,LOG_DEBUG)("Bochs port E9h emulation is active");
}
else {
if (BOCHS_PORT_E9 != NULL) {
delete BOCHS_PORT_E9;
BOCHS_PORT_E9 = NULL;
}
}
extern Bitu call_default; extern Bitu call_default;
if (IS_PC98_ARCH) { if (IS_PC98_ARCH) {
@@ -9339,20 +9353,6 @@ public:
} }
} }
if (bochs_port_e9) {
if (BOCHS_PORT_E9 == NULL) {
BOCHS_PORT_E9 = new IO_WriteHandleObject;
BOCHS_PORT_E9->Install(0xE9,bochs_port_e9_write,IO_MB);
}
LOG(LOG_MISC,LOG_DEBUG)("Bochs port E9h emulation is active");
}
else {
if (BOCHS_PORT_E9 != NULL) {
delete BOCHS_PORT_E9;
BOCHS_PORT_E9 = NULL;
}
}
/* pick locations */ /* pick locations */
BIOS_DEFAULT_RESET_LOCATION = PhysToReal416(ROMBIOS_GetMemory(64/*several callbacks*/,"BIOS default reset location",/*align*/4)); BIOS_DEFAULT_RESET_LOCATION = PhysToReal416(ROMBIOS_GetMemory(64/*several callbacks*/,"BIOS default reset location",/*align*/4));
BIOS_DEFAULT_HANDLER_LOCATION = PhysToReal416(ROMBIOS_GetMemory(1/*IRET*/,"BIOS default handler location",/*align*/4)); BIOS_DEFAULT_HANDLER_LOCATION = PhysToReal416(ROMBIOS_GetMemory(1/*IRET*/,"BIOS default handler location",/*align*/4));