Fixed RAM mask on resetx86(), fixes soft reset triggered by MS-DOS Setup;
Changed version to 1.04.
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copyright holders: Tenshi
|
||||
see COPYING for more details
|
||||
*/
|
||||
#define emulator_version "1.10"
|
||||
#define emulator_version "1.04"
|
||||
|
||||
12
src/mem.c
12
src/mem.c
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user