Fixed RAM mask on resetx86(), fixes soft reset triggered by MS-DOS Setup;

Changed version to 1.04.
This commit is contained in:
OBattler
2017-02-26 06:36:52 +01:00
parent c4cf53193f
commit 51b085c13e
3 changed files with 7 additions and 16 deletions

View File

@@ -645,14 +645,7 @@ void resetx86()
eflags=0;
cgate32=0;
loadcs(0xFFFF);
if (AT)
{
rammask = mem_a20_state ? 0xffffffff : 0xffefffff;
}
else
{
rammask = 0xfffff;
}
rammask = AT ? 0xFFFFFFFF : 0xfffff;
idt.base = 0;
flags=2;
makeznptable();

View File

@@ -1,4 +1,4 @@
/* Copyright holders: Tenshi
see COPYING for more details
*/
#define emulator_version "1.10"
#define emulator_version "1.04"

View File

@@ -2250,22 +2250,20 @@ void mem_a20_recalc()
static uint8_t port_92_read(uint16_t port, void *priv)
{
return (port_92_reg & 3) | 0x24;
return port_92_reg;
}
static void port_92_write(uint16_t port, uint8_t val, void *priv)
{
mem_a20_alt = val & 2;
mem_a20_recalc();
if (!(port_92_reg & 1) && (val & 1))
if (val & 1)
{
// pclog("Port 92: Soft reset\n");
softresetx86();
cpu_set_edx();
}
port_92_reg = val & 3;
port_92_reg = val & ~-1;
mem_a20_alt = val & 2;
mem_a20_recalc();
}