diff --git a/inc/util.inc b/inc/util.inc index 40ecf05..08906cf 100644 --- a/inc/util.inc +++ b/inc/util.inc @@ -64,3 +64,13 @@ MACRO slan sla \1 ENDR ENDM + +; Performs SRL on a register N times +; \1 8-bit register +; \2 N, a value 1-8 +MACRO srln + ASSERT 1 <= \2 && \2 <= 8 + REPT \2 + srl \1 + ENDR +ENDM diff --git a/src/map.s b/src/map.s index 2545302..e12fd7c 100644 --- a/src/map.s +++ b/src/map.s @@ -6,9 +6,6 @@ SECTION "Map Data", WRAM0 PAGEX:: DB ; X coordinate to enqueue map column at PAGEY:: DB ; Y coordinate to enqueue map row at -LAST_SCX:: DB ; Value of SCX last frame -LAST_SCY:: DB ; Value of SCY last frame - PENDING_ROW_PTR:: DW ; Where to write pending row data (0 = no write) PENDING_ROW_DATA:: DS SCRN_VX_B ; Row to be written @@ -39,11 +36,9 @@ Map_Load:: ; Initialize scroll state ld a, INIT_SCX ld [rSCX], a - ld [LAST_SCX], a ld a, INIT_SCY ld [rSCY], a - ld [LAST_SCY], a ld a, 8 ld [PAGEX], a @@ -245,10 +240,7 @@ Map_Scroll:: ld [PAGEX], a .done: - ld hl, LAST_SCY - ld a, [rSCY] - ld [hl], a - + ; TODO: Turn jumps here into rets ret Map_Update::