aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-08-31 16:20:42 -0400
committerB. Watson <yalhcru@gmail.com>2016-08-31 16:20:42 -0400
commitf7f574ac965d20a30a173fb8ff46c5275ef82687 (patch)
treed53adf88b81761880a7025994362cd2b498e44d2
parent5767fab24d2271f4fb4b76246f80051f248cda0f (diff)
downloadjumpmanjr-f7f574ac965d20a30a173fb8ff46c5275ef82687.tar.gz
more bomb stuff
-rw-r--r--jumpmanjr.dasm223
-rw-r--r--jumpmanjr.info52
-rw-r--r--leveldesc.info52
-rw-r--r--mklevelinfo.pl4
4 files changed, 159 insertions, 172 deletions
diff --git a/jumpmanjr.dasm b/jumpmanjr.dasm
index 83e6524..7da9faf 100644
--- a/jumpmanjr.dasm
+++ b/jumpmanjr.dasm
@@ -1,5 +1,5 @@
; da65 V2.15 - Git 104f898
-; Created: 2016-08-31 04:47:36
+; Created: 2016-08-31 16:20:14
; Input file: jumpmanjr.rom
; Page: 1
@@ -111,7 +111,7 @@ work_level_unkn_table0:= $0794 ; pointer to ROM table or $06xx
work_level_map0 := $0796 ; map data
work_level_map1 := $0798 ; map data
work_level_bomblist:= $079A ; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
-work_level_unkn_table1:= $079C ; unknown, pointer to a ROM table or $0000
+work_level_map_changes:= $079C ; address of list of addresses of map data, used for changing the map when certain bombs are picked up
work_level_offs_30:= $079E ; always $0000
work_level_sub_bomb:= $07A0 ; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine
work_level_sub_start:= $07A2 ; called at start of level, $06E6 for some levels, or else a ROM subroutine
@@ -140,7 +140,7 @@ cur_level_unkn_table0:= $07D4 ; pointer to ROM table or $06xx
cur_level_map0 := $07D6 ; map data
cur_level_map1 := $07D8 ; map data
cur_level_bomblist:= $07DA ; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
-cur_level_unkn_table1:= $07DC ; unknown, pointer to a ROM table or $0000
+cur_level_map_changes:= $07DC ; address of list of addresses of map data, used for changing the map when certain bombs are picked up
cur_level_offs_30:= $07DE ; always $0000
cur_level_sub_bomb:= $07E0 ; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine
cur_level_sub_start:= $07E2 ; called at start of level, $06E6 for some levels, or else a ROM subroutine
@@ -1443,9 +1443,9 @@ unkn1: lda ($B0),y ; 87F2 B1 B0
tay ; 881A A8 .
; this has to do with redrawing parts of the level (e.g. disappearing platforms on level00)
change_map:
- lda work_level_unkn_table1 ; 881B AD 9C 07 ...
+ lda work_level_map_changes ; 881B AD 9C 07 ...
sta $B0 ; 881E 85 B0 ..
- lda work_level_unkn_table1+1 ; 8820 AD 9D 07 ...
+ lda work_level_map_changes+1 ; 8820 AD 9D 07 ...
sta $B1 ; 8823 85 B1 ..
lda ($B0),y ; 8825 B1 B0 ..
sta dm_progctr ; 8827 85 C0 ..
@@ -4207,13 +4207,11 @@ level00_map0:
; map data
level00_map1:
.addr LA366 ; A018 66 A3 f.
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level00_bomblist:
- .byte $8B,$A3 ; A01A 8B A3 ..
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level00_unkn_table1:
+ .addr LA38B ; A01A 8B A3 ..
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level00_map_changes:
.addr LA3A4 ; A01C A4 A3 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -4305,13 +4303,11 @@ level01_map0:
; map data
level01_map1:
.addr LA446 ; A058 46 A4 F.
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level01_bomblist:
- .byte $77,$A4 ; A05A 77 A4 w.
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level01_unkn_table1:
+ .addr LA477 ; A05A 77 A4 w.
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level01_map_changes:
.addr L0000 ; A05C 00 00 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -4403,13 +4399,11 @@ level02_map0:
; map data
level02_map1:
.addr LA62F ; A098 2F A6 /.
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level02_bomblist:
- .byte $54,$A6 ; A09A 54 A6 T.
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level02_unkn_table1:
+ .addr LA654 ; A09A 54 A6 T.
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level02_map_changes:
.addr L0000 ; A09C 00 00 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -4501,13 +4495,11 @@ level03_map0:
; map data
level03_map1:
.addr LA7D5 ; A0D8 D5 A7 ..
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level03_bomblist:
- .byte $06,$A8 ; A0DA 06 A8 ..
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level03_unkn_table1:
+ .addr LA806 ; A0DA 06 A8 ..
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level03_map_changes:
.addr L0000 ; A0DC 00 00 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -4599,13 +4591,11 @@ level04_map0:
; map data
level04_map1:
.addr LAB42 ; A118 42 AB B.
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level04_bomblist:
- .byte $6D,$AB ; A11A 6D AB m.
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level04_unkn_table1:
+ .addr LAB6D ; A11A 6D AB m.
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level04_map_changes:
.addr LAB8A ; A11C 8A AB ..
; ----------------------------------------------------------------------------
; always $0000
@@ -4697,13 +4687,11 @@ level05_map0:
; map data
level05_map1:
.addr LA974 ; A158 74 A9 t.
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level05_bomblist:
- .byte $A5,$A9 ; A15A A5 A9 ..
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level05_unkn_table1:
+ .addr LA9A5 ; A15A A5 A9 ..
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level05_map_changes:
.addr L0000 ; A15C 00 00 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -4795,13 +4783,11 @@ level06_map0:
; map data
level06_map1:
.addr LACBA ; A198 BA AC ..
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level06_bomblist:
- .byte $E5,$AC ; A19A E5 AC ..
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level06_unkn_table1:
+ .addr LACE5 ; A19A E5 AC ..
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level06_map_changes:
.addr LAD02 ; A19C 02 AD ..
; ----------------------------------------------------------------------------
; always $0000
@@ -4893,13 +4879,11 @@ level07_map0:
; map data
level07_map1:
.addr LAE4C ; A1D8 4C AE L.
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level07_bomblist:
- .byte $71,$AE ; A1DA 71 AE q.
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level07_unkn_table1:
+ .addr LAE71 ; A1DA 71 AE q.
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level07_map_changes:
.addr L0000 ; A1DC 00 00 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -4991,13 +4975,11 @@ level08_map0:
; map data
level08_map1:
.addr LB072 ; A218 72 B0 r.
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level08_bomblist:
- .byte $A3,$B0 ; A21A A3 B0 ..
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level08_unkn_table1:
+ .addr LB0A3 ; A21A A3 B0 ..
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level08_map_changes:
.addr L0000 ; A21C 00 00 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -5089,13 +5071,11 @@ level09_map0:
; map data
level09_map1:
.addr LB237 ; A258 37 B2 7.
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level09_bomblist:
- .byte $5C,$B2 ; A25A 5C B2 \.
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level09_unkn_table1:
+ .addr LB25C ; A25A 5C B2 \.
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level09_map_changes:
.addr L0000 ; A25C 00 00 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -5187,13 +5167,11 @@ level10_map0:
; map data
level10_map1:
.addr LB38F ; A298 8F B3 ..
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level10_bomblist:
- .byte $BD,$B3 ; A29A BD B3 ..
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level10_unkn_table1:
+ .addr LB3BD ; A29A BD B3 ..
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level10_map_changes:
.addr LB3DC ; A29C DC B3 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -5285,13 +5263,11 @@ level11_map0:
; map data
level11_map1:
.addr LB5D2 ; A2D8 D2 B5 ..
-; ----------------------------------------------------------------------------
; addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.
level11_bomblist:
- .byte $FD,$B5 ; A2DA FD B5 ..
-; ----------------------------------------------------------------------------
-; unknown, pointer to a ROM table or $0000
-level11_unkn_table1:
+ .addr LB5FD ; A2DA FD B5 ..
+; address of list of addresses of map data, used for changing the map when certain bombs are picked up
+level11_map_changes:
.addr LB61A ; A2DC 1A B6 ..
; ----------------------------------------------------------------------------
; always $0000
@@ -5346,10 +5322,11 @@ LA366: .byte $04,$12,$01,$38,$02,$01,$64,$02 ; A366 04 12 01 38 02 01 64 02
.byte $01,$98,$12,$01,$44,$22,$01,$58 ; A36E 01 98 12 01 44 22 01 58 ....D".X
.byte $22,$01,$04,$42,$01,$98,$42,$01 ; A376 22 01 04 42 01 98 42 01 "..B..B.
.byte $04,$52,$01,$38,$52,$01,$64,$52 ; A37E 04 52 01 38 52 01 64 52 .R.8R.dR
- .byte $01,$98,$52,$01,$FF,$24,$00,$62 ; A386 01 98 52 01 FF 24 00 62 ..R..$.b
- .byte $10,$82,$20,$C4,$00,$66,$30,$86 ; A38E 10 82 20 C4 00 66 30 86 .. ..f0.
- .byte $40,$2A,$00,$CA,$00,$2C,$00,$6C ; A396 40 2A 00 CA 00 2C 00 6C @*...,.l
- .byte $00,$8C,$00,$CC,$00,$FF ; A39E 00 8C 00 CC 00 FF ......
+ .byte $01,$98,$52,$01,$FF ; A386 01 98 52 01 FF ..R..
+LA38B: .byte $24,$00,$62,$10,$82,$20,$C4,$00 ; A38B 24 00 62 10 82 20 C4 00 $.b.. ..
+ .byte $66,$30,$86,$40,$2A,$00,$CA,$00 ; A393 66 30 86 40 2A 00 CA 00 f0.@*...
+ .byte $2C,$00,$6C,$00,$8C,$00,$CC,$00 ; A39B 2C 00 6C 00 8C 00 CC 00 ,.l.....
+ .byte $FF ; A3A3 FF .
LA3A4: .byte $00,$00,$AE,$A3,$B8,$A3,$C2,$A3 ; A3A4 00 00 AE A3 B8 A3 C2 A3 ........
.byte $CC,$A3,$FE,$49,$9C,$FD,$04,$01 ; A3AC CC A3 FE 49 9C FD 04 01 ...I....
.byte $64,$08,$02,$FF,$FE,$49,$9C,$FD ; A3B4 64 08 02 FF FE 49 9C FD d....I..
@@ -5377,11 +5354,12 @@ LA446: .byte $04,$02,$01,$38,$02,$01,$64,$02 ; A446 04 02 01 38 02 01 64 02
.byte $20,$22,$01,$7C,$22,$01,$38,$32 ; A45E 20 22 01 7C 22 01 38 32 ".|".82
.byte $01,$64,$32,$01,$04,$52,$01,$38 ; A466 01 64 32 01 04 52 01 38 .d2..R.8
.byte $52,$01,$64,$52,$01,$98,$52,$01 ; A46E 52 01 64 52 01 98 52 01 R.dR..R.
- .byte $FF,$22,$00,$62,$00,$82,$00,$C2 ; A476 FF 22 00 62 00 82 00 C2 .".b....
- .byte $00,$24,$00,$64,$00,$84,$00,$C4 ; A47E 00 24 00 64 00 84 00 C4 .$.d....
- .byte $00,$46,$00,$A6,$00,$68,$00,$88 ; A486 00 46 00 A6 00 68 00 88 .F...h..
- .byte $00,$2C,$00,$6C,$00,$8C,$00,$CC ; A48E 00 2C 00 6C 00 8C 00 CC .,.l....
- .byte $00,$FF ; A496 00 FF ..
+ .byte $FF ; A476 FF .
+LA477: .byte $22,$00,$62,$00,$82,$00,$C2,$00 ; A477 22 00 62 00 82 00 C2 00 ".b.....
+ .byte $24,$00,$64,$00,$84,$00,$C4,$00 ; A47F 24 00 64 00 84 00 C4 00 $.d.....
+ .byte $46,$00,$A6,$00,$68,$00,$88,$00 ; A487 46 00 A6 00 68 00 88 00 F...h...
+ .byte $2C,$00,$6C,$00,$8C,$00,$CC,$00 ; A48F 2C 00 6C 00 8C 00 CC 00 ,.l.....
+ .byte $FF ; A497 FF .
; ----------------------------------------------------------------------------
; not sure what this actually does
electrocution_bomb_pickup:
@@ -5514,10 +5492,11 @@ LA62F: .byte $04,$02,$01,$04,$12,$01,$04,$22 ; A62F 04 02 01 04 12 01 04 22
.byte $01,$04,$32,$01,$04,$42,$01,$04 ; A637 01 04 32 01 04 42 01 04 ..2..B..
.byte $52,$01,$98,$02,$01,$98,$12,$01 ; A63F 52 01 98 02 01 98 12 01 R.......
.byte $98,$22,$01,$98,$32,$01,$98,$42 ; A647 98 22 01 98 32 01 98 42 ."..2..B
- .byte $01,$98,$52,$01,$FF,$22,$00,$24 ; A64F 01 98 52 01 FF 22 00 24 ..R..".$
- .byte $00,$26,$00,$28,$00,$2A,$00,$2C ; A657 00 26 00 28 00 2A 00 2C .&.(.*.,
- .byte $00,$C2,$00,$C4,$00,$C6,$00,$C8 ; A65F 00 C2 00 C4 00 C6 00 C8 ........
- .byte $00,$CA,$00,$CC,$00,$FF ; A667 00 CA 00 CC 00 FF ......
+ .byte $01,$98,$52,$01,$FF ; A64F 01 98 52 01 FF ..R..
+LA654: .byte $22,$00,$24,$00,$26,$00,$28,$00 ; A654 22 00 24 00 26 00 28 00 ".$.&.(.
+ .byte $2A,$00,$2C,$00,$C2,$00,$C4,$00 ; A65C 2A 00 2C 00 C2 00 C4 00 *.,.....
+ .byte $C6,$00,$C8,$00,$CA,$00,$CC,$00 ; A664 C6 00 C8 00 CA 00 CC 00 ........
+ .byte $FF ; A66C FF .
LA66D: .byte $00,$00,$00,$01,$7A,$01,$01,$66 ; A66D 00 00 00 01 7A 01 01 66 ....z..f
.byte $03,$86,$A6,$06,$4C,$4A,$01,$66 ; A675 03 86 A6 06 4C 4A 01 66 ....LJ.f
.byte $04,$86,$A6,$06,$A4,$CA,$01,$66 ; A67D 04 86 A6 06 A4 CA 01 66 .......f
@@ -5667,11 +5646,12 @@ LA7D5: .byte $40,$02,$01,$5C,$02,$01,$24,$12 ; A7D5 40 02 01 5C 02 01 24 12
.byte $60,$22,$01,$98,$22,$01,$18,$32 ; A7ED 60 22 01 98 22 01 18 32 `".."..2
.byte $01,$84,$32,$01,$3C,$42,$01,$60 ; A7F5 01 84 32 01 3C 42 01 60 ..2.<B.`
.byte $42,$01,$04,$52,$01,$98,$52,$01 ; A7FD 42 01 04 52 01 98 52 01 B..R..R.
- .byte $FF,$62,$00,$82,$00,$44,$00,$64 ; A805 FF 62 00 82 00 44 00 64 .b...D.d
- .byte $00,$84,$00,$A4,$00,$26,$00,$66 ; A80D 00 84 00 A4 00 26 00 66 .....&.f
- .byte $00,$86,$00,$C6,$00,$48,$00,$A8 ; A815 00 86 00 C6 00 48 00 A8 .....H..
- .byte $00,$6A,$00,$8A,$00,$2C,$00,$CC ; A81D 00 6A 00 8A 00 2C 00 CC .j...,..
- .byte $00,$FF ; A825 00 FF ..
+ .byte $FF ; A805 FF .
+LA806: .byte $62,$00,$82,$00,$44,$00,$64,$00 ; A806 62 00 82 00 44 00 64 00 b...D.d.
+ .byte $84,$00,$A4,$00,$26,$00,$66,$00 ; A80E 84 00 A4 00 26 00 66 00 ....&.f.
+ .byte $86,$00,$C6,$00,$48,$00,$A8,$00 ; A816 86 00 C6 00 48 00 A8 00 ....H...
+ .byte $6A,$00,$8A,$00,$2C,$00,$CC,$00 ; A81E 6A 00 8A 00 2C 00 CC 00 j...,...
+ .byte $FF ; A826 FF .
; ----------------------------------------------------------------------------
hellstones_sub3:
lda $0619 ; A827 AD 19 06 ...
@@ -5811,11 +5791,12 @@ LA974: .byte $24,$02,$01,$44,$02,$01,$58,$02 ; A974 24 02 01 44 02 01 58 02
.byte $40,$32,$01,$5C,$32,$01,$40,$42 ; A98C 40 32 01 5C 32 01 40 42 @2.\2.@B
.byte $01,$5C,$42,$01,$04,$52,$01,$3C ; A994 01 5C 42 01 04 52 01 3C .\B..R.<
.byte $52,$01,$60,$52,$01,$98,$52,$01 ; A99C 52 01 60 52 01 98 52 01 R.`R..R.
- .byte $FF,$42,$00,$62,$00,$82,$00,$A2 ; A9A4 FF 42 00 62 00 82 00 A2 .B.b....
- .byte $00,$64,$00,$84,$00,$46,$00,$A6 ; A9AC 00 64 00 84 00 46 00 A6 .d...F..
- .byte $00,$68,$00,$88,$00,$6A,$00,$8A ; A9B4 00 68 00 88 00 6A 00 8A .h...j..
- .byte $00,$2C,$00,$6C,$00,$8C,$00,$CC ; A9BC 00 2C 00 6C 00 8C 00 CC .,.l....
- .byte $00,$FF ; A9C4 00 FF ..
+ .byte $FF ; A9A4 FF .
+LA9A5: .byte $42,$00,$62,$00,$82,$00,$A2,$00 ; A9A5 42 00 62 00 82 00 A2 00 B.b.....
+ .byte $64,$00,$84,$00,$46,$00,$A6,$00 ; A9AD 64 00 84 00 46 00 A6 00 d...F...
+ .byte $68,$00,$88,$00,$6A,$00,$8A,$00 ; A9B5 68 00 88 00 6A 00 8A 00 h...j...
+ .byte $2C,$00,$6C,$00,$8C,$00,$CC,$00 ; A9BD 2C 00 6C 00 8C 00 CC 00 ,.l.....
+ .byte $FF ; A9C5 FF .
; ----------------------------------------------------------------------------
LA9C6: jsr L8036 ; A9C6 20 36 80 6.
lda #$02 ; A9C9 A9 02 ..
@@ -5968,10 +5949,11 @@ LAB42: .byte $04,$02,$01,$44,$02,$01,$24,$16 ; AB42 04 02 01 44 02 01 24 16
.byte $22,$01,$24,$32,$01,$44,$32,$01 ; AB52 22 01 24 32 01 44 32 01 ".$2.D2.
.byte $64,$32,$01,$24,$52,$01,$44,$52 ; AB5A 64 32 01 24 52 01 44 52 d2.$R.DR
.byte $01,$64,$52,$01,$84,$52,$01,$98 ; AB62 01 64 52 01 84 52 01 98 .dR..R..
- .byte $52,$01,$FF,$22,$10,$62,$20,$44 ; AB6A 52 01 FF 22 10 62 20 44 R..".b D
- .byte $30,$66,$40,$86,$50,$C6,$60,$48 ; AB72 30 66 40 86 50 C6 60 48 0f@.P.`H
- .byte $70,$68,$80,$88,$90,$4C,$A0,$6C ; AB7A 70 68 80 88 90 4C A0 6C ph...L.l
- .byte $B0,$8C,$C0,$AC,$00,$CC,$D0,$FF ; AB82 B0 8C C0 AC 00 CC D0 FF ........
+ .byte $52,$01,$FF ; AB6A 52 01 FF R..
+LAB6D: .byte $22,$10,$62,$20,$44,$30,$66,$40 ; AB6D 22 10 62 20 44 30 66 40 ".b D0f@
+ .byte $86,$50,$C6,$60,$48,$70,$68,$80 ; AB75 86 50 C6 60 48 70 68 80 .P.`Hph.
+ .byte $88,$90,$4C,$A0,$6C,$B0,$8C,$C0 ; AB7D 88 90 4C A0 6C B0 8C C0 ..L.l...
+ .byte $AC,$00,$CC,$D0,$FF ; AB85 AC 00 CC D0 FF .....
LAB8A: .byte $00,$00,$A6,$AB,$B6,$AB,$C0,$AB ; AB8A 00 00 A6 AB B6 AB C0 AB ........
.byte $D3,$AB,$DD,$AB,$F0,$AB,$FA,$AB ; AB92 D3 AB DD AB F0 AB FA AB ........
.byte $04,$AC,$0E,$AC,$18,$AC,$22,$AC ; AB9A 04 AC 0E AC 18 AC 22 AC ......".
@@ -6016,10 +5998,11 @@ LACBA: .byte $04,$02,$01,$3C,$02,$01,$60,$02 ; ACBA 04 02 01 3C 02 01 60 02
.byte $22,$01,$24,$32,$01,$78,$32,$01 ; ACCA 22 01 24 32 01 78 32 01 ".$2.x2.
.byte $24,$42,$01,$78,$42,$01,$04,$52 ; ACD2 24 42 01 78 42 01 04 52 $B.xB..R
.byte $01,$3C,$52,$01,$60,$52,$01,$98 ; ACDA 01 3C 52 01 60 52 01 98 .<R.`R..
- .byte $52,$01,$FF,$22,$10,$62,$20,$82 ; ACE2 52 01 FF 22 10 62 20 82 R..".b .
- .byte $30,$C2,$40,$46,$50,$A6,$50,$48 ; ACEA 30 C2 40 46 50 A6 50 48 0.@FP.PH
- .byte $60,$A8,$60,$4A,$70,$AA,$70,$2C ; ACF2 60 A8 60 4A 70 AA 70 2C `.`Jp.p,
- .byte $80,$6C,$00,$8C,$00,$CC,$90,$FF ; ACFA 80 6C 00 8C 00 CC 90 FF .l......
+ .byte $52,$01,$FF ; ACE2 52 01 FF R..
+LACE5: .byte $22,$10,$62,$20,$82,$30,$C2,$40 ; ACE5 22 10 62 20 82 30 C2 40 ".b .0.@
+ .byte $46,$50,$A6,$50,$48,$60,$A8,$60 ; ACED 46 50 A6 50 48 60 A8 60 FP.PH`.`
+ .byte $4A,$70,$AA,$70,$2C,$80,$6C,$00 ; ACF5 4A 70 AA 70 2C 80 6C 00 Jp.p,.l.
+ .byte $8C,$00,$CC,$90,$FF ; ACFD 8C 00 CC 90 FF .....
LAD02: .byte $00,$00,$16,$AD,$16,$AD,$20,$AD ; AD02 00 00 16 AD 16 AD 20 AD ...... .
.byte $20,$AD,$2A,$AD,$34,$AD,$3E,$AD ; AD0A 20 AD 2A AD 34 AD 3E AD .*.4.>.
.byte $48,$AD,$58,$AD,$FE,$49,$9C,$FD ; AD12 48 AD 58 AD FE 49 9C FD H.X..I..
@@ -6110,10 +6093,11 @@ LAE4C: .byte $04,$02,$01,$98,$02,$01,$04,$22 ; AE4C 04 02 01 98 02 01 04 22
.byte $01,$98,$22,$01,$18,$34,$01,$84 ; AE54 01 98 22 01 18 34 01 84 .."..4..
.byte $34,$01,$04,$42,$01,$98,$42,$01 ; AE5C 34 01 04 42 01 98 42 01 4..B..B.
.byte $04,$52,$01,$38,$52,$01,$64,$52 ; AE64 04 52 01 38 52 01 64 52 .R.8R.dR
- .byte $01,$98,$52,$01,$FF,$22,$00,$C2 ; AE6C 01 98 52 01 FF 22 00 C2 ..R.."..
- .byte $00,$26,$00,$C6,$00,$48,$00,$A8 ; AE74 00 26 00 C6 00 48 00 A8 .&...H..
- .byte $00,$2A,$00,$CA,$00,$2C,$00,$6C ; AE7C 00 2A 00 CA 00 2C 00 6C .*...,.l
- .byte $00,$8C,$00,$CC,$00,$FF ; AE84 00 8C 00 CC 00 FF ......
+ .byte $01,$98,$52,$01,$FF ; AE6C 01 98 52 01 FF ..R..
+LAE71: .byte $22,$00,$C2,$00,$26,$00,$C6,$00 ; AE71 22 00 C2 00 26 00 C6 00 "...&...
+ .byte $48,$00,$A8,$00,$2A,$00,$CA,$00 ; AE79 48 00 A8 00 2A 00 CA 00 H...*...
+ .byte $2C,$00,$6C,$00,$8C,$00,$CC,$00 ; AE81 2C 00 6C 00 8C 00 CC 00 ,.l.....
+ .byte $FF ; AE89 FF .
LAE8A: .byte $03,$00,$00,$01,$7C,$01,$01,$00 ; AE8A 03 00 00 01 7C 01 01 00 ....|...
.byte $04,$0C,$AF,$10,$86,$00,$01,$0F ; AE92 04 0C AF 10 86 00 01 0F ........
.byte $FF ; AE9A FF .
@@ -6279,11 +6263,12 @@ LB073: .byte $02,$01,$24,$02,$01,$44,$02,$01 ; B073 02 01 24 02 01 44 02 01
.byte $22,$01,$78,$22,$01,$04,$38,$01 ; B08B 22 01 78 22 01 04 38 01 ".x"..8.
.byte $1C,$46,$01,$78,$42,$01,$04,$52 ; B093 1C 46 01 78 42 01 04 52 .F.xB..R
.byte $01,$58,$52,$01,$98,$52,$01 ; B09B 01 58 52 01 98 52 01 .XR..R.
-LB0A2: .byte $FF,$22,$00,$42,$00,$62,$00,$A2 ; B0A2 FF 22 00 42 00 62 00 A2 .".B.b..
- .byte $00,$C2,$00,$64,$00,$84,$00,$A4 ; B0AA 00 C2 00 64 00 84 00 A4 ...d....
- .byte $00,$46,$00,$A6,$00,$28,$00,$4A ; B0B2 00 46 00 A6 00 28 00 4A .F...(.J
- .byte $00,$AA,$00,$2C,$00,$8C,$00,$CC ; B0BA 00 AA 00 2C 00 8C 00 CC ...,....
- .byte $00,$FF ; B0C2 00 FF ..
+LB0A2: .byte $FF ; B0A2 FF .
+LB0A3: .byte $22,$00,$42,$00,$62,$00,$A2,$00 ; B0A3 22 00 42 00 62 00 A2 00 ".B.b...
+ .byte $C2,$00,$64,$00,$84,$00,$A4,$00 ; B0AB C2 00 64 00 84 00 A4 00 ..d.....
+ .byte $46,$00,$A6,$00,$28,$00,$4A,$00 ; B0B3 46 00 A6 00 28 00 4A 00 F...(.J.
+ .byte $AA,$00,$2C,$00,$8C,$00,$CC,$00 ; B0BB AA 00 2C 00 8C 00 CC 00 ..,.....
+ .byte $FF ; B0C3 FF .
; ----------------------------------------------------------------------------
LB0C4: jsr L8036 ; B0C4 20 36 80 6.
lda #$10 ; B0C7 A9 10 ..
@@ -6462,10 +6447,11 @@ LB237: .byte $04,$02,$01,$38,$02,$01,$7C,$02 ; B237 04 02 01 38 02 01 7C 02
.byte $01,$38,$12,$01,$64,$12,$01,$98 ; B23F 01 38 12 01 64 12 01 98 .8..d...
.byte $12,$01,$04,$22,$01,$98,$39,$01 ; B247 12 01 04 22 01 98 39 01 ..."..9.
.byte $58,$47,$01,$04,$52,$01,$38,$52 ; B24F 58 47 01 04 52 01 38 52 XG..R.8R
- .byte $01,$98,$52,$01,$FF,$22,$00,$62 ; B257 01 98 52 01 FF 22 00 62 ..R..".b
- .byte $00,$A2,$00,$64,$00,$84,$00,$C4 ; B25F 00 A2 00 64 00 84 00 C4 ...d....
- .byte $00,$26,$00,$C8,$00,$8A,$00,$2C ; B267 00 26 00 C8 00 8A 00 2C .&.....,
- .byte $00,$6C,$00,$CC,$00,$FF ; B26F 00 6C 00 CC 00 FF .l....
+ .byte $01,$98,$52,$01,$FF ; B257 01 98 52 01 FF ..R..
+LB25C: .byte $22,$00,$62,$00,$A2,$00,$64,$00 ; B25C 22 00 62 00 A2 00 64 00 ".b...d.
+ .byte $84,$00,$C4,$00,$26,$00,$C8,$00 ; B264 84 00 C4 00 26 00 C8 00 ....&...
+ .byte $8A,$00,$2C,$00,$6C,$00,$CC,$00 ; B26C 8A 00 2C 00 6C 00 CC 00 ..,.l...
+ .byte $FF ; B274 FF .
LB275: .byte $03,$A8,$B2,$0A,$A4,$20,$01,$56 ; B275 03 A8 B2 0A A4 20 01 56 ..... .V
.byte $FF ; B27D FF .
; ----------------------------------------------------------------------------
@@ -6551,11 +6537,11 @@ LB38F: .byte $04,$02,$01,$3A,$02,$01,$5A,$02 ; B38F 04 02 01 3A 02 01 5A 02
.byte $12,$01,$5A,$12,$01,$04,$22,$01 ; B39F 12 01 5A 12 01 04 22 01 ..Z...".
.byte $3A,$22,$01,$04,$32,$01,$78,$32 ; B3A7 3A 22 01 04 32 01 78 32 :"..2.x2
.byte $01,$98,$32,$01,$04,$52,$01,$38 ; B3AF 01 98 32 01 04 52 01 38 ..2..R.8
- .byte $52,$01,$60,$52,$01,$FF,$22,$10 ; B3B7 52 01 60 52 01 FF 22 10 R.`R..".
- .byte $62,$20,$82,$30,$A2,$40,$C2,$50 ; B3BF 62 20 82 30 A2 40 C2 50 b .0.@.P
- .byte $44,$60,$84,$70,$26,$80,$66,$90 ; B3C7 44 60 84 70 26 80 66 90 D`.p&.f.
- .byte $28,$A0,$A8,$B0,$C8,$C0,$2C,$D0 ; B3CF 28 A0 A8 B0 C8 C0 2C D0 (.....,.
- .byte $6C,$E0,$8C,$F0,$FF ; B3D7 6C E0 8C F0 FF l....
+ .byte $52,$01,$60,$52,$01,$FF ; B3B7 52 01 60 52 01 FF R.`R..
+LB3BD: .byte $22,$10,$62,$20,$82,$30,$A2,$40 ; B3BD 22 10 62 20 82 30 A2 40 ".b .0.@
+ .byte $C2,$50,$44,$60,$84,$70,$26,$80 ; B3C5 C2 50 44 60 84 70 26 80 .PD`.p&.
+ .byte $66,$90,$28,$A0,$A8,$B0,$C8,$C0 ; B3CD 66 90 28 A0 A8 B0 C8 C0 f.(.....
+ .byte $2C,$D0,$6C,$E0,$8C,$F0,$FF ; B3D5 2C D0 6C E0 8C F0 FF ,.l....
LB3DC: .byte $00,$00,$FC,$B3,$06,$B4,$10,$B4 ; B3DC 00 00 FC B3 06 B4 10 B4 ........
.byte $06,$B4,$10,$B4,$1A,$B4,$24,$B4 ; B3E4 06 B4 10 B4 1A B4 24 B4 ......$.
.byte $2E,$B4,$38,$B4,$2E,$B4,$38,$B4 ; B3EC 2E B4 38 B4 2E B4 38 B4 ..8...8.
@@ -6710,10 +6696,11 @@ LB5D2: .byte $04,$02,$01,$20,$02,$01,$3C,$02 ; B5D2 04 02 01 20 02 01 3C 02
.byte $02,$01,$04,$22,$01,$98,$22,$01 ; B5E2 02 01 04 22 01 98 22 01 ..."..".
.byte $3C,$36,$01,$60,$36,$01,$04,$52 ; B5EA 3C 36 01 60 36 01 04 52 <6.`6..R
.byte $01,$3C,$52,$01,$60,$52,$01,$98 ; B5F2 01 3C 52 01 60 52 01 98 .<R.`R..
- .byte $52,$01,$FF,$22,$10,$42,$20,$62 ; B5FA 52 01 FF 22 10 42 20 62 R..".B b
- .byte $00,$82,$00,$A2,$30,$C2,$40,$26 ; B602 00 82 00 A2 30 C2 40 26 ....0.@&
- .byte $00,$C6,$00,$68,$00,$88,$00,$2C ; B60A 00 C6 00 68 00 88 00 2C ...h...,
- .byte $00,$6C,$00,$8C,$00,$CC,$00,$FF ; B612 00 6C 00 8C 00 CC 00 FF .l......
+ .byte $52,$01,$FF ; B5FA 52 01 FF R..
+LB5FD: .byte $22,$10,$42,$20,$62,$00,$82,$00 ; B5FD 22 10 42 20 62 00 82 00 ".B b...
+ .byte $A2,$30,$C2,$40,$26,$00,$C6,$00 ; B605 A2 30 C2 40 26 00 C6 00 .0.@&...
+ .byte $68,$00,$88,$00,$2C,$00,$6C,$00 ; B60D 68 00 88 00 2C 00 6C 00 h...,.l.
+ .byte $8C,$00,$CC,$00,$FF ; B615 8C 00 CC 00 FF .....
LB61A: .byte $00,$00,$24,$B6,$2E,$B6,$3E,$B6 ; B61A 00 00 24 B6 2E B6 3E B6 ..$...>.
.byte $4E,$B6,$FE,$49,$9C,$FD,$04,$00 ; B622 4E B6 FE 49 9C FD 04 00 N..I....
.byte $78,$43,$02,$FF,$FE,$49,$9C,$FD ; B62A 78 43 02 FF FE 49 9C FD xC...I..
diff --git a/jumpmanjr.info b/jumpmanjr.info
index f978884..94cdace 100644
--- a/jumpmanjr.info
+++ b/jumpmanjr.info
@@ -609,7 +609,7 @@ label { name "work_level_unkn_table0"; addr $0794; size 2; comment "pointer to R
label { name "work_level_map0"; addr $0796; size 2; comment "map data"; };
label { name "work_level_map1"; addr $0798; size 2; comment "map data"; };
label { name "work_level_bomblist"; addr $079a; size 2; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-label { name "work_level_unkn_table1"; addr $079c; size 2; comment "unknown, pointer to a ROM table or $0000"; };
+label { name "work_level_map_changes"; addr $079c; size 2; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
label { name "work_level_offs_30"; addr $079e; size 2; comment "always $0000"; };
label { name "work_level_sub_bomb"; addr $07a0; size 2; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
label { name "work_level_sub_start"; addr $07a2; size 2; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -639,7 +639,7 @@ label { name "cur_level_unkn_table0"; addr $07d4; size 2; comment "pointer to RO
label { name "cur_level_map0"; addr $07d6; size 2; comment "map data"; };
label { name "cur_level_map1"; addr $07d8; size 2; comment "map data"; };
label { name "cur_level_bomblist"; addr $07da; size 2; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-label { name "cur_level_unkn_table1"; addr $07dc; size 2; comment "unknown, pointer to a ROM table or $0000"; };
+label { name "cur_level_map_changes"; addr $07dc; size 2; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
label { name "cur_level_offs_30"; addr $07de; size 2; comment "always $0000"; };
label { name "cur_level_sub_bomb"; addr $07e0; size 2; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
label { name "cur_level_sub_start"; addr $07e2; size 2; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -668,8 +668,8 @@ range { name "level00_offs_19"; start $a013; end $a013; type bytetable; comment
range { name "level00_unkn_table0"; start $a014; end $a015; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level00_map0"; start $a016; end $a017; type addrtable; comment "map data"; };
range { name "level00_map1"; start $a018; end $a019; type addrtable; comment "map data"; };
-range { name "level00_bomblist"; start $a01a; end $a01b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level00_unkn_table1"; start $a01c; end $a01d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level00_bomblist"; start $a01a; end $a01b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level00_map_changes"; start $a01c; end $a01d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level00_offs_30"; start $a01e; end $a01f; type bytetable; comment "always $0000"; };
range { name "level00_sub_bomb"; start $a020; end $a021; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level00_sub_start"; start $a022; end $a023; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -698,8 +698,8 @@ range { name "level01_offs_19"; start $a053; end $a053; type bytetable; comment
range { name "level01_unkn_table0"; start $a054; end $a055; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level01_map0"; start $a056; end $a057; type addrtable; comment "map data"; };
range { name "level01_map1"; start $a058; end $a059; type addrtable; comment "map data"; };
-range { name "level01_bomblist"; start $a05a; end $a05b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level01_unkn_table1"; start $a05c; end $a05d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level01_bomblist"; start $a05a; end $a05b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level01_map_changes"; start $a05c; end $a05d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level01_offs_30"; start $a05e; end $a05f; type bytetable; comment "always $0000"; };
range { name "level01_sub_bomb"; start $a060; end $a061; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level01_sub_start"; start $a062; end $a063; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -728,8 +728,8 @@ range { name "level02_offs_19"; start $a093; end $a093; type bytetable; comment
range { name "level02_unkn_table0"; start $a094; end $a095; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level02_map0"; start $a096; end $a097; type addrtable; comment "map data"; };
range { name "level02_map1"; start $a098; end $a099; type addrtable; comment "map data"; };
-range { name "level02_bomblist"; start $a09a; end $a09b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level02_unkn_table1"; start $a09c; end $a09d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level02_bomblist"; start $a09a; end $a09b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level02_map_changes"; start $a09c; end $a09d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level02_offs_30"; start $a09e; end $a09f; type bytetable; comment "always $0000"; };
range { name "level02_sub_bomb"; start $a0a0; end $a0a1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level02_sub_start"; start $a0a2; end $a0a3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -758,8 +758,8 @@ range { name "level03_offs_19"; start $a0d3; end $a0d3; type bytetable; comment
range { name "level03_unkn_table0"; start $a0d4; end $a0d5; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level03_map0"; start $a0d6; end $a0d7; type addrtable; comment "map data"; };
range { name "level03_map1"; start $a0d8; end $a0d9; type addrtable; comment "map data"; };
-range { name "level03_bomblist"; start $a0da; end $a0db; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level03_unkn_table1"; start $a0dc; end $a0dd; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level03_bomblist"; start $a0da; end $a0db; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level03_map_changes"; start $a0dc; end $a0dd; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level03_offs_30"; start $a0de; end $a0df; type bytetable; comment "always $0000"; };
range { name "level03_sub_bomb"; start $a0e0; end $a0e1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level03_sub_start"; start $a0e2; end $a0e3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -788,8 +788,8 @@ range { name "level04_offs_19"; start $a113; end $a113; type bytetable; comment
range { name "level04_unkn_table0"; start $a114; end $a115; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level04_map0"; start $a116; end $a117; type addrtable; comment "map data"; };
range { name "level04_map1"; start $a118; end $a119; type addrtable; comment "map data"; };
-range { name "level04_bomblist"; start $a11a; end $a11b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level04_unkn_table1"; start $a11c; end $a11d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level04_bomblist"; start $a11a; end $a11b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level04_map_changes"; start $a11c; end $a11d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level04_offs_30"; start $a11e; end $a11f; type bytetable; comment "always $0000"; };
range { name "level04_sub_bomb"; start $a120; end $a121; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level04_sub_start"; start $a122; end $a123; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -818,8 +818,8 @@ range { name "level05_offs_19"; start $a153; end $a153; type bytetable; comment
range { name "level05_unkn_table0"; start $a154; end $a155; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level05_map0"; start $a156; end $a157; type addrtable; comment "map data"; };
range { name "level05_map1"; start $a158; end $a159; type addrtable; comment "map data"; };
-range { name "level05_bomblist"; start $a15a; end $a15b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level05_unkn_table1"; start $a15c; end $a15d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level05_bomblist"; start $a15a; end $a15b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level05_map_changes"; start $a15c; end $a15d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level05_offs_30"; start $a15e; end $a15f; type bytetable; comment "always $0000"; };
range { name "level05_sub_bomb"; start $a160; end $a161; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level05_sub_start"; start $a162; end $a163; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -848,8 +848,8 @@ range { name "level06_offs_19"; start $a193; end $a193; type bytetable; comment
range { name "level06_unkn_table0"; start $a194; end $a195; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level06_map0"; start $a196; end $a197; type addrtable; comment "map data"; };
range { name "level06_map1"; start $a198; end $a199; type addrtable; comment "map data"; };
-range { name "level06_bomblist"; start $a19a; end $a19b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level06_unkn_table1"; start $a19c; end $a19d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level06_bomblist"; start $a19a; end $a19b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level06_map_changes"; start $a19c; end $a19d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level06_offs_30"; start $a19e; end $a19f; type bytetable; comment "always $0000"; };
range { name "level06_sub_bomb"; start $a1a0; end $a1a1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level06_sub_start"; start $a1a2; end $a1a3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -878,8 +878,8 @@ range { name "level07_offs_19"; start $a1d3; end $a1d3; type bytetable; comment
range { name "level07_unkn_table0"; start $a1d4; end $a1d5; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level07_map0"; start $a1d6; end $a1d7; type addrtable; comment "map data"; };
range { name "level07_map1"; start $a1d8; end $a1d9; type addrtable; comment "map data"; };
-range { name "level07_bomblist"; start $a1da; end $a1db; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level07_unkn_table1"; start $a1dc; end $a1dd; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level07_bomblist"; start $a1da; end $a1db; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level07_map_changes"; start $a1dc; end $a1dd; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level07_offs_30"; start $a1de; end $a1df; type bytetable; comment "always $0000"; };
range { name "level07_sub_bomb"; start $a1e0; end $a1e1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level07_sub_start"; start $a1e2; end $a1e3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -908,8 +908,8 @@ range { name "level08_offs_19"; start $a213; end $a213; type bytetable; comment
range { name "level08_unkn_table0"; start $a214; end $a215; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level08_map0"; start $a216; end $a217; type addrtable; comment "map data"; };
range { name "level08_map1"; start $a218; end $a219; type addrtable; comment "map data"; };
-range { name "level08_bomblist"; start $a21a; end $a21b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level08_unkn_table1"; start $a21c; end $a21d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level08_bomblist"; start $a21a; end $a21b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level08_map_changes"; start $a21c; end $a21d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level08_offs_30"; start $a21e; end $a21f; type bytetable; comment "always $0000"; };
range { name "level08_sub_bomb"; start $a220; end $a221; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level08_sub_start"; start $a222; end $a223; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -938,8 +938,8 @@ range { name "level09_offs_19"; start $a253; end $a253; type bytetable; comment
range { name "level09_unkn_table0"; start $a254; end $a255; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level09_map0"; start $a256; end $a257; type addrtable; comment "map data"; };
range { name "level09_map1"; start $a258; end $a259; type addrtable; comment "map data"; };
-range { name "level09_bomblist"; start $a25a; end $a25b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level09_unkn_table1"; start $a25c; end $a25d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level09_bomblist"; start $a25a; end $a25b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level09_map_changes"; start $a25c; end $a25d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level09_offs_30"; start $a25e; end $a25f; type bytetable; comment "always $0000"; };
range { name "level09_sub_bomb"; start $a260; end $a261; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level09_sub_start"; start $a262; end $a263; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -968,8 +968,8 @@ range { name "level10_offs_19"; start $a293; end $a293; type bytetable; comment
range { name "level10_unkn_table0"; start $a294; end $a295; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level10_map0"; start $a296; end $a297; type addrtable; comment "map data"; };
range { name "level10_map1"; start $a298; end $a299; type addrtable; comment "map data"; };
-range { name "level10_bomblist"; start $a29a; end $a29b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level10_unkn_table1"; start $a29c; end $a29d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level10_bomblist"; start $a29a; end $a29b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level10_map_changes"; start $a29c; end $a29d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level10_offs_30"; start $a29e; end $a29f; type bytetable; comment "always $0000"; };
range { name "level10_sub_bomb"; start $a2a0; end $a2a1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level10_sub_start"; start $a2a2; end $a2a3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -998,8 +998,8 @@ range { name "level11_offs_19"; start $a2d3; end $a2d3; type bytetable; comment
range { name "level11_unkn_table0"; start $a2d4; end $a2d5; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level11_map0"; start $a2d6; end $a2d7; type addrtable; comment "map data"; };
range { name "level11_map1"; start $a2d8; end $a2d9; type addrtable; comment "map data"; };
-range { name "level11_bomblist"; start $a2da; end $a2db; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level11_unkn_table1"; start $a2dc; end $a2dd; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level11_bomblist"; start $a2da; end $a2db; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level11_map_changes"; start $a2dc; end $a2dd; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level11_offs_30"; start $a2de; end $a2df; type bytetable; comment "always $0000"; };
range { name "level11_sub_bomb"; start $a2e0; end $a2e1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level11_sub_start"; start $a2e2; end $a2e3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
diff --git a/leveldesc.info b/leveldesc.info
index 6918a60..d74d21f 100644
--- a/leveldesc.info
+++ b/leveldesc.info
@@ -16,7 +16,7 @@ label { name "work_level_unkn_table0"; addr $0794; size 2; comment "pointer to R
label { name "work_level_map0"; addr $0796; size 2; comment "map data"; };
label { name "work_level_map1"; addr $0798; size 2; comment "map data"; };
label { name "work_level_bomblist"; addr $079a; size 2; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-label { name "work_level_unkn_table1"; addr $079c; size 2; comment "unknown, pointer to a ROM table or $0000"; };
+label { name "work_level_map_changes"; addr $079c; size 2; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
label { name "work_level_offs_30"; addr $079e; size 2; comment "always $0000"; };
label { name "work_level_sub_bomb"; addr $07a0; size 2; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
label { name "work_level_sub_start"; addr $07a2; size 2; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -46,7 +46,7 @@ label { name "cur_level_unkn_table0"; addr $07d4; size 2; comment "pointer to RO
label { name "cur_level_map0"; addr $07d6; size 2; comment "map data"; };
label { name "cur_level_map1"; addr $07d8; size 2; comment "map data"; };
label { name "cur_level_bomblist"; addr $07da; size 2; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-label { name "cur_level_unkn_table1"; addr $07dc; size 2; comment "unknown, pointer to a ROM table or $0000"; };
+label { name "cur_level_map_changes"; addr $07dc; size 2; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
label { name "cur_level_offs_30"; addr $07de; size 2; comment "always $0000"; };
label { name "cur_level_sub_bomb"; addr $07e0; size 2; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
label { name "cur_level_sub_start"; addr $07e2; size 2; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -75,8 +75,8 @@ range { name "level00_offs_19"; start $a013; end $a013; type bytetable; comment
range { name "level00_unkn_table0"; start $a014; end $a015; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level00_map0"; start $a016; end $a017; type addrtable; comment "map data"; };
range { name "level00_map1"; start $a018; end $a019; type addrtable; comment "map data"; };
-range { name "level00_bomblist"; start $a01a; end $a01b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level00_unkn_table1"; start $a01c; end $a01d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level00_bomblist"; start $a01a; end $a01b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level00_map_changes"; start $a01c; end $a01d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level00_offs_30"; start $a01e; end $a01f; type bytetable; comment "always $0000"; };
range { name "level00_sub_bomb"; start $a020; end $a021; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level00_sub_start"; start $a022; end $a023; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -105,8 +105,8 @@ range { name "level01_offs_19"; start $a053; end $a053; type bytetable; comment
range { name "level01_unkn_table0"; start $a054; end $a055; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level01_map0"; start $a056; end $a057; type addrtable; comment "map data"; };
range { name "level01_map1"; start $a058; end $a059; type addrtable; comment "map data"; };
-range { name "level01_bomblist"; start $a05a; end $a05b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level01_unkn_table1"; start $a05c; end $a05d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level01_bomblist"; start $a05a; end $a05b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level01_map_changes"; start $a05c; end $a05d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level01_offs_30"; start $a05e; end $a05f; type bytetable; comment "always $0000"; };
range { name "level01_sub_bomb"; start $a060; end $a061; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level01_sub_start"; start $a062; end $a063; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -135,8 +135,8 @@ range { name "level02_offs_19"; start $a093; end $a093; type bytetable; comment
range { name "level02_unkn_table0"; start $a094; end $a095; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level02_map0"; start $a096; end $a097; type addrtable; comment "map data"; };
range { name "level02_map1"; start $a098; end $a099; type addrtable; comment "map data"; };
-range { name "level02_bomblist"; start $a09a; end $a09b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level02_unkn_table1"; start $a09c; end $a09d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level02_bomblist"; start $a09a; end $a09b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level02_map_changes"; start $a09c; end $a09d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level02_offs_30"; start $a09e; end $a09f; type bytetable; comment "always $0000"; };
range { name "level02_sub_bomb"; start $a0a0; end $a0a1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level02_sub_start"; start $a0a2; end $a0a3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -165,8 +165,8 @@ range { name "level03_offs_19"; start $a0d3; end $a0d3; type bytetable; comment
range { name "level03_unkn_table0"; start $a0d4; end $a0d5; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level03_map0"; start $a0d6; end $a0d7; type addrtable; comment "map data"; };
range { name "level03_map1"; start $a0d8; end $a0d9; type addrtable; comment "map data"; };
-range { name "level03_bomblist"; start $a0da; end $a0db; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level03_unkn_table1"; start $a0dc; end $a0dd; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level03_bomblist"; start $a0da; end $a0db; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level03_map_changes"; start $a0dc; end $a0dd; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level03_offs_30"; start $a0de; end $a0df; type bytetable; comment "always $0000"; };
range { name "level03_sub_bomb"; start $a0e0; end $a0e1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level03_sub_start"; start $a0e2; end $a0e3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -195,8 +195,8 @@ range { name "level04_offs_19"; start $a113; end $a113; type bytetable; comment
range { name "level04_unkn_table0"; start $a114; end $a115; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level04_map0"; start $a116; end $a117; type addrtable; comment "map data"; };
range { name "level04_map1"; start $a118; end $a119; type addrtable; comment "map data"; };
-range { name "level04_bomblist"; start $a11a; end $a11b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level04_unkn_table1"; start $a11c; end $a11d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level04_bomblist"; start $a11a; end $a11b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level04_map_changes"; start $a11c; end $a11d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level04_offs_30"; start $a11e; end $a11f; type bytetable; comment "always $0000"; };
range { name "level04_sub_bomb"; start $a120; end $a121; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level04_sub_start"; start $a122; end $a123; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -225,8 +225,8 @@ range { name "level05_offs_19"; start $a153; end $a153; type bytetable; comment
range { name "level05_unkn_table0"; start $a154; end $a155; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level05_map0"; start $a156; end $a157; type addrtable; comment "map data"; };
range { name "level05_map1"; start $a158; end $a159; type addrtable; comment "map data"; };
-range { name "level05_bomblist"; start $a15a; end $a15b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level05_unkn_table1"; start $a15c; end $a15d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level05_bomblist"; start $a15a; end $a15b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level05_map_changes"; start $a15c; end $a15d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level05_offs_30"; start $a15e; end $a15f; type bytetable; comment "always $0000"; };
range { name "level05_sub_bomb"; start $a160; end $a161; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level05_sub_start"; start $a162; end $a163; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -255,8 +255,8 @@ range { name "level06_offs_19"; start $a193; end $a193; type bytetable; comment
range { name "level06_unkn_table0"; start $a194; end $a195; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level06_map0"; start $a196; end $a197; type addrtable; comment "map data"; };
range { name "level06_map1"; start $a198; end $a199; type addrtable; comment "map data"; };
-range { name "level06_bomblist"; start $a19a; end $a19b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level06_unkn_table1"; start $a19c; end $a19d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level06_bomblist"; start $a19a; end $a19b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level06_map_changes"; start $a19c; end $a19d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level06_offs_30"; start $a19e; end $a19f; type bytetable; comment "always $0000"; };
range { name "level06_sub_bomb"; start $a1a0; end $a1a1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level06_sub_start"; start $a1a2; end $a1a3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -285,8 +285,8 @@ range { name "level07_offs_19"; start $a1d3; end $a1d3; type bytetable; comment
range { name "level07_unkn_table0"; start $a1d4; end $a1d5; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level07_map0"; start $a1d6; end $a1d7; type addrtable; comment "map data"; };
range { name "level07_map1"; start $a1d8; end $a1d9; type addrtable; comment "map data"; };
-range { name "level07_bomblist"; start $a1da; end $a1db; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level07_unkn_table1"; start $a1dc; end $a1dd; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level07_bomblist"; start $a1da; end $a1db; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level07_map_changes"; start $a1dc; end $a1dd; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level07_offs_30"; start $a1de; end $a1df; type bytetable; comment "always $0000"; };
range { name "level07_sub_bomb"; start $a1e0; end $a1e1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level07_sub_start"; start $a1e2; end $a1e3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -315,8 +315,8 @@ range { name "level08_offs_19"; start $a213; end $a213; type bytetable; comment
range { name "level08_unkn_table0"; start $a214; end $a215; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level08_map0"; start $a216; end $a217; type addrtable; comment "map data"; };
range { name "level08_map1"; start $a218; end $a219; type addrtable; comment "map data"; };
-range { name "level08_bomblist"; start $a21a; end $a21b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level08_unkn_table1"; start $a21c; end $a21d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level08_bomblist"; start $a21a; end $a21b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level08_map_changes"; start $a21c; end $a21d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level08_offs_30"; start $a21e; end $a21f; type bytetable; comment "always $0000"; };
range { name "level08_sub_bomb"; start $a220; end $a221; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level08_sub_start"; start $a222; end $a223; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -345,8 +345,8 @@ range { name "level09_offs_19"; start $a253; end $a253; type bytetable; comment
range { name "level09_unkn_table0"; start $a254; end $a255; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level09_map0"; start $a256; end $a257; type addrtable; comment "map data"; };
range { name "level09_map1"; start $a258; end $a259; type addrtable; comment "map data"; };
-range { name "level09_bomblist"; start $a25a; end $a25b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level09_unkn_table1"; start $a25c; end $a25d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level09_bomblist"; start $a25a; end $a25b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level09_map_changes"; start $a25c; end $a25d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level09_offs_30"; start $a25e; end $a25f; type bytetable; comment "always $0000"; };
range { name "level09_sub_bomb"; start $a260; end $a261; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level09_sub_start"; start $a262; end $a263; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -375,8 +375,8 @@ range { name "level10_offs_19"; start $a293; end $a293; type bytetable; comment
range { name "level10_unkn_table0"; start $a294; end $a295; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level10_map0"; start $a296; end $a297; type addrtable; comment "map data"; };
range { name "level10_map1"; start $a298; end $a299; type addrtable; comment "map data"; };
-range { name "level10_bomblist"; start $a29a; end $a29b; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level10_unkn_table1"; start $a29c; end $a29d; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level10_bomblist"; start $a29a; end $a29b; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level10_map_changes"; start $a29c; end $a29d; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level10_offs_30"; start $a29e; end $a29f; type bytetable; comment "always $0000"; };
range { name "level10_sub_bomb"; start $a2a0; end $a2a1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level10_sub_start"; start $a2a2; end $a2a3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
@@ -405,8 +405,8 @@ range { name "level11_offs_19"; start $a2d3; end $a2d3; type bytetable; comment
range { name "level11_unkn_table0"; start $a2d4; end $a2d5; type addrtable; comment "pointer to ROM table or $06xx"; };
range { name "level11_map0"; start $a2d6; end $a2d7; type addrtable; comment "map data"; };
range { name "level11_map1"; start $a2d8; end $a2d9; type addrtable; comment "map data"; };
-range { name "level11_bomblist"; start $a2da; end $a2db; type bytetable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
-range { name "level11_unkn_table1"; start $a2dc; end $a2dd; type addrtable; comment "unknown, pointer to a ROM table or $0000"; };
+range { name "level11_bomblist"; start $a2da; end $a2db; type addrtable; comment "addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF."; };
+range { name "level11_map_changes"; start $a2dc; end $a2dd; type addrtable; comment "address of list of addresses of map data, used for changing the map when certain bombs are picked up"; };
range { name "level11_offs_30"; start $a2de; end $a2df; type bytetable; comment "always $0000"; };
range { name "level11_sub_bomb"; start $a2e0; end $a2e1; type addrtable; comment "called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine"; };
range { name "level11_sub_start"; start $a2e2; end $a2e3; type addrtable; comment "called at start of level, $06E6 for some levels, or else a ROM subroutine"; };
diff --git a/mklevelinfo.pl b/mklevelinfo.pl
index 1f1996f..2e481e1 100644
--- a/mklevelinfo.pl
+++ b/mklevelinfo.pl
@@ -19,7 +19,7 @@
22 => [ 2, 'map0', 'map data' ],
24 => [ 2, 'map1', 'map data' ],
26 => [ 2, 'bomblist', 'addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.' ],
- 28 => [ 2, 'unkn_table1', 'unknown, pointer to a ROM table or $0000' ],
+ 28 => [ 2, 'map_changes', 'address of list of addresses of map data, used for changing the map when certain bombs are picked up' ],
30 => [ 2, 'offs', 'always $0000' ],
32 => [ 2, 'sub_bomb', 'called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine' ],
34 => [ 2, 'sub_start', 'called at start of level, $06E6 for some levels, or else a ROM subroutine' ],
@@ -74,7 +74,7 @@ for $level (-610,-609,0..11) {
}
$type = 'bytetable';
- if(($label =~ /^sub/) or ($label =~ /^map/) or ($label =~ /^unkn_table/)) {
+ if(($label eq 'bomblist') or ($label =~ /^sub/) or ($label =~ /^map/) or ($label =~ /^unkn_table/)) {
$type = 'addrtable';
}