git.y1.nz

gbdk-2020

GameBoy Development Kit
download: https://git.y1.nz/archives/gbdk.tar.gz
README | Files | Log | Refs | LICENSE

commit 572c129995e70c7f338bbf5ee6698737274dce79
parent 23c7efba2837f8761eee6f797baa50684550fe95
Author: Toxa <untoxa@mail.ru>
Date:   Sat, 23 Jan 2021 01:43:17 +0300

_shadow_OAM_base = 0 disables DMA copying to OAM

Diffstat:
Mgbdk-lib/libc/gb/crt0.s13++++++++-----
Mgbdk-lib/libc/gb/metasprites.s14+++++++-------
2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/gbdk-lib/libc/gb/crt0.s b/gbdk-lib/libc/gb/crt0.s @@ -87,6 +87,7 @@ _wait_int_handler:: RETI ;; VBlank default interrupt routine +__standard_VBL_handler:: .std_vbl: LD HL,#.sys_time INC (HL) @@ -94,11 +95,7 @@ _wait_int_handler:: INC HL INC (HL) 2$: - CALL .refresh_OAM - - LD A,#0x01 - LDH (.vbl_done),A - RET + JP .refresh_OAM ;; GameBoy Header @@ -288,11 +285,17 @@ _set_interrupts:: ;; Copy OAM data to OAM RAM .start_refresh_OAM: LDH A,(__shadow_OAM_base) + OR A + JR Z, 2$ + LDH (.DMA),A ; Put A into DMA registers LD A,#0x28 ; We need to wait 160 ns 1$: DEC A JR NZ,1$ +2$: + INC A + LDH (.vbl_done),A RET .end_refresh_OAM: diff --git a/gbdk-lib/libc/gb/metasprites.s b/gbdk-lib/libc/gb/metasprites.s @@ -1,14 +1,14 @@ - .include "global.s" + .include "global.s" - .title "Metasprites" - .module Metasprites + .title "Metasprites" + .module Metasprites - .area _DATA + .area _DATA ___current_metasprite:: - .ds 0x02 + .ds 0x02 ___current_base_tile:: - .ds 0x01 + .ds 0x01 ___render_shadow_OAM:: .ds 0x01 @@ -17,7 +17,7 @@ ___render_shadow_OAM:: ld a, #>_shadow_OAM ld (___render_shadow_OAM), a - .area _CODE + .area _CODE ; UBYTE __move_metasprite(UINT8 id, UINT8 x, UINT8 y)

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.