X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fgfx.asm;h=ced086302fe11c9ac1c5025d81cd6a322e040839;hb=e89f229506bcd5962dc6a7a6a07e5aab2fa7f7c5;hp=ca5cf74b786c034c061952f54b2c330038c966b0;hpb=78cf90d60c7cdbfcb8bc1d3e3d03a577d1b70f7b;p=ld45_start_nothing diff --git a/src/gfx.asm b/src/gfx.asm index ca5cf74..ced0863 100644 --- a/src/gfx.asm +++ b/src/gfx.asm @@ -1,24 +1,9 @@ ; vi:filetype=nasm ts=8 sts=8 sw=8: -; -; list of functions -; ----------------- -; init_gfx -; initializes the video hardware and graphics routines -; clear -; clears the framebuffer (not vmem) -; clobbers: eax, ecx, edi -; swap_buffers -; copies the framebuffer to video memory -; clobbers: eax, ecx, edi, esi -; wait_vsync -; clobbers: al, dx -; set_palette_entry(idx[al], r[ah], g[bl], b[bh]) -; colors are 0-255 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 @@ -26,9 +11,8 @@ 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: @@ -119,7 +103,7 @@ slow_sprite: 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