From d532317c011b9e5653241d50b961ee8caa710144 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Tue, 9 May 2023 22:43:33 +0100 Subject: Playground Potential example game. --- game/main.asm | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 game/main.asm (limited to 'game/main.asm') diff --git a/game/main.asm b/game/main.asm new file mode 100644 index 0000000..3062ead --- /dev/null +++ b/game/main.asm @@ -0,0 +1,75 @@ +.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" + -- cgit v1.2.3