ld [frame_ready], a
ret
- ; updates scroll based on scroll_move_y/x
-scroll_update:
- ld a, [scroll_move_y]
- cp a, 0x0F
- jr nz, @no_scroll_down REL
-
- ; move-1
- sub a, 1
- ld [scroll_move_y], a
-
- ld b, TILE_SIZE
- ld a, [scroll_y]
- add a, b
- ld [scroll_y], a
- jr @done REL
-@no_scroll_down:
-
- cp a, 0xFF
- jr nz, @no_scroll_up REL
-
- ; move+1
- add a, 1
- ld [scroll_move_y], a
-
- ld b, TILE_SIZE
- ld a, [scroll_y]
- sub a, b
- ld [scroll_y], a
- jr @done REL
-@no_scroll_up:
-
- ld a, [scroll_move_x]
- cp a, 0x14
- jr nz, @no_scroll_right REL
-
- sub a, 1
- ld [scroll_move_x], a
-
- ld b, TILE_SIZE
- ld a, [scroll_x]
- add a, b
- ld [scroll_x], a
- jr @done REL
-@no_scroll_right:
-
- cp a, 0xFF
- jr nz, @no_scroll_left REL
-
- add a, 1
- ld [scroll_move_x], a
-
- ld b, TILE_SIZE
- ld a, [scroll_x]
- sub a, b
- ld [scroll_x], a
-@no_scroll_left:
-@done:
- ret
; writes scroll to scroll registers
; only call during blank