/* PRIVATE FUNCTIONS **********************************************************/
-static DWORD BiosGetVideoPageSize()
+static DWORD BiosGetVideoPageSize(VOID)
{
INT i;
DWORD BufferSize = VideoModes[CurrentVideoMode].Width
return TRUE;
}
-static BOOLEAN BiosKbdBufferPop()
+static BOOLEAN BiosKbdBufferPop(VOID)
{
/* If it's empty, fail */
if (Bda->KeybdBufferHead == Bda->KeybdBufferTail) return FALSE;
return TRUE;
}
-static VOID BiosDestroyGraphicsBuffer()
+static VOID BiosDestroyGraphicsBuffer(VOID)
{
CloseHandle(ConsoleMutex);
CloseHandle(BiosGraphicsOutput);
/* PUBLIC FUNCTIONS ***********************************************************/
-BYTE BiosGetVideoMode()
+BYTE BiosGetVideoMode(VOID)
{
return CurrentVideoMode;
}
return TRUE;
}
-inline DWORD BiosGetVideoMemoryStart()
+inline DWORD BiosGetVideoMemoryStart(VOID)
{
return (VideoModes[CurrentVideoMode].Segment << 4);
}
-inline VOID BiosVerticalRefresh()
+inline VOID BiosVerticalRefresh(VOID)
{
/* Ignore if we're in text mode */
if (VideoModes[CurrentVideoMode].Text) return;
VideoNeedsUpdate = FALSE;
}
-BOOLEAN BiosInitialize()
+BOOLEAN BiosInitialize(VOID)
{
INT i;
WORD Offset = 0;
return TRUE;
}
-VOID BiosCleanup()
+VOID BiosCleanup(VOID)
{
/* Restore the old screen buffer */
SetConsoleActiveScreenBuffer(BiosConsoleOutput);
}
}
-WORD BiosPeekCharacter()
+WORD BiosPeekCharacter(VOID)
{
WORD CharacterData;
return CharacterData;
}
-WORD BiosGetCharacter()
+WORD BiosGetCharacter(VOID)
{
WORD CharacterData;
INPUT_RECORD InputRecord;
return CharacterData;
}
-VOID BiosVideoService()
+VOID BiosVideoService(LPWORD Stack)
{
INT i, CursorHeight;
BOOLEAN Invisible = FALSE;
*((LPWORD)((ULONG_PTR)BaseAddress + Address)));
break;
- }
+ } EmulatorSetFlag(EMULATOR_FLAG_ZF);
+
/* Write Character And Attribute At Cursor Position */
case 0x09:
}
}
-VOID BiosKeyboardService()
+VOID BiosKeyboardService(LPWORD Stack)
{
DWORD Eax = EmulatorGetRegister(EMULATOR_REG_AX);
{
/* There is a character, clear ZF and return it */
EmulatorSetRegister(EMULATOR_REG_AX, Data);
- EmulatorClearFlag(EMULATOR_FLAG_ZF);
+ Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_ZF;
}
else
{
/* No character, set ZF */
- EmulatorSetFlag(EMULATOR_FLAG_ZF);
+ Stack[STACK_FLAGS] |= EMULATOR_FLAG_ZF;
}
break;
}
}
-VOID BiosTimeService()
+VOID BiosTimeService(LPWORD Stack)
{
DWORD Eax = EmulatorGetRegister(EMULATOR_REG_AX);
DWORD Ecx = EmulatorGetRegister(EMULATOR_REG_CX);
}
}
-VOID BiosSystemTimerInterrupt()
+VOID BiosSystemTimerInterrupt(LPWORD Stack)
{
/* Increase the system tick count */
Bda->TickCounter++;
}
-VOID BiosEquipmentService()
+VOID BiosEquipmentService(LPWORD Stack)
{
/* Return the equipment list */
EmulatorSetRegister(EMULATOR_REG_AX, Bda->EquipmentList);
}
-VOID BiosHandleIrq(BYTE IrqNumber)
+VOID BiosHandleIrq(BYTE IrqNumber, LPWORD Stack)
{
switch (IrqNumber)
{