X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain.asm;h=243ff0da6e8f4ba874059d8e4eb2349710bb0c8e;hb=78cf90d60c7cdbfcb8bc1d3e3d03a577d1b70f7b;hp=ade0e527bf96bb52ce27d23e1356b976793ee55e;hpb=43024162f96501c111a0fb7ff6b14f39d478c1a3;p=ld45_start_nothing diff --git a/src/main.asm b/src/main.asm index ade0e52..243ff0d 100644 --- a/src/main.asm +++ b/src/main.asm @@ -1,16 +1,30 @@ ; 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 + extern init_gfx + extern clear + extern slow_sprite + extern wait_vsync + extern swap_buffers - 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 100 + push dword 160 + push dword 0 + call slow_sprite + add esp, 16 + + call wait_vsync + call swap_buffers + jmp main_loop