Browse Source
Fix Keyboard Driver Init Calls, Issue #648
Keyboard driver initialization calls were doubled up when the refactored driver framework. This should resolve that.
Thanks and credit to @b3rendsh.
pull/652/head
Wayne Warthen
3 weeks ago
No known key found for this signature in database
GPG Key ID: 8B34ED29C07EEB0A
8 changed files with
43 additions and
20 deletions
-
Source/HBIOS/ch376kyb.asm
-
Source/HBIOS/hbios.asm
-
Source/HBIOS/kbd.asm
-
Source/HBIOS/mky.asm
-
Source/HBIOS/nabukb.asm
-
Source/HBIOS/ppk.asm
-
Source/ver.inc
-
Source/ver.lib
|
|
|
@ -15,12 +15,15 @@ ORG_CHUKB .EQU $ |
|
|
|
.DW SIZ_CHUKB ; MODULE SIZE |
|
|
|
.DW CHUKB_INITPHASE ; ADR OF INIT PHASE HANDLER |
|
|
|
; |
|
|
|
; WARNING: KEYBOARD DRIVERS ARE INITIALIZED BY VDA DRIVERS |
|
|
|
; AND SHOULD NOT BE INITIALIZED BY INITPHASE CALLS. |
|
|
|
; |
|
|
|
CHUKB_INITPHASE: |
|
|
|
; INIT PHASE HANDLER, A=PHASE |
|
|
|
;CP HB_PHASE_PREINIT ; PREINIT PHASE? |
|
|
|
;JP Z,CHUKB_PREINIT ; DO PREINIT |
|
|
|
CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
JP Z,CHUKB_INIT ; DO INIT |
|
|
|
;CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
;JP Z,CHUKB_INIT ; DO INIT |
|
|
|
RET ; DONE |
|
|
|
|
|
|
|
#IF (!CHNATIVEENABLE) |
|
|
|
|
|
|
|
@ -8891,6 +8891,15 @@ HB_PRTSUM_END .EQU $ |
|
|
|
; DEVICE DRIVERS |
|
|
|
;================================================================================================== |
|
|
|
; |
|
|
|
; *** ORDER OF MODULES INCLUDED BELOW MATTERS!!! *** |
|
|
|
; |
|
|
|
; THE ORDER OF INCLUSION BELOW DICTATES THE ORDER IN WHICH THE INIT |
|
|
|
; HANDLER OF EACH MODULE IS CALLED. THE ORDER THAT DRIVERS ARE |
|
|
|
; REGISTERED IS AFFECTED BY THIS. |
|
|
|
; |
|
|
|
; EACH MODULE INCLUDED BELOW **MUST** HAVE THE STANDARD MODULE HEADER |
|
|
|
; AND TRAILER. |
|
|
|
; |
|
|
|
HB_DRIVERS_BEG .EQU $ |
|
|
|
; |
|
|
|
HB_MODSTART .EQU $ |
|
|
|
@ -8909,8 +8918,6 @@ HB_MODSTART .EQU $ |
|
|
|
; - EZ80SYSTMP |
|
|
|
; |
|
|
|
#IF (CPUFAM == CPU_EZ80) |
|
|
|
;;;; MEMECHO "EZ80 DRIVERS\n" |
|
|
|
;;;ORG_EZ80DRVS .EQU $ |
|
|
|
#INCLUDE "ez80cpu.asm" |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
@ -8939,7 +8946,6 @@ HB_MODSTART .EQU $ |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IF (CPUFAM == CPU_EZ80) |
|
|
|
;;; MEMECHO "EZ80 DRIVERS\n" |
|
|
|
#INCLUDE "ez80tmr.asm" |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
@ -9232,10 +9238,12 @@ HB_MODSTART .EQU $ |
|
|
|
; TERMINAL MODULES |
|
|
|
;-------------------------------------------------------------------------------------------------- |
|
|
|
; |
|
|
|
; - TERM |
|
|
|
; NOTE: TERM MODULE IS ALWAYS INCLUDED!!! CONDITIONALS IN THE TERM |
|
|
|
; DRIVER SOURCE DETERMINE THE CODE THAT IS ACTUALLY INCLUDED. |
|
|
|
; |
|
|
|
; TERM IS ALWAYS INCLUDED |
|
|
|
#INCLUDE "term.asm" |
|
|
|
#IF (TRUE) |
|
|
|
#INCLUDE "term.asm" |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
;-------------------------------------------------------------------------------------------------- |
|
|
|
; DISK / STORAGE MODULES |
|
|
|
|
|
|
|
@ -59,12 +59,15 @@ ORG_KBD .EQU $ |
|
|
|
.DW SIZ_KBD ; MODULE SIZE |
|
|
|
.DW KBD_INITPHASE ; ADR OF INIT PHASE HANDLER |
|
|
|
; |
|
|
|
; WARNING: KEYBOARD DRIVERS ARE INITIALIZED BY VDA DRIVERS |
|
|
|
; AND SHOULD NOT BE INITIALIZED BY INITPHASE CALLS. |
|
|
|
; |
|
|
|
KBD_INITPHASE: |
|
|
|
; INIT PHASE HANDLER, A=PHASE |
|
|
|
CP HB_PHASE_PREINIT ; PREINIT PHASE? |
|
|
|
JP Z,KBD_PREINIT ; DO PREINIT |
|
|
|
CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
JP Z,KBD_INIT ; DO INIT |
|
|
|
;CP HB_PHASE_PREINIT ; PREINIT PHASE? |
|
|
|
;JP Z,KBD_PREINIT ; DO PREINIT |
|
|
|
;CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
;JP Z,KBD_INIT ; DO INIT |
|
|
|
RET ; DONE |
|
|
|
;__________________________________________________________________________________________________ |
|
|
|
; DATA |
|
|
|
|
|
|
|
@ -165,12 +165,15 @@ ORG_MKY .EQU $ |
|
|
|
.DW SIZ_MKY ; MODULE SIZE |
|
|
|
.DW MKY_INITPHASE ; ADR OF INIT PHASE HANDLER |
|
|
|
; |
|
|
|
; WARNING: KEYBOARD DRIVERS ARE INITIALIZED BY VDA DRIVERS |
|
|
|
; AND SHOULD NOT BE INITIALIZED BY INITPHASE CALLS. |
|
|
|
; |
|
|
|
MKY_INITPHASE: |
|
|
|
; INIT PHASE HANDLER, A=PHASE |
|
|
|
;CP HB_PHASE_PREINIT ; PREINIT PHASE? |
|
|
|
;JP Z,MKY_PREINIT ; DO PREINIT |
|
|
|
CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
JP Z,MKY_INIT ; DO INIT |
|
|
|
;CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
;JP Z,MKY_INIT ; DO INIT |
|
|
|
RET ; DONE |
|
|
|
|
|
|
|
SCANCODE_TBL: |
|
|
|
|
|
|
|
@ -40,12 +40,15 @@ ORG_NABUKB .EQU $ |
|
|
|
.DW SIZ_NABUKB ; MODULE SIZE |
|
|
|
.DW NABUKB_INITPHASE ; ADR OF INIT PHASE HANDLER |
|
|
|
; |
|
|
|
; WARNING: KEYBOARD DRIVERS ARE INITIALIZED BY VDA DRIVERS |
|
|
|
; AND SHOULD NOT BE INITIALIZED BY INITPHASE CALLS. |
|
|
|
; |
|
|
|
NABUKB_INITPHASE: |
|
|
|
; INIT PHASE HANDLER, A=PHASE |
|
|
|
;CP HB_PHASE_PREINIT ; PREINIT PHASE? |
|
|
|
;JP Z,NABUKB_PREINIT ; DO PREINIT |
|
|
|
CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
JP Z,NABUKB_INIT ; DO INIT |
|
|
|
;CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
;JP Z,NABUKB_INIT ; DO INIT |
|
|
|
RET ; DONE |
|
|
|
; |
|
|
|
; INITIALZIZE THE KEYBOARD CONTROLLER. |
|
|
|
|
|
|
|
@ -44,12 +44,15 @@ ORG_PPK .EQU $ |
|
|
|
.DW SIZ_PPK ; MODULE SIZE |
|
|
|
.DW PPK_INITPHASE ; ADR OF INIT PHASE HANDLER |
|
|
|
; |
|
|
|
; WARNING: KEYBOARD DRIVERS ARE INITIALIZED BY VDA DRIVERS |
|
|
|
; AND SHOULD NOT BE INITIALIZED BY INITPHASE CALLS. |
|
|
|
; |
|
|
|
PPK_INITPHASE: |
|
|
|
; INIT PHASE HANDLER, A=PHASE |
|
|
|
;CP HB_PHASE_PREINIT ; PREINIT PHASE? |
|
|
|
;JP Z,PPK_PREINIT ; DO PREINIT |
|
|
|
CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
JP Z,PPK_INIT ; DO INIT |
|
|
|
;CP HB_PHASE_INIT ; INIT PHASE? |
|
|
|
;JP Z,PPK_INIT ; DO INIT |
|
|
|
RET ; DONE |
|
|
|
; |
|
|
|
;__________________________________________________________________________________________________ |
|
|
|
|
|
|
|
@ -2,7 +2,7 @@ |
|
|
|
#DEFINE RMN 6 |
|
|
|
#DEFINE RUP 0 |
|
|
|
#DEFINE RTP 0 |
|
|
|
#DEFINE BIOSVER "3.6.0-dev.50" |
|
|
|
#DEFINE BIOSVER "3.6.0-dev.51" |
|
|
|
#define rmj RMJ |
|
|
|
#define rmn RMN |
|
|
|
#define rup RUP |
|
|
|
|
|
|
|
@ -3,5 +3,5 @@ rmn equ 6 |
|
|
|
rup equ 0 |
|
|
|
rtp equ 0 |
|
|
|
biosver macro |
|
|
|
db "3.6.0-dev.50" |
|
|
|
db "3.6.0-dev.51" |
|
|
|
endm |
|
|
|
|