ui: Added window
authorLukas Krickl <lukas@krickl.dev>
Tue, 18 Mar 2025 20:15:42 +0000 (21:15 +0100)
committerLukas Krickl <lukas@krickl.dev>
Tue, 18 Mar 2025 20:15:42 +0000 (21:15 +0100)
src/defs.s
src/hw.inc
src/macros.inc
src/video.s

index c859c889f71803e1fc34d96f9ec0e1ec0d6a68e4..87c53dd6f48bcb4346cde729ab0524b5b4c1b5d1 100644 (file)
@@ -19,6 +19,8 @@
 #define RAND_MAGIC 0x1B
 #define SRAND_INITIAL 0x19
 
+#define WINDOW_Y 120
+#define WINDOW_X 1
 
   ; game modes
   ; this is a direct index
index 1c9549b677d84a7adf99c3d69f5f43da56f06865..c117709f1184af2aaa70f4465ab0e46842c907c9 100644 (file)
@@ -15,6 +15,7 @@
 #define LCDCF_OBJON 0b00000010
 #define LCDF_WINDOWON 0b00100000
 #define LCDF_OBJ_SIZE 0b00000100
+#define LCDF_WINBANKSELECT 0b01000000
 
 #define RBGP 0xFF47
 #define ROBP0 0xFF48
index 0a367b6e6f0a56bea9d69037cdfc27f9efb25aed..690a0c2b16c6ba34b4dd6ad72f82131abdbd3cb3 100644 (file)
@@ -94,7 +94,7 @@
   ; 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
index cb8f431771c6e01f69e5b28aee1b300d1328425b..f288585bdc3689dc52d061618de9e6437ebefa3b 100644 (file)
@@ -22,7 +22,7 @@ scroll_update:
   ret nz
 
   ld a, [scroll_move_y]
-  cp a, 0x12
+  cp a, 0x0F
   jr nz, @no_scroll_down REL
 
     ; move-1
@@ -36,7 +36,6 @@ scroll_update:
     jr @done REL
 @no_scroll_down:
 
-
   cp a, 0xFF
   jr nz, @no_scroll_up REL
    
@@ -117,7 +116,7 @@ lcd_off:
 
   ; 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
@@ -130,6 +129,11 @@ video_init:
   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 
@@ -143,6 +147,11 @@ video_init:
   
   call ui_init
 
+  ld a, WINDOW_Y
+  ld [RWY], a
+  ld a, WINDOW_X
+  ld [RWX], a
+
   ret
 
   ; copies tilest0 and tileset1 to