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
parent
commit
895490a780
No known key found for this signature in database GPG Key ID: 8B34ED29C07EEB0A
  1. 7
      Source/HBIOS/ch376kyb.asm
  2. 20
      Source/HBIOS/hbios.asm
  3. 11
      Source/HBIOS/kbd.asm
  4. 7
      Source/HBIOS/mky.asm
  5. 7
      Source/HBIOS/nabukb.asm
  6. 7
      Source/HBIOS/ppk.asm
  7. 2
      Source/ver.inc
  8. 2
      Source/ver.lib

7
Source/HBIOS/ch376kyb.asm

@ -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)

20
Source/HBIOS/hbios.asm

@ -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

11
Source/HBIOS/kbd.asm

@ -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

7
Source/HBIOS/mky.asm

@ -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:

7
Source/HBIOS/nabukb.asm

@ -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.

7
Source/HBIOS/ppk.asm

@ -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
Source/ver.inc

@ -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

2
Source/ver.lib

@ -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

Loading…
Cancel
Save