From 09005620bba2e40e333b518e205e26d3b5ce00e9 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Wed, 6 Nov 2002 09:41:09 +0000 Subject: [PATCH] CALLBACK_Idle() automatically sets the interrupt flag now. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@482 --- src/cpu/callback.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu/callback.cpp b/src/cpu/callback.cpp index e583dc06..e2793592 100644 --- a/src/cpu/callback.cpp +++ b/src/cpu/callback.cpp @@ -52,6 +52,8 @@ Bitu CALLBACK_Allocate(void) { void CALLBACK_Idle(void) { /* this makes the cpu execute instructions to handle irq's and then come back */ + bool oldintf=flags.intf; + flags.intf=true; Bit16u oldcs=SegValue(cs); Bit32u oldeip=reg_eip; SegSet16(cs,CB_SEG); @@ -59,6 +61,7 @@ void CALLBACK_Idle(void) { DOSBOX_RunMachine(); reg_eip=oldeip; SegSet16(cs,oldcs); + flags.intf=oldintf; } static Bitu default_handler(void) {