CS segment base is now set correctly on reset.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||||
* running old operating systems and software designed for IBM
|
* running old operating systems and software designed for IBM
|
||||||
* PC systems and compatibles from 1981 through fairly recent
|
* PC systems and compatibles from 1981 through fairly recent
|
||||||
@@ -600,8 +600,8 @@ void resetx86()
|
|||||||
cgate32=0;
|
cgate32=0;
|
||||||
if(AT)
|
if(AT)
|
||||||
{
|
{
|
||||||
// loadcs(cpu_16bitbus ? 0xFF000 : 0xFFFF000); arg is uint16_t
|
loadcs(0xF000);
|
||||||
loadcs(cpu_16bitbus ? 0xFF00 : 0xFFFF);
|
_cs.base = cpu_16bitbus ? 0xFF0000 : 0xFFFF0000;
|
||||||
cpu_state.pc=0xFFF0;
|
cpu_state.pc=0xFFF0;
|
||||||
rammask = cpu_16bitbus ? 0xFFFFFF : 0xFFFFFFFF;
|
rammask = cpu_16bitbus ? 0xFFFFFF : 0xFFFFFFFF;
|
||||||
}
|
}
|
||||||
@@ -647,8 +647,8 @@ void softresetx86()
|
|||||||
cgate32=0;
|
cgate32=0;
|
||||||
if(AT)
|
if(AT)
|
||||||
{
|
{
|
||||||
// loadcs(cpu_16bitbus ? 0xFF000 : 0xFFFF000); arg is uint16_t
|
loadcs(0xF000);
|
||||||
loadcs(cpu_16bitbus ? 0xFF00 : 0xFFFF);
|
_cs.base = cpu_16bitbus ? 0xFF0000 : 0xFFFF0000;
|
||||||
cpu_state.pc=0xFFF0;
|
cpu_state.pc=0xFFF0;
|
||||||
rammask = cpu_16bitbus ? 0xFFFFFF : 0xFFFFFFFF;
|
rammask = cpu_16bitbus ? 0xFFFFFF : 0xFFFFFFFF;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user