diff options
author | H. Peter Anvin <hpa@zytor.com> | 2006-08-28 02:46:06 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2006-08-28 02:46:06 -0700 |
commit | 72fd5d37e68617c3bdd7aff56f519a1e5c9d8817 (patch) | |
tree | 5b8789db1c582b32040b437e0f8b91261a3ea014 /com32/samples | |
parent | e3f74a218f641d6d17d3241b271dc70320b8a979 (diff) | |
download | syslinux-elf-72fd5d37e68617c3bdd7aff56f519a1e5c9d8817.tar.gz syslinux-elf-72fd5d37e68617c3bdd7aff56f519a1e5c9d8817.tar.xz syslinux-elf-72fd5d37e68617c3bdd7aff56f519a1e5c9d8817.zip |
Test program for the VESA code
Diffstat (limited to 'com32/samples')
-rw-r--r-- | com32/samples/Makefile | 2 | ||||
-rw-r--r-- | com32/samples/vesa.c | 30 |
2 files changed, 31 insertions, 1 deletions
diff --git a/com32/samples/Makefile b/com32/samples/Makefile index 214c0c71..b07667cd 100644 --- a/com32/samples/Makefile +++ b/com32/samples/Makefile @@ -38,7 +38,7 @@ LNXLIBS = ../libutil/libutil_lnx.a .SUFFIXES: .lss .c .o .elf .c32 .lnx -all: hello.c32 cat.c32 resolv.c32 \ +all: hello.c32 cat.c32 resolv.c32 vesa.c32 \ fancyhello.c32 fancyhello.lnx \ keytest.c32 keytest.lnx \ diff --git a/com32/samples/vesa.c b/com32/samples/vesa.c new file mode 100644 index 00000000..faeb3b07 --- /dev/null +++ b/com32/samples/vesa.c @@ -0,0 +1,30 @@ +#include <stdio.h> +#include <inttypes.h> +#include "../lib/sys/vesa/video.h" + +int __vesacon_init(void); +void vesacon_write_at(int row, int col, const char *str, uint8_t attr, int rev); + +int main(void) +{ + int row, col; + int attr; + char attr_buf[16]; + + __vesacon_init(); + + row = col = 0; + + for (attr = 0; attr < 256; attr++) { + snprintf(attr_buf, sizeof attr_buf, " [%02X] ", attr); + vesacon_write_at(row, col, attr_buf, attr, attr & 3); + row++; + if (row >= 29) { + row = 0; + col += 8; + } + } + + while (1) + asm volatile("hlt"); +} |