several fixes
This commit is contained in:
43
OperatingSystem/Applications/displaydemo/kbdtest.asm
Normal file
43
OperatingSystem/Applications/displaydemo/kbdtest.asm
Normal file
@@ -0,0 +1,43 @@
|
||||
.include "extern_symbols.s" ;include monitor symbols.
|
||||
START_ADDR .EQU 0x8000
|
||||
|
||||
org START_ADDR
|
||||
com_header:
|
||||
jp com_prg
|
||||
db 0x00
|
||||
dw 0x00, 0x00, 0x00 ;always 0
|
||||
dw [START_ADDR] ;start addr
|
||||
dw [_eof] ;end of file
|
||||
dw [_eof - START_ADDR] ;length
|
||||
dc 48,0x00
|
||||
|
||||
com_prg:
|
||||
; Program start
|
||||
ld hl, [_isr_pio_test]
|
||||
ld (INT_VEC_TABLE + 2), hl
|
||||
|
||||
;setup PIO
|
||||
ld a, 11001111b ;setup as controll port
|
||||
out (INT_PIO_ADDRC), a
|
||||
ld a, 11110111b ;set all as inputs
|
||||
out (INT_PIO_ADDRC), a
|
||||
ld a, 00000010b ;set interrupt vector
|
||||
out (INT_PIO_ADDRC), a
|
||||
ld a, 11010111b ;enable interrupt; logic or, mask follows
|
||||
out (INT_PIO_ADDRC), a
|
||||
ld a, 00001011b ;set interrupt mask
|
||||
;out (INT_PIO_ADDRC), a
|
||||
;in a,(INT_PIO_ADDRD); clear buffer
|
||||
ld a, 10000011b ;enable interrupt
|
||||
out (INT_PIO_ADDRC), a
|
||||
;call keyboard_init
|
||||
;call keyb_cmd_enable
|
||||
;call keyb_enable_int
|
||||
|
||||
ret
|
||||
|
||||
.include "kdrv_vt82c42.s"
|
||||
.include "kdrv_int.s"
|
||||
_eof:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user