X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=ld45_start_nothing;a=blobdiff_plain;f=src%2Fgfx.asm;h=06ff5e433e3def6a05c82c8e8fa217d4ef16280a;hp=796ede04b4e17acde19f78b7bc879510a6080bc4;hb=8a43487117b23806e478603f3c8ab72e37cd1882;hpb=2cef53ae69622dc995fa0f4ac7a6d793684b4403 diff --git a/src/gfx.asm b/src/gfx.asm index 796ede0..06ff5e4 100644 --- a/src/gfx.asm +++ b/src/gfx.asm @@ -17,8 +17,8 @@ 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 +26,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: @@ -46,8 +45,13 @@ init_gfx: call set_palette_entry inc cl jnz .cmaploop - ret + ; force color 0 to black + xor ax, ax + xor bx, bx + call set_palette_entry + + ret global clear clear: @@ -114,7 +118,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