; Prueba de rutinas de teclado de la ROM ORG 33500 call ROM_CLS ld de, cadena call PrintString ; Imprimir textos loop: ; Línea KSTATE5 ld de, 17*256 + 0 ; X=17, Y=0 call CursorAt ld a, (SYSVAR_KSTATE5) ; KSTATE5 call PrintBin ; Imprimir valor (bin) ; Línea FLAGS ld de, 17*256 + 2 ; X=12, Y=4 call CursorAt ld a, (SYSVAR_FLAGS) ; FLAGS call PrintBin ; Imprimir valor (bin) ld hl, SYSVAR_FLAGS res 5, (hl) ; Limpiar BIT 5 de FLAGS ; Línea KEY_SCAN ld de, 17*256 + 4 ; X=17, Y=4 call CursorAt call ROM_KEY_SCAN ; Leer teclado ld a, _FLAG_Z call PrintFlag ; Imprimir Z Flag call PrintSpace ld a, d call PrintHex call PrintSpace ld a, e call PrintHex ; Imprimir DE ; Línea LAST_K ld de, 17*256 + 6 ; X=17, Y=6 call CursorAt ld a, (SYSVAR_LAST_K) ; LAST-K call PrintChar jr loop ; repetir en bucle (no hay ret) ROM_CLS EQU $0daf ROM_KEY_SCAN EQU $028e SYSVAR_FLAGS EQU $5c3b SYSVAR_KSTATE5 EQU $5c05 SYSVAR_LAST_K EQU $5c08 cadena DEFB "KSTATE5 ($5c05): ", _CR, _CR DEFB "FLAGS ($5c3b): ", _CR, _CR DEFB "KEYSCAN (ZF-DE): ", _CR, _CR DEFB "LAST-K ($5c08): ", _EOS ; Incluimos nuestra "libreria" de funciones INCLUDE "utils.asm" END 33500