From 269c766ec54edd0bc06d1df7385e2d5ed718b02b Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Tue, 6 Jun 2023 21:44:44 +0100 Subject: Test timer and keyboard --- src/main.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index d83c18b..9d74efc 100644 --- a/src/main.c +++ b/src/main.c @@ -4,8 +4,7 @@ #include #include -#include - +#include "keyb.h" #include "timer.h" #include "vga.h" #include "data.h" @@ -13,10 +12,17 @@ /* disable paging because our int handlers are written in C */ int _crt0_startup_flags = _CRT0_FLAG_LOCK_MEMORY; +void free_all() +{ + timer_free(); + keyb_free(); +} + int main(int argc, char *argv[]) { timer_init(); - atexit(timer_free); + keyb_init(); + atexit(free_all); /* set VGA 320x200, 256 col */ set_mode(0x13); @@ -30,21 +36,21 @@ int main(int argc, char *argv[]) return 1; } - for (int i = 0; i < 16; i++) + int i = 0; + while (!keys[KEY_ESC]) { wait_vsync(); - memset(screen, i, 320 * 200); - getch(); - } - printf("Hello DOS!\n"); + memset(screen, i, 320 * 200); + i++; + if (i > 15) + i = 0; - getch(); + timer_wait(1); + } set_mode(3); close_framebuffer(); - printf("tick is %li\n", ticks); - return 0; } -- cgit v1.2.3