Some minor CPU bugfixes - one for 808x and one for the new dynarec.

This commit is contained in:
OBattler
2023-04-20 02:24:03 +02:00
parent 06fc5e9d0d
commit 333e9377ff
2 changed files with 7 additions and 3 deletions

View File

@@ -426,13 +426,13 @@ pfq_write(void)
free in the queue. */
tempw = readmemwf(pfq_ip);
*(uint16_t *) &(pfq[pfq_pos]) = tempw;
pfq_ip += 2;
pfq_ip = (pfq_ip + 2) & 0xffff;
pfq_pos += 2;
} else if (!is8086 && (pfq_pos < pfq_size)) {
/* The 8088 fetches 1 byte at a time, and only if there's at least 1 byte
free in the queue. */
pfq[pfq_pos] = readmembf(pfq_ip);
pfq_ip++;
pfq_ip = (pfq_ip + 1) & 0xffff;
pfq_pos++;
}
}
@@ -2248,7 +2248,7 @@ execx86(int cycs)
default:
opcode = orig_opcode;
cpu_state.pc--;
cpu_state.pc = (cpu_state.pc - 1) & 0xffff;
break;
}
} else

View File

@@ -416,7 +416,11 @@ typedef struct {
#define CPU_STATUS_PMODE (1 << 2)
#define CPU_STATUS_V86 (1 << 3)
#define CPU_STATUS_SMM (1 << 4)
#ifdef USE_NEW_DYNAREC
#define CPU_STATUS_FLAGS 0xff
#else
#define CPU_STATUS_FLAGS 0xffff
#endif
/*If the cpu_state.flags below are set in cpu_cur_status, they must be set in block->status.
Otherwise they are ignored*/