Handle errant IRQs as a real BIOS does. Fixes Tandy DAC in Chuck Yeager's Air Combat. Also remove r3263 workaround, as it's no longer needed.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4009
This commit is contained in:
parent
97bb6e4127
commit
d6e983b08d
3 changed files with 34 additions and 4 deletions
|
@ -33,7 +33,7 @@
|
|||
CallBack_Handler CallBack_Handlers[CB_MAX];
|
||||
char* CallBack_Description[CB_MAX];
|
||||
|
||||
static Bitu call_stop,call_idle,call_default,call_default2;
|
||||
static Bitu call_stop,call_idle,call_default;
|
||||
Bitu call_priv_io;
|
||||
|
||||
static Bitu illegal_handler(void) {
|
||||
|
@ -575,8 +575,6 @@ void CALLBACK_Init(Section* /*sec*/) {
|
|||
/* Default handlers for unhandled interrupts that have to be non-null */
|
||||
call_default=CALLBACK_Allocate();
|
||||
CALLBACK_Setup(call_default,&default_handler,CB_IRET,"default");
|
||||
call_default2=CALLBACK_Allocate();
|
||||
CALLBACK_Setup(call_default2,&default_handler,CB_IRET,"default");
|
||||
|
||||
/* Only setup default handler for first part of interrupt table */
|
||||
for (Bit16u ct=0;ct<0x60;ct++) {
|
||||
|
@ -597,7 +595,6 @@ void CALLBACK_Init(Section* /*sec*/) {
|
|||
|
||||
}
|
||||
// setup a few interrupt handlers that point to bios IRETs by default
|
||||
real_writed(0,0x0e*4,CALLBACK_RealPointer(call_default2)); //design your own railroad
|
||||
real_writed(0,0x66*4,CALLBACK_RealPointer(call_default)); //war2d
|
||||
real_writed(0,0x67*4,CALLBACK_RealPointer(call_default));
|
||||
real_writed(0,0x68*4,CALLBACK_RealPointer(call_default));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue