#define RAND_MAGIC 0x1B
#define SRAND_INITIAL 0x19
+#define WINDOW_Y 120
+#define WINDOW_X 1
; game modes
; this is a direct index
#define LCDCF_OBJON 0b00000010
#define LCDF_WINDOWON 0b00100000
#define LCDF_OBJ_SIZE 0b00000100
+#define LCDF_WINBANKSELECT 0b01000000
#define RBGP 0xFF47
#define ROBP0 0xFF48
; inputs:
; $1: cursor_move_y/x -> move
; $2: cursor_move_y/x -> clear
- ; $2: -1/1
+ ; $2: NEGATE/1
#macro cursor_move_direction
xor a, a
ld [$2], a
ret nz
ld a, [scroll_move_y]
- cp a, 0x12
+ cp a, 0x0F
jr nz, @no_scroll_down REL
; move-1
jr @done REL
@no_scroll_down:
-
cp a, 0xFF
jr nz, @no_scroll_up REL
; turns on the lcd
lcd_on:
- ld a, LCDCF_ON | LCDCF_BGON | LCDCF_OBJON
+ ld a, LCDCF_ON | LCDCF_BGON | LCDCF_OBJON | LCDF_WINDOWON | LCDF_WINBANKSELECT
ld [RLCD], a
ret
ld bc, 1024
ld d, EMPTY_TILE
call memset
+
+ ld hl, SCRN1
+ ld bc, 1024
+ ld d, EMPTY_TILE
+ call memset
; set up bgp
ld a, BGP
call ui_init
+ ld a, WINDOW_Y
+ ld [RWY], a
+ ld a, WINDOW_X
+ ld [RWX], a
+
ret
; copies tilest0 and tileset1 to