From f7f574ac965d20a30a173fb8ff46c5275ef82687 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Wed, 31 Aug 2016 16:20:42 -0400 Subject: more bomb stuff --- jumpmanjr.dasm | 223 +++++++++++++++++++++++++++------------------------------ jumpmanjr.info | 52 +++++++------- leveldesc.info | 52 +++++++------- mklevelinfo.pl | 4 +- 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.. .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 .. .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'; } -- cgit v1.2.3