From c0b48a007c9b3c7efd027f3d2482457c39a4beab Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sat, 14 Dec 2024 13:11:49 +0800 Subject: [PATCH] kbd optimizations --- Source/HBIOS/kbd.asm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/HBIOS/kbd.asm b/Source/HBIOS/kbd.asm index d7542921..627eb408 100644 --- a/Source/HBIOS/kbd.asm +++ b/Source/HBIOS/kbd.asm @@ -101,9 +101,9 @@ KBD_CON_IOF .EQU $20 ; XLAT DISABLED, MOUSE DISABLED, NO INTS ; KEYBOARD PRE-INITIALIZATION ;__________________________________________________________________________________________________ ; -; TO BE CALLED PRIOR TO INITERRUPTS BEING ENABLED +; TO BE CALLED PRIOR TO INTERRUPTS BEING ENABLED ; MUST BE CALLED FROM VIDEO DRIVER PREINIT WITH IY SET -; THIS PREVENTS INTRERRUPT ISSUES IF 8242 HAS INTERRUPTS ENABLED +; THIS PREVENTS INTERRUPT ISSUES IF 8242 HAS INTERRUPTS ENABLED ; ; AT STARTUP. NOT USING IT FOR NOW BECAUSE IT IS NOT A PROBLEM IF ; YOU DON'T USE THE KEYBOARD DURING BOOT. @@ -156,11 +156,11 @@ KBD_INIT: CP KBDMODE_VRC ; VRC? JR Z,KBD_INIT1 ; IF SO, MUST ASSUME PRESENT ; - HB_DI ; DISABLE INTERRUPTS WHILE WE PROBE +; HB_DI ; DISABLE INTERRUPTS WHILE WE PROBE LD A,KBD_CON_CST ; CONTROLLER SELF TEST CALL KBD_PUTCMD ; SEND IT CALL KBD_GETDATA_P ; CONTROLLER SHOULD RESPOND WITH $55 (ACK) - HB_EI ; RESTORE INTERRUPTS +; HB_EI ; RESTORE INTERRUPTS ; CP $55 ; IS IT THERE? JR Z,KBD_INIT1 ; IF SO, CONTINUE @@ -386,7 +386,7 @@ KBD_RESET: LD A,$FF ; RESET COMMAND CALL KBD_PUTDATA ; SEND IT CALL KBD_GETDATA ; GET THE ACK - LD B,0 ; SETUP LOOP COUNTER + LD KBD_WAITTO ; SETUP LOOP COUNTER KBD_RESET0: PUSH BC ; PRESERVE COUNTER CALL KBD_GETDATA ; TRY TO GET THE RESPONSE @@ -549,8 +549,8 @@ KBD_DEC1: ; PROCESS NEXT SCANCODE RET Z ; NO KEY READY, RETURN WITH A=0, Z SET LD (KBD_SCANCODE),A ; SAVE SCANCODE -KBD_DEC2: ; DETECT AND HANDLE SPECIAL KEYCODES - LD A,(KBD_SCANCODE) ; GET THE CURRENT SCANCODE +;KBD_DEC2: ; DETECT AND HANDLE SPECIAL KEYCODES +; LD A,(KBD_SCANCODE) ; GET THE CURRENT SCANCODE CP $AA ; KEYBOARD INSERTION? JR NZ,KBD_DEC3 ; NOPE, BYPASS CALL LDELAY ; WAIT A BIT