at last sprites "work"
[ld45_start_nothing] / src / main.asm
index ade0e52..1cf9d6a 100644 (file)
@@ -1,16 +1,27 @@
 ; 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