summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.asm45
1 files changed, 44 insertions, 1 deletions
diff --git a/main.asm b/main.asm
index 7a4b6bd24..769aa9841 100644
--- a/main.asm
+++ b/main.asm
@@ -69,7 +69,50 @@ EnableLCD: ; 58a
ret
; 0x591
-INCBIN "baserom.gbc",$591,$101e - $591
+INCBIN "baserom.gbc",$591,$ff1 - $591
+
+TextBoxBorder: ; ff1
+; draw a text box
+; upper-left corner at coordinates hl
+; height b
+; width c
+
+ ; first row
+ push hl
+ ld a, "┌"
+ ld [hli], a
+ inc a ; horizontal border ─
+ call NPlaceChar
+ inc a ; upper-right border ┐
+ ld [hl], a
+
+ ; middle rows
+ pop hl
+ ld de, 20
+ add hl, de ; skip the top row
+
+.PlaceRow\@
+ push hl
+ ld a, "│"
+ ld [hli], a
+ ld a, " "
+ call NPlaceChar
+ ld [hl], "│"
+
+ pop hl
+ ld de, 20
+ add hl, de ; move to next row
+ dec b
+ jr nz, .PlaceRow\@
+
+ ; bottom row
+ ld a, "└"
+ ld [hli], a
+ ld a, "─"
+ call NPlaceChar
+ ld [hl], "┘"
+ ret
+; 0x101e
NPlaceChar: ; 0x101e
; place a row of width c of identical characters