mirror of https://github.com/wwarthen/RomWBW.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
1.2 KiB
86 lines
1.2 KiB
;======================================================================
|
|
; NABU KEYBOARD DRIVER
|
|
;
|
|
; CREATED BY: LES BIRD
|
|
;
|
|
;======================================================================
|
|
;
|
|
; KBPORT EQU $90
|
|
;
|
|
; POLL FOR INPUT
|
|
; KBLOOP:
|
|
; IN A,(KBPORT+1)
|
|
; BIT 1,A
|
|
; JR Z,KBLOOP
|
|
; IN A,(KBPORT)
|
|
;
|
|
; INIT:
|
|
; XOR A
|
|
; CALL SUB12
|
|
; CALL SUB12
|
|
; CALL SUB12
|
|
; CALL SUB12
|
|
; CALL SUB12
|
|
; LD A,40H
|
|
; CALL SUB12
|
|
; LD A,4EH
|
|
; CALL SUB12
|
|
; LD A,04H
|
|
; CALL SUB12
|
|
;
|
|
NABUKB_DAT .EQU $90
|
|
;
|
|
NABUKB_INIT:
|
|
CALL NEWLINE
|
|
PRTS("NABUKB: IO=0x$")
|
|
LD A,NABUKB_DAT
|
|
CALL PRTHEXBYTE
|
|
;
|
|
XOR A
|
|
CALL NABUKB_PUT
|
|
CALL NABUKB_PUT
|
|
CALL NABUKB_PUT
|
|
CALL NABUKB_PUT
|
|
CALL NABUKB_PUT
|
|
LD A,$40 ; RESET 8251
|
|
CALL NABUKB_PUT
|
|
LD A,$4E ; 1 STOP BIT, 8 BITS, 64X CLK
|
|
CALL NABUKB_PUT
|
|
LD A,$04 ; ENABLE RECV
|
|
CALL NABUKB_PUT
|
|
;
|
|
XOR A
|
|
RET
|
|
;
|
|
NABUKB_STAT:
|
|
IN A,(NABUKB_DAT+1)
|
|
AND $02
|
|
JP Z,CIO_IDLE
|
|
RET
|
|
;
|
|
NABUKB_FLUSH:
|
|
XOR A
|
|
RET
|
|
;
|
|
NABUKB_READ:
|
|
IN A,(NABUKB_DAT+1)
|
|
AND $02
|
|
JR Z,NABUKB_READ
|
|
IN A,(NABUKB_DAT)
|
|
LD E,A
|
|
CP $80
|
|
JR C,NABUKB_READ1
|
|
LD E,$FF
|
|
NABUKB_READ1:
|
|
XOR A
|
|
RET
|
|
;
|
|
NABUKB_PUT:
|
|
OUT (NABUKB_DAT+1),A
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
NOP
|
|
RET
|
|
;
|
|
|