From 78786632688e82bdb1066b405a02cfb016db0adf Mon Sep 17 00:00:00 2001 From: sfja Date: Sun, 25 Jan 2026 00:18:37 +0100 Subject: [PATCH] delete old program --- programs/echo_keyboard.txt | 91 -------------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 programs/echo_keyboard.txt diff --git a/programs/echo_keyboard.txt b/programs/echo_keyboard.txt deleted file mode 100644 index 678db00..0000000 --- a/programs/echo_keyboard.txt +++ /dev/null @@ -1,91 +0,0 @@ - -%define KBD_STATUS 0x1ffc -%define KBD_CODE 0x1ffe -%define VCD 0x2000 - -%define FL_EQ 0x2 -%define FL_EQ 0x4 - -%define KBD_FLAG_IS_RELEASE 0x1 - - mov rsp, 0x1000 - mov rbp, rsp - - mov r0, 512 - mov r1, 1 - dskr r0, r1 - - ; setup video character display (VCD) - ; descriptor table structure: - ; [addr + 0] memory map base - mov r0, VCD - mov [0x700], r0 - lvcd 0x700 - - ; setup keyboard (KBD) - ; descriptor table structure: - ; [addr + 0] status address - ; [addr + 2] keycode address - ; [addr + 4] keyboard interrupt handler - mov r0, KBD_STATUS - mov [0x702], r0 - mov r0, KBD_CODE - mov [0x704], r0 - mov r0, key_press_int - mov [0x706], r0 - lkbd 0x702 - - ; character counter - mov r0, 0 - mov [0x600], r0 - -main_loop: - hlt - jmp main_loop - -key_press_int: - mov r0, [KBD_STATUS] - and r0, r0, KBD_FLAG_IS_RELEASE - jnz r0, .leave - - mov r0, [0x600] - add r0, r0, VCD - mov r1, [KBC_CODE] - cmp r1, 44 ; spacebar - mov r2, rfl - and r2, r2, FL_EQ - jnz r2, .incr - add r1, r1, 61 - mov byte [r0], r1 -.incr: - mov r0, [0x600] - add r0, r0, 1 - mov [0x600], r0 -.leave: - reti - -scancode_to_char: - cmp r1, 61 - - mov r2, rfl - and r2, r2, FL_LT - jnz .not_letter - - ; if r1 > 86 { goto .not_letter } - cmp r1, 86 - mov r2, rfl - xor r2, 0xffff - and r2, r2, FL_EQ | FL_LT - - - mov r4, rfl - and r4, r4, FL_EQ - shr r4, r4, 2 - -.not_letter: - - -61 >= 61 - -; vim: syntax=nasm -