; vi:filetype=nasm ts=8 sts=8 sw=8:
- bits 16
- org 7e00h ; that's where our boot loader puts us (see src/boot/boot.asm)
+ bits 32
+%include "gfx.inc"
- mov ax, 13h
- int 10h
+ ; this is placed at the beginning of our binary at 1mb (see game.ld)
+ ; and it's what gets executed directly by the boot loader
+ section .startup
+ jmp main
- mov ax, 0a000h
- mov es, ax
- xor di, di
- mov ax, 0x404
- mov cx, 32000
- rep stosw
+ ; start of main
+ section .text
+main:
+ call init_gfx
- cli
- hlt
+main_loop:
+ call clear
+
+ push dword 0
+ push dword 100
+ push dword 160
+ push dword FRAMEBUF_ADDR
+ call sprsheet
+ add esp, 16
+
+ call wait_vsync
+ call swap_buffers
+ jmp main_loop