bits 32
section .text
-VIDMEM_ADDR equ 0a0000h
-FRAMEBUF_ADDR equ 090000h
+%define GFX_ASM_
+%include "gfx.inc"
REG_CRTC_STATUS equ 3dah
CRTC_VBLANK_BIT equ 08h
REG_DAC_ADDR equ 3c8h
REG_DAC_DATA equ 3c9h
+ extern sprsheet
extern sprsheet_cmap
- extern sprsheet_tiles
-
global init_gfx
init_gfx:
add edi, eax ; di <- (y - 16) * 320 + (x - 16)
add edi, FRAMEBUF_ADDR
- mov esi, sprsheet_tiles
+ mov esi, sprsheet
; calculate sprite id offset (each spr is 32*32=1k)
mov eax, [ebp + 8]
shl eax, 10