.org 0 .equ INT_VECTOR 0xff00 call init game_loop: halt call entities_erase call entities_update call entities_draw jmp game_loop init: ; setup an int handler so we ; can use the frame int to sync ld a, >INT_VECTOR ld x, int_handler ld [a : x], b ; enable interrupts cif halt ; pattern for the BG ld b, 15 ld a, 0xbf ld x, 0 ld y, 0x40 fill_loop: ld [a : x], b xor b, 5 inc x bno jmp fill_loop inc a dec y bnz jmp fill_loop call entities_draw ret int_handler: iret .include "entities.asm" .include "player.asm" ; ; entity data ; entities: ; type .db ET_PLAYER ; x, y .db 0, 0 .dw player_sprite .dw player_update ; end of list .db ET_END ; sprite data player_sprite: .incpng "assets/player.png"