map: wip map rendering
authorLukas Krickl <lukas@krickl.dev>
Mon, 12 Jan 2026 06:38:18 +0000 (07:38 +0100)
committerLukas Krickl <lukas@krickl.dev>
Mon, 12 Jan 2026 06:38:18 +0000 (07:38 +0100)
assets
src/map.s
src/tiles.s
src/video.s
tiles/bank8000.inc
tiles/bank8800.inc
tiles/bank9000.inc

diff --git a/assets b/assets
index 320c888e57af660897377bfce1c63b70f3b31876..1cd9eb176a55f76915cd3a702c5c0c4cbe0ac281 160000 (submodule)
--- a/assets
+++ b/assets
@@ -1 +1 @@
-Subproject commit 320c888e57af660897377bfce1c63b70f3b31876
+Subproject commit 1cd9eb176a55f76915cd3a702c5c0c4cbe0ac281
index 8a8821d9464cd8d06b58e6c53caf3e70f9084114..32a56f0a212e48caf30e73bbf0c0e9d90829e932 100644 (file)
--- a/src/map.s
+++ b/src/map.s
@@ -262,9 +262,7 @@ map_full_draw_oam_clear:
        ; inputs:
        ;               b/c: y/x positions
 map_set_visible_row:
-       ld a, [player_viewradius]
-       add a, a ; * 2 for complete view
-       ld d, a ; loop counter
+       call map_load_view_range
 @x_loop:
                push de
                push bc
@@ -277,7 +275,9 @@ map_set_visible_row:
                
                ; hl = tile
                ld a, [hl]
-               or a, TF0_VISIBLE
+               ; TODO: do not set uncovered flag here
+               ; once room uncovering is implemented
+               or a, TF0_VISIBLE | TF0_UNCOVERED 
                ld [hl], a
 
                ; next tile
@@ -286,8 +286,32 @@ map_set_visible_row:
                dec d
                jr nz, @x_loop REL
        ret
+       
+       ; loads the viewport starting position
+       ; returns:
+       ;               b/c: y/x top left
+       ;                 d: view range (radius*2)
+map_load_view_start_pos:
+       ld a, [player_viewradius]
+       ld d, a ; d = viewradius value
+       ld a, [player+act_pos_y]
+       sub a, d
+       ld b, a ; = y start
 
+       ld a, [player+act_pos_x]
+       sub a, d
+       ld c, a ;  = x start
        
+       ; loads the view range
+       ; returns:
+       ;               d: view range (radius*2)
+map_load_view_range:
+       ld a, d
+       add a, a
+       ld d, a ; d = view radius * 2
+       ret
+
+
        ; sets up the visibility range for tiles around the player
        ; starts at player_y/x - viewport and runs marks every tile 
        ; until player_y/x + viewport is reached
@@ -309,20 +333,8 @@ map_set_visible_range:
        jr nz, @clear_loop REL
        
        ; now mark new tiles as visible
+       call map_load_view_start_pos
 
-       ld a, [player_viewradius]
-       ld d, a ; d = viewradius value
-       ld a, [player+act_pos_y]
-       sub a, d
-       ld b, a ; = y start
-
-       ld a, [player+act_pos_x]
-       sub a, d
-       ld c, a ;  = x start
-       
-       ld a, d
-       add a, a
-       ld d, a ; d = view radius * 2
 @y_loop:
                push de
                push bc
@@ -337,6 +349,81 @@ map_set_visible_range:
                jr nz, @y_loop REL
 
        ret
+
+
+       ; loads the render starting position
+       ; returns:
+       ;               b/c: y/x top left with player centered
+map_load_render_start_pos:
+       ld a, [player+act_pos_y]
+       sub a, RENDER_BUF_H/2
+       ld b, a ; = y start
+       
+       ld a, [player+act_pos_x]
+       sub a, RENDER_BUF_W/2
+       ld c, a ;  = x start
+       ret
+
+       ; draws a row of tiles
+       ; based on the current input position
+       ;       inputs:
+       ;               hl: render buffer
+       ;               bc: y/x position
+       ;       returns:
+       ;               hl: render buffer next row top left
+map_full_draw_row:
+       ld d, RENDER_BUF_W ; loop counter
+@x_loop:
+               push de
+               push bc
+
+               push hl
+               call map_get_tile
+               ld de, t_flags0
+               
+               ld a, [hl] ; read tile type
+               add hl, de ; hl = flags
+
+               ld e, a ; a = tile type
+               ld d, 0 ; de = tile type offset
+
+               
+               ; hl = tile flags
+               ld a, [hl] ; read flags
+               and a, TF0_UNCOVERED
+               jr z, @not_uncovered REL
+
+               ; it is uncovered
+               ; load tile
+               ld a, [hl] ; read flags again
+
+               ld hl, tile_gfx_table
+               add hl, de ; hl = tile
+
+               ; check if visible
+               and a, TF0_VISIBLE
+               ld a, [hl] ; a = tile
+               jr z, @is_visible REL
+                       ; if not visible set 7th bit
+                       and a, 0b10000000
+@is_visible:
+               jr @done REL
+@not_uncovered:
+               ld a, 0x7F ; not uncovered tile
+@done:
+
+               pop hl ; hl = render target
+               ld [hl+], a ; write tile id and ++
+
+               pop bc
+               pop de
+
+               ; next tile
+               inc c ; x++
+
+               dec d
+               jr nz, @x_loop REL
+       ret
        
        ; draws a full map copy into the current map view buffer
        ; draws the are around the players viewport
@@ -351,7 +438,23 @@ map_full_draw:
        ; render destination
        ld hl, render_buffer
 
-       ; 
+       ; load start position into b/c
+       call map_load_render_start_pos
+       ld d, RENDER_BUF_H ; loop counter
+
+@y_loop:
+
+               push de
+               push bc
+               call map_full_draw_row
+               pop bc
+               pop de
+               
+               ; go to next row
+               inc b ; y++
+
+               dec d ; count--
+               jr nz, @y_loop REL
 
 @done:
        ; 4) go to render state
index 1a633f094ff64b4cb1f923a4dcd29b52ea8d5859..028a2581e9f070fe8e28ebe6df828d7c4dedbd50 100644 (file)
@@ -30,9 +30,9 @@ tile_gfx_table:
        ; null
        .db 0x00
        ; wall
-       .db 0x02
+       .db 0x01
        ; floor
-       .db 0x04
+       .db 0x02
        ; door
-       .db 0x06
+       .db 0x03
 
index 6424e85dd9f91bd19b61f7fa238f41d40caec5ed..435f8b793d7862b4dde65b729e4acff72092ca7e 100644 (file)
@@ -114,7 +114,7 @@ lcd_off:
 
   ; turns on the lcd 
 lcd_on:
-  ld a, LCDCF_ON | LCDCF_BGON | LCDCF_OBJON | LCDF_WINDOWON | LCDF_WINBANKSELECT | LCDF_OBJ_SIZE
+  ld a, LCDCF_ON | LCDCF_BGON | LCDCF_OBJON | LCDF_WINDOWON | LCDF_WINBANKSELECT 
   ld [RLCD], a
 
   ret
index b35c792155190a7fea7132e28a12c6cbc189470a..408513b376eccf5cec74c649f432e80f97e03af4 100644 (file)
@@ -9,6 +9,15 @@
 .chr 00000000
 .chr 00000000
 ; tile 1
+.chr 03333330
+.chr 30000013
+.chr 30022213
+.chr 30222213
+.chr 30222213
+.chr 30222213
+.chr 31111113
+.chr 03333330
+; tile 2
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 2
-.chr 03333333
-.chr 33000000
-.chr 30002222
-.chr 30022222
-.chr 30222222
-.chr 30222222
-.chr 30222222
-.chr 30222222
 ; tile 3
-.chr 33333330
-.chr 00000033
-.chr 22220013
-.chr 22222013
-.chr 22222213
-.chr 22222213
-.chr 22222213
-.chr 22222213
+.chr 00000000
+.chr 03333330
+.chr 32222223
+.chr 32222223
+.chr 32322223
+.chr 32322223
+.chr 32222223
+.chr 33333333
 ; tile 4
 .chr 00000000
 .chr 00000000
 ; tile 6
 .chr 00000000
 .chr 00000000
-.chr 00033333
-.chr 00322223
-.chr 03222223
-.chr 32222223
-.chr 32222223
-.chr 32222223
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 7
 .chr 00000000
 .chr 00000000
-.chr 33333000
-.chr 32222300
-.chr 32222230
-.chr 32222223
-.chr 32222223
-.chr 32222223
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 8
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 18
-.chr 30222222
-.chr 30222222
-.chr 30222222
-.chr 30222222
-.chr 30022222
-.chr 30002222
-.chr 33111111
-.chr 03333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 19
-.chr 22222213
-.chr 22222213
-.chr 22222213
-.chr 22222213
-.chr 22222113
-.chr 22221113
-.chr 11111133
-.chr 33333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 20
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 22
-.chr 32222223
-.chr 32222223
-.chr 32222323
-.chr 32222323
-.chr 32222323
-.chr 32222223
-.chr 32222223
-.chr 33333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 23
-.chr 32222223
-.chr 32222223
-.chr 32322223
-.chr 32322223
-.chr 32322223
-.chr 32222223
-.chr 32222223
-.chr 33333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 24
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 65
+.chr 03333330
+.chr 31111113
+.chr 31111113
+.chr 31111113
+.chr 31111113
+.chr 31111113
+.chr 31111113
+.chr 03333330
+; tile 66
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+; tile 67
+.chr 00000000
+.chr 03333330
+.chr 31111113
+.chr 31111113
+.chr 31311113
+.chr 31311113
+.chr 31111113
+.chr 33333333
+; tile 68
+.chr 00000000
+.chr 00333000
+.chr 03333300
+.chr 01111100
+.chr 01331100
+.chr 01331100
+.chr 01331100
+.chr 00000000
+; tile 69
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 66
-.chr 03333333
-.chr 33111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-; tile 67
-.chr 33333330
-.chr 11111133
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-; tile 68
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-; tile 69
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
 ; tile 70
 .chr 00000000
 .chr 00000000
-.chr 00033333
-.chr 00311113
-.chr 03111113
-.chr 31111113
-.chr 31111113
-.chr 31111113
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 71
 .chr 00000000
 .chr 00000000
-.chr 33333000
-.chr 31111300
-.chr 31111130
-.chr 31111113
-.chr 31111113
-.chr 31111113
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 72
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 82
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 33111111
-.chr 03333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 83
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111133
-.chr 33333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 84
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 85
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 86
-.chr 31111113
-.chr 31111113
-.chr 31111313
-.chr 31111313
-.chr 31111313
-.chr 31111113
-.chr 31111113
-.chr 33333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 87
-.chr 31111113
-.chr 31111113
-.chr 31311113
-.chr 31311113
-.chr 31311113
-.chr 31111113
-.chr 31111113
-.chr 33333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 88
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 127
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 33333333
+.chr 32333333
+.chr 33333233
+.chr 33333333
+.chr 33233323
+.chr 33333333
+.chr 32332333
+.chr 33333333
index 9290d141f206f1c99ba74a4093cf1313ddab54a4..38243002adefbc9787133acc08cb8e9b5866d99c 100644 (file)
 .chr 00030000
 .chr 00303000
 .chr 00000000
+.chr 00033300
+.chr 00300030
+.chr 03001030
+.chr 01030030
+.chr 11103300
+.chr 02000000
 .chr 00000000
 .chr 00000000
-.chr 10100101
-.chr 30300303
-.chr 30033003
-.chr 13033031
-.chr 11322311
-.chr 01133110
 ; tile 2
 .chr 00003000
 .chr 00033300
 .chr 03333300
 .chr 03333000
 .chr 00000000
+.chr 00333000
+.chr 03222301
+.chr 03222331
+.chr 00333031
+.chr 00333230
+.chr 00333030
+.chr 00333030
+.chr 03303300
+; tile 3
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 .chr 00000000
 .chr 00000000
-.chr 11001100
-.chr 11001100
-.chr 33003300
-.chr 33000033
-.chr 11330033
-.chr 11113322
-; tile 3
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-.chr 00110011
-.chr 00110011
-.chr 00330033
-.chr 33000033
-.chr 33003311
-.chr 22331111
 ; tile 4
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 17
-.chr 00133100
-.chr 00033000
-.chr 00300300
-.chr 01000010
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
+.chr 00300300
+.chr 10033001
+.chr 13033031
+.chr 11222211
+.chr 00133100
+.chr 00033000
+.chr 00300300
+.chr 01000010
 ; tile 18
-.chr 11113322
-.chr 00111133
-.chr 00001133
-.chr 00000033
-.chr 00003300
-.chr 00003300
-.chr 00110000
-.chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
+.chr 00333300
+.chr 03333030
+.chr 00222030
+.chr 33111030
+.chr 33111333
+.chr 00333030
+.chr 00111000
+.chr 01101100
 ; tile 19
-.chr 22331111
-.chr 33111100
-.chr 33110000
-.chr 33000000
-.chr 00330000
-.chr 00330000
-.chr 00001100
-.chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
+.chr 01001000
+.chr 03003000
+.chr 01111303
+.chr 03232030
+.chr 01111030
+.chr 03113130
+.chr 03333000
+.chr 01101100
 ; tile 20
 .chr 33333300
 .chr 31222200
index d432b4e06eee353336c5eb9006df8a338af985c5..408513b376eccf5cec74c649f432e80f97e03af4 100644 (file)
@@ -9,6 +9,15 @@
 .chr 00000000
 .chr 00000000
 ; tile 1
+.chr 03333330
+.chr 30000013
+.chr 30022213
+.chr 30222213
+.chr 30222213
+.chr 30222213
+.chr 31111113
+.chr 03333330
+; tile 2
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 2
-.chr 03333333
-.chr 33000000
-.chr 30002222
-.chr 30022222
-.chr 30222222
-.chr 30222222
-.chr 30222222
-.chr 30222222
 ; tile 3
-.chr 33333330
-.chr 00000033
-.chr 22220013
-.chr 22222013
-.chr 22222213
-.chr 22222213
-.chr 22222213
-.chr 22222213
+.chr 00000000
+.chr 03333330
+.chr 32222223
+.chr 32222223
+.chr 32322223
+.chr 32322223
+.chr 32222223
+.chr 33333333
 ; tile 4
 .chr 00000000
 .chr 00000000
 ; tile 6
 .chr 00000000
 .chr 00000000
-.chr 00033333
-.chr 00322223
-.chr 03222223
-.chr 32222223
-.chr 32222223
-.chr 32222223
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 7
 .chr 00000000
 .chr 00000000
-.chr 33333000
-.chr 32222300
-.chr 32222230
-.chr 32222223
-.chr 32222223
-.chr 32222223
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 8
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 18
-.chr 30222222
-.chr 30222222
-.chr 30222222
-.chr 30222222
-.chr 30022222
-.chr 30002222
-.chr 33111111
-.chr 03333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 19
-.chr 22222213
-.chr 22222213
-.chr 22222213
-.chr 22222213
-.chr 22222113
-.chr 22221113
-.chr 11111133
-.chr 33333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 20
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 22
-.chr 32222223
-.chr 32222223
-.chr 32222323
-.chr 32222323
-.chr 32222323
-.chr 32222223
-.chr 32222223
-.chr 33333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 23
-.chr 32222223
-.chr 32222223
-.chr 32322223
-.chr 32322223
-.chr 32322223
-.chr 32222223
-.chr 32222223
-.chr 33333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 24
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 65
+.chr 03333330
+.chr 31111113
+.chr 31111113
+.chr 31111113
+.chr 31111113
+.chr 31111113
+.chr 31111113
+.chr 03333330
+; tile 66
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+; tile 67
+.chr 00000000
+.chr 03333330
+.chr 31111113
+.chr 31111113
+.chr 31311113
+.chr 31311113
+.chr 31111113
+.chr 33333333
+; tile 68
+.chr 00000000
+.chr 00333000
+.chr 03333300
+.chr 01111100
+.chr 01331100
+.chr 01331100
+.chr 01331100
+.chr 00000000
+; tile 69
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 66
-.chr 03333333
-.chr 33111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-; tile 67
-.chr 33333330
-.chr 11111133
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-; tile 68
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-; tile 69
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
 ; tile 70
 .chr 00000000
 .chr 00000000
-.chr 00033333
-.chr 00311113
-.chr 03111113
-.chr 31111113
-.chr 31111113
-.chr 31111113
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 71
 .chr 00000000
 .chr 00000000
-.chr 33333000
-.chr 31111300
-.chr 31111130
-.chr 31111113
-.chr 31111113
-.chr 31111113
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 72
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 82
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 31111111
-.chr 33111111
-.chr 03333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 83
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111113
-.chr 11111133
-.chr 33333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 84
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 85
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 86
-.chr 31111113
-.chr 31111113
-.chr 31111313
-.chr 31111313
-.chr 31111313
-.chr 31111113
-.chr 31111113
-.chr 33333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 87
-.chr 31111113
-.chr 31111113
-.chr 31311113
-.chr 31311113
-.chr 31311113
-.chr 31111113
-.chr 31111113
-.chr 33333333
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 88
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 97
 .chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 00033000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 98
-.chr 00033000
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 03333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 .chr 00000000
 ; tile 99
-.chr 00033000
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 03333330
-.chr 00033000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 100
 .chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 33333330
-.chr 33333330
-.chr 03333330
-.chr 03333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 .chr 00000000
 ; tile 101
 .chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 33333330
-.chr 33333330
-.chr 03333330
-.chr 03333330
-.chr 00033000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 102
-.chr 00033000
-.chr 03333330
-.chr 03333330
-.chr 33333330
-.chr 33333330
-.chr 03333330
-.chr 03333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 .chr 00000000
 ; tile 103
-.chr 00033000
-.chr 03333330
-.chr 03333330
-.chr 33333330
-.chr 33333330
-.chr 03333330
-.chr 03333330
-.chr 00033000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 104
 .chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 03333333
-.chr 03333333
-.chr 03333330
-.chr 03333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 .chr 00000000
 ; tile 105
 .chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 03333333
-.chr 03333333
-.chr 03333330
-.chr 03333330
-.chr 00033000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 106
-.chr 00033000
-.chr 03333330
-.chr 03333330
-.chr 03333333
-.chr 03333333
-.chr 03333330
-.chr 03333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 .chr 00000000
 ; tile 107
-.chr 00033000
-.chr 03333330
-.chr 03333330
-.chr 03333333
-.chr 03333333
-.chr 03333330
-.chr 03333330
-.chr 00033000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 108
 .chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 33333333
-.chr 33333333
-.chr 03333330
-.chr 03333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 .chr 00000000
 ; tile 109
 .chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 33333333
-.chr 33333333
-.chr 03333330
-.chr 03333330
-.chr 00033000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 110
-.chr 00033000
-.chr 03333330
-.chr 03333330
-.chr 33333333
-.chr 33333333
-.chr 03333330
-.chr 03333330
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 .chr 00000000
 ; tile 111
-.chr 00033000
-.chr 03333330
-.chr 03333330
-.chr 33333333
-.chr 33333333
-.chr 03333330
-.chr 03333330
-.chr 00033000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 112
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 127
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 33333333
+.chr 32333333
+.chr 33333233
+.chr 33333333
+.chr 33233323
+.chr 33333333
+.chr 32332333
+.chr 33333333