Made the 808x interrupts delay again, fixes PCjr (TODO: Find why exactly that's needed because it sounds like a hack to me);

Fixed compiling of the PIC code with logs enabled;
A number of bugfixes in cpu/x86seg.c, fixes OS/2 1.0.
This commit is contained in:
OBattler
2020-11-01 04:21:55 +01:00
parent b89e047464
commit cfb559de13
3 changed files with 28 additions and 21 deletions

View File

@@ -98,7 +98,8 @@ static uint32_t *ovr_seg = NULL;
static int prefetching = 1, completed = 1;
static int in_rep = 0, repeating = 0;
static int oldc, clear_lock = 0;
static int refresh = 0, cycdiff;
static int refresh = 0, takeint = 0;
static int cycdiff;
/* Various things needed for 8087. */
@@ -946,6 +947,7 @@ reset_common(int hard)
cpu_alt_reset = 0;
prefetching = 1;
takeint = 0;
cpu_ven_reset();
@@ -1129,11 +1131,13 @@ irq_pending(void)
{
uint8_t temp;
if ((cpu_state.flags & I_FLAG) && pic.int_pending && !noint)
if (takeint && !noint)
temp = 1;
else
temp = (nmi && nmi_enable && nmi_mask) || ((cpu_state.flags & T_FLAG) && !noint);
takeint = (cpu_state.flags & I_FLAG) && pic.int_pending;
return temp;
}