/* Alternate Function Select */
case 0x12:
{
- DPRINT1("BIOS Function INT 12h (Alternate Function Select), BX = 0x%04X NOT IMPLEMENTED\n",
+ DPRINT1("BIOS Function INT 10h, AH = 12h (Alternate Function Select), BX = 0x%04X NOT IMPLEMENTED\n",
getBX());
break;
}
/* BOP Identifiers */
#define BOP_CONTROL 0xFF // Control BOP Handler
#define BOP_CONTROL_DEFFUNC 0x00 // Default Control BOP Function
-
-/* 32-bit Interrupt dispatcher function code for the Control BOP Handler */
-#define BOP_CONTROL_INT32 0xFF
-
+ #define BOP_CONTROL_INT32 0xFF // 32-bit Interrupt dispatcher
+ // function code for the Control BOP Handler
#define BOP(num) LOBYTE(EMULATOR_BOP), HIBYTE(EMULATOR_BOP), (num)
#define UnSimulate16(trap) \
Context->TrampolineFarPtr = MAKELONG(Offset, Segment);
Context->Segment = Segment;
Context->NextOffset = Offset + max(CALL16_TRAMPOLINE_SIZE,
- INT16_TRAMPOLINE_SIZE);
+ INT16_TRAMPOLINE_SIZE);
}
VOID
BYTE FuncNum = *(PBYTE)SEG_OFF_TO_PTR(getCS(), getIP());
setIP(getIP() + 1);
- if (FuncNum == BOP_CONTROL_INT32)
- Int32Dispatch(Stack);
- else
- // DPRINT1("Unassigned Control BOP Function: 0x%02X\n", FuncNum);
- DisplayMessage(L"Unassigned Control BOP Function: 0x%02X\n", FuncNum);
+ switch (FuncNum)
+ {
+ case BOP_CONTROL_INT32:
+ Int32Dispatch(Stack);
+ break;
+
+ default:
+ // DPRINT1("Unassigned Control BOP Function: 0x%02X\n", FuncNum);
+ DisplayMessage(L"Unassigned Control BOP Function: 0x%02X", FuncNum);
+ break;
+ }
}
VOID InitializeCallbacks(VOID)