it works! (on some machines, let's investigate further)
[efitest3] / efitest.asm
index 333b095..0feb61d 100644 (file)
@@ -142,13 +142,39 @@ start16:
        mov ax, 13h
        int 10h
 
+       ; setup palette
+       mov dx, 3c8h
+       xor al, al
+       out dx, al
+       inc dx
+       xor cl, cl
+.pal:  mov al, cl
+       out dx, al
+       xor al, al
+       out dx, al
+       mov al, cl
+       not al
+       out dx, al
+       inc cl
+       jnz .pal
+
+       ; fill framebuffer with xor pattern
        mov ax, 0a000h
        mov es, ax
        xor di, di
-       mov cx, 32000
-       mov ax, 6767h
-       rep stosw
-
+       xor cx, cx
+.yloop:        xor dx, dx
+.xloop:        mov ax, dx
+       xor ax, cx
+       stosb
+       inc dx
+       cmp dx, 320
+       jnz .xloop
+       inc cx
+       cmp cx, 200
+       jnz .yloop
+
+       ; halt for ever
 .hang: hlt
        jmp .hang