From bd06b5a1cca16765f4f032cc6b008fecb2ef6900 Mon Sep 17 00:00:00 2001 From: SarahW Date: Wed, 11 Apr 2018 17:37:41 +0100 Subject: [PATCH] Add segment limit checking to opcode F6 (16-bit version) as temporary workaround for hang when opening Windows 9x DOS box on Diamond Stealth 32. --- src/x86_ops_misc.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/x86_ops_misc.h b/src/x86_ops_misc.h index c8d31f5..4949b27 100644 --- a/src/x86_ops_misc.h +++ b/src/x86_ops_misc.h @@ -52,6 +52,10 @@ static int opF6_a16(uint32_t fetchdat) int8_t temps; fetch_ea_16(fetchdat); + if (cpu_mod != 3) + { + CHECK_READ(cpu_state.ea_seg, cpu_state.eaaddr, cpu_state.eaaddr); + } dst = geteab(); if (cpu_state.abrt) return 1; switch (rmdat & 0x38) {