mirror of
https://github.com/reactos/reactos.git
synced 2024-10-05 08:54:40 +00:00
[NTVDM]
Remove the useless wrappers BiosPeekCharacter and BiosGetCharacter. They're also a source of bugs since 0xFFFF could legitimately appear in the buffer. svn path=/trunk/; revision=67459
This commit is contained in:
parent
619aaae278
commit
a2b6d6c3e5
|
@ -80,26 +80,6 @@ static BOOLEAN BiosKbdBufferPop(VOID)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static WORD BiosPeekCharacter(VOID)
|
||||
{
|
||||
WORD CharacterData = 0;
|
||||
|
||||
/* Get the key from the queue, but don't remove it */
|
||||
if (BiosKbdBufferTop(&CharacterData)) return CharacterData;
|
||||
else return 0xFFFF;
|
||||
}
|
||||
|
||||
static WORD BiosGetCharacter(VOID)
|
||||
{
|
||||
WORD CharacterData = 0;
|
||||
|
||||
/* Check if there is a key available, and if so, remove it from the queue */
|
||||
if (BiosKbdBufferTop(&CharacterData)) BiosKbdBufferPop();
|
||||
else CharacterData = 0xFFFF;
|
||||
|
||||
return CharacterData;
|
||||
}
|
||||
|
||||
static VOID WINAPI BiosKeyboardService(LPWORD Stack)
|
||||
{
|
||||
switch (getAH())
|
||||
|
@ -109,16 +89,17 @@ static VOID WINAPI BiosKeyboardService(LPWORD Stack)
|
|||
/* Wait for extended keystroke and read */
|
||||
case 0x10: // FIXME: Temporarily do the same as INT 16h, 00h
|
||||
{
|
||||
/* Read the character (and wait if necessary) */
|
||||
WORD Character = BiosGetCharacter();
|
||||
WORD Character;
|
||||
|
||||
if (Character == 0xFFFF)
|
||||
/* Read the character (and wait if necessary) */
|
||||
if (!BiosKbdBufferTop(&Character))
|
||||
{
|
||||
/* No key available. Set the handler CF to repeat the BOP */
|
||||
setCF(1);
|
||||
break;
|
||||
}
|
||||
|
||||
BiosKbdBufferPop();
|
||||
setAX(Character);
|
||||
|
||||
break;
|
||||
|
@ -129,9 +110,9 @@ static VOID WINAPI BiosKeyboardService(LPWORD Stack)
|
|||
/* Get extended keystroke status */
|
||||
case 0x11: // FIXME: Temporarily do the same as INT 16h, 01h
|
||||
{
|
||||
WORD Character = BiosPeekCharacter();
|
||||
WORD Character;
|
||||
|
||||
if (Character != 0xFFFF)
|
||||
if (BiosKbdBufferTop(&Character))
|
||||
{
|
||||
/* There is a character, clear ZF and return it */
|
||||
Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_ZF;
|
||||
|
|
Loading…
Reference in a new issue