aboutsummaryrefslogtreecommitdiff
path: root/jumpmanjr.info
diff options
context:
space:
mode:
Diffstat (limited to 'jumpmanjr.info')
-rw-r--r--jumpmanjr.info133
1 files changed, 106 insertions, 27 deletions
diff --git a/jumpmanjr.info b/jumpmanjr.info
index 0bf6eca..da90ca8 100644
--- a/jumpmanjr.info
+++ b/jumpmanjr.info
@@ -52,8 +52,8 @@ label { name "update_score_display"; addr $8CBC; comment "also adds extra life e
label { name "update_score_display_jv"; addr $800C; comment "also adds extra life every 7500 points"; };
label { name "score_mod_1m"; addr $B7C0; comment "roll over the score if it's >= 1 million"; };
label { name "score_below_1m"; addr $B7EE; };
-label { name "level08_letters"; addr $AF58; comment "called at end of Spellbound, adds up letter bonus"; };
-label { name "l08_got_all"; addr $AF5E; comment "got all the bombs"; };
+label { name "spellbound_letters"; addr $AF58; comment "called at end of Spellbound, adds up letter bonus"; };
+label { name "spellbound_got_all"; addr $AF5E; comment "got all the bombs"; };
label { name "bonus_250_pts"; addr $AF96; comment "per letter"; };
label { name "epyx_jumpman"; addr $AEAF; comment "letters for level08, spellbound (not ASCII or screencodes though)"; };
@@ -296,7 +296,7 @@ label { name "play_hellstone_sfx"; addr $A88D; };
label { name "sfx_hellstone"; addr $a90d; };
range { name "total_score_msg"; start $bdd2; end $bdf1; type bytetable; comment "screen codes, displayed by well_done_screen"; };
range { name "zero_filler_8588"; start $B588; end $B58f; type bytetable; };
-range { name "data_b590"; start $B590; end $B690; type bytetable; };
+#range { name "data_b590"; start $B590; end $B690; type bytetable; };
range { name "wind_table_1"; start $B76B; end $b7bf; type bytetable; comment "used in level12"; };
label { name "wind_table_2"; addr $b771; };
label { name "electrocution_bomb_pickup"; addr $A498; comment "not sure what this actually does"; };
@@ -317,21 +317,101 @@ label { name "l01_map_change_2"; addr $a3c2; };
label { name "l01_map_change_3"; addr $a3cc; };
range { name "zero_filler_a3d6"; start $a3d6; end $a3df; type bytetable; comment "probably just filler"; };
-range { name "l02_map"; start $A3e0; end $a497; type bytetable; comment "level map data starts here"; };
+range { name "l02_map"; start $A3e0; end $a445; type bytetable; comment "level map data starts here"; };
+range { name "l02_map_bombs"; start $A446; end $a476; type bytetable; };
+range { name "l02_bombs"; start $A477; end $a496; type bytetable; };
+range { name "l02_bombs_term"; start $A497; end $a497; type bytetable; };
+
+range { name "data_a542"; start $A542; end $A5EF; type bytetable; comment "dunno, referenced by electrocution_bomb_pickup"; };
+range { name "l03_map"; start $A5F0; end $a62e; type bytetable; comment "level map data starts here"; };
+range { name "l03_map_bombs"; start $a62f; end $a653; type bytetable; };
+range { name "l03_bombs"; start $a654; end $a66b; type bytetable; };
+range { name "l03_bombs_term"; start $a66c; end $a66c; type bytetable; };
+range { name "l03_unkn"; start $a66d; end $a684; type bytetable; };
range { name "sfx_electrocution"; start $A52D; end $A53C; type bytetable; };
-range { name "data_a542"; start $A542; end $A68B; type bytetable; comment "dunno, referenced by electrocution_bomb_pickup"; };
-range { name "dumbwaiter_player"; start $a782; end $A826; type bytetable; comment "the dumbwaiters from level03. stored upside-down."; };
-label { name "dw_platform_player"; addr $A685; comment "horizontally moving platforms from level03"; };
-range { name "data_table_a8fd"; start $a8fd; end $A9C5; type bytetable; comment "dunno, referenced by routine at $A8D4"; };
+range { name "dumbwaiter_player"; start $a782; end $a78f; type bytetable; comment "the dumbwaiters from level03. stored upside-down. trailing 00's might just be filler."; };
+range { name "dw_platform_player"; start $A685; end $a68b; type bytetable; comment "horizontally moving platforms from level03"; };
+
+range { name "l04_map"; start $a790; end $a7d4; type bytetable; comment "level map data starts here"; };
+range { name "l04_map_bombs"; start $a7d5; end $a805; type bytetable; };
+range { name "l04_bombs"; start $a806; end $a825; type bytetable; };
+range { name "l04_bombs_term"; start $a826; end $a826; type bytetable; };
+
+range { name "l05_map"; start $aad0; end $ab41; type bytetable; comment "level map data starts here"; };
+range { name "l05_map_bombs"; start $ab42; end $ab6c; type bytetable; };
+range { name "l05_bombs"; start $ab6d; end $ab88; type bytetable; };
+range { name "l05_bombs_term"; start $ab89; end $ab89; type bytetable; };
+range { name "l05_map_changes"; start $ab8a; end $ac5f; type bytetable; };
+
+range { name "data_table_a8fd"; start $a8fd; end $a91f; type bytetable; comment "dunno, referenced by routine at $A8D4"; };
+range { name "l06_map"; start $a920; end $a973; type bytetable; };
+range { name "l06_map_bombs"; start $a974; end $a9a4; type bytetable; };
+range { name "l06_bombs"; start $a9a5; end $a9c4; type bytetable; };
+range { name "l06_bombs_term"; start $a9c5; end $a9c5; type bytetable; };
+
+range { name "l07_map"; start $ac60; end $acb9; type bytetable; };
+range { name "l07_map_bombs"; start $acba; end $ace4; type bytetable; };
+range { name "l07_bombs"; start $ace5; end $ad00; type bytetable; };
+range { name "l07_bombs_term"; start $ad01; end $ad01; type bytetable; };
+range { name "l07_map_changes"; start $ad02; end $ad67; type bytetable; };
+
+range { name "data_table_adc7"; start $adc7; end $addf; type bytetable; comment "dunno, referenced by routines at $AD9E and $ADB5"; };
+range { name "l08_map"; start $ade0; end $ae4b; type bytetable; };
+range { name "l08_map_bombs"; start $ae4c; end $ae70; type bytetable; };
+range { name "l08_bombs"; start $ae71; end $ae88; type bytetable; };
+range { name "l08_bombs_term"; start $ae89; end $ae89; type bytetable; };
+range { name "l08_unkn0"; start $ae8a; end $ae9a; type bytetable; };
+label { name "spellbound_bomb_sub"; addr $AF23; };
+label { name "spellbound_init"; addr $AE9B; };
+
+range { name "l09_real_map"; start $b000; end $b0a2; type bytetable; comment "blackout doesn't draw the map initially"; };
+#range { name "l09_map"; start $b0a2; end $b0a2; type bytetable; comment "blackout doesn't draw the map initially"; };
+#range { name "l09_map_bombs"; start $b072; end $b0a2; type bytetable; };
+label { name "l09_map_bombs"; addr $b072; size $21; };
+range { name "l09_bombs"; start $b0a3; end $b0c2; type bytetable; };
+range { name "l09_bombs_term"; start $b0c3; end $b0c3; type bytetable; };
+label { name "l09_map"; addr $b0a2; comment "blackout doesn't draw the map initially"; };
+label { name "blackout_bomb_sub"; addr $B121; };
+label { name "blackout_init"; addr $B0C4; };
+label { name "blackout_sub0"; addr $B140; };
+
+label { name "herethere_sub0"; addr $B27E; };
+label { name "herethere_sub3"; addr $B2E0; };
+range { name "zero_filler_b1df"; start $b1df; end $b1df; type bytetable; };
+range { name "l10_map"; start $B1E0; end $b236; type bytetable; };
+range { name "l10_map_bombs"; start $b237; end $b25b; type bytetable; };
+range { name "l10_bombs"; start $b25c; end $b273; type bytetable; };
+range { name "l10_bombs_term"; start $b274; end $b274; type bytetable; };
+range { name "l10_unkn0"; start $b275; end $b27d; type bytetable; };
+label { name "herethere_bomb_sub"; addr $B2FD; };
+
+label { name "hatch_sub0"; addr $B457; };
+label { name "hatch_sub1"; addr $B581; };
+label { name "hatch_sub3"; addr $B57C; };
+range { name "l11_map"; start $B320; end $b38e; type bytetable; };
+range { name "l11_map_bombs"; start $B38F; end $B3BC; type bytetable; };
+range { name "l11_bombs"; start $B3BD; end $b3da; type bytetable; };
+range { name "l11_bombs_term"; start $b3db; end $b3db; type bytetable; };
+range { name "l11_map_changes"; start $B3DC; end $b44b; type bytetable; };
+label { name "hatch_bomb_sub"; addr $B44C; };
+
+label { name "hurr_sub0"; addr $b691; };
+label { name "hurr_sub1"; addr $b69b; };
+label { name "hurr_sub2"; addr $B709; };
+range { name "l12_map"; start $b590; end $b5d1; type bytetable; };
+range { name "l12_map_bombs"; start $b5d2; end $b5fc; type bytetable; };
+range { name "l12_bombs"; start $b5fd; end $b618; type bytetable; };
+range { name "l12_bombs_term"; start $b619; end $b619; type bytetable; };
+range { name "l12_map_changes"; start $b61a; end $b657; type bytetable; };
+range { name "l12_unkn0"; start $b658; end $b690; type bytetable; };
+
range { name "map_aa90"; start $aa90; end $aabb; type bytetable; comment "dunno what this is for yet"; };
-range { name "map_aac8"; start $aac8; end $AD67; type bytetable; comment "dunno what this is for yet"; };
+range { name "map_aac8"; start $aac8; end $aacf; type bytetable; comment "dunno what this is for yet"; };
label { name "map_aaa6"; addr $aaa6; comment "referenced by routine at $AA82"; };
-range { name "data_table_adc7"; start $adc7; end $AE9A; type bytetable; comment "dunno, referenced by routines at $AD9E and $ADB5"; };
range { name "data_table_aea4"; start $aea4; end $af0f; type bytetable; comment "dunno"; };
-range { name "sfx_letter_bonus"; start $AFCB; end $b0c3; type bytetable; comment "played once per correct letter at end of level08 (spellbound)"; };
+range { name "sfx_letter_bonus"; start $AFCB; end $afff; type bytetable; comment "played once per correct letter at end of level08 (spellbound)"; };
label { name "cue_letter_sfx"; addr $AFB9; comment "play sfx_letter_bonus"; };
-label { name "map_b000"; addr $b000; comment "referenced by routine at $B0C4"; };
label { name "stub"; addr $8405; comment "just an RTS"; };
range { name "data_table_85b6"; start $85b6; end $85bd; type bytetable; comment "used in vblank_imm_isr, not sure for what yet"; };
label { name "page6_initial_vectors_minus_one"; addr $85d3; comment "1-indexed"; };
@@ -358,10 +438,9 @@ label { name "sh_up_rope"; addr $9cc9; };
label { name "sh_down_rope"; addr $9cda; };
label { name "sh_9ceb"; addr $9ceb; comment "dunno what this is yet"; };
range { name "sprite_table"; start $9d00; end $9dff; type bytetable; comment "jumpman's animation frames and other sprites, seem to be 10 bytes per sprite"; };
-range { name "sxf_b319"; start $b319; end $B44B; type bytetable; comment "referenced by routine at $B2FD"; };
-range { name "data_table_b1df"; start $b1df; end $B27d; type bytetable; comment "dunno what this is for yet"; };
+range { name "sxf_b319"; start $b319; end $b31f; type bytetable; comment "referenced by routine at $B2FD"; };
range { name "data_table_b2a8"; start $b2a8; end $B2df; type bytetable; comment "dunno what this is for yet"; };
-range { name "data_table_b50b"; start $b50b; end $B57b; type bytetable; comment "dunno what this is for yet"; };
+range { name "hatch_table_b50b"; start $b50b; end $B57b; type bytetable; comment "dunno what this is for yet"; };
range { name "scores_screen_dlist"; start $8C52; end $8C67; type bytetable; comment "a GR.2-ish DL, with DLIs, screen mem at $3000, for player scores screen"; };
label { name "reyalp_msg_minus_one"; addr $8c67; };
label { name "show_reyalp_msg"; addr $8BC0; comment "shows PLAYER (backwards loop)"; };
@@ -677,7 +756,7 @@ label { name "cur_level_offs_55"; addr $07f7; size 3; comment "unknown, always $
label { name "cur_level_offs_58"; addr $07fa; size 2; comment "unknown, not a ROM address"; };
label { name "cur_level_offs_60"; addr $07fc; size 4; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level01_desc"; start $a000; end $a001; type bytetable; comment "64-byte level descriptors, 12 of them (1 per level). first 2 bytes are level number in screencodes"; };
+range { name "level01_desc"; start $a000; end $a001; type bytetable; comment "64-byte level descriptors, 12 of them (1 per level). Descriptor for Nothing To It. first 2 bytes are level number in screencodes"; };
range { name "level01_sub0"; start $a002; end $a003; type addrtable; comment "a subroutine"; };
range { name "level01_sub1"; start $a004; end $a005; type addrtable; comment "a subroutine"; };
range { name "level01_sub2"; start $a006; end $a007; type addrtable; comment "a subroutine"; };
@@ -711,7 +790,7 @@ range { name "level01_offs_55"; start $a037; end $a039; type bytetable; comment
range { name "level01_offs_58"; start $a03a; end $a03b; type bytetable; comment "unknown, not a ROM address"; };
range { name "level01_offs_60"; start $a03c; end $a03f; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level02_desc"; start $a040; end $a041; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level02_desc"; start $a040; end $a041; type bytetable; comment "Descriptor for Electrocution. first 2 bytes are level number in screencodes"; };
range { name "level02_sub0"; start $a042; end $a043; type addrtable; comment "a subroutine"; };
range { name "level02_sub1"; start $a044; end $a045; type addrtable; comment "a subroutine"; };
range { name "level02_sub2"; start $a046; end $a047; type addrtable; comment "a subroutine"; };
@@ -745,7 +824,7 @@ range { name "level02_offs_55"; start $a077; end $a079; type bytetable; comment
range { name "level02_offs_58"; start $a07a; end $a07b; type bytetable; comment "unknown, not a ROM address"; };
range { name "level02_offs_60"; start $a07c; end $a07f; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level03_desc"; start $a080; end $a081; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level03_desc"; start $a080; end $a081; type bytetable; comment "Descriptor for Dumbwaiter. first 2 bytes are level number in screencodes"; };
range { name "level03_sub0"; start $a082; end $a083; type addrtable; comment "a subroutine"; };
range { name "level03_sub1"; start $a084; end $a085; type addrtable; comment "a subroutine"; };
range { name "level03_sub2"; start $a086; end $a087; type addrtable; comment "a subroutine"; };
@@ -779,7 +858,7 @@ range { name "level03_offs_55"; start $a0b7; end $a0b9; type bytetable; comment
range { name "level03_offs_58"; start $a0ba; end $a0bb; type bytetable; comment "unknown, not a ROM address"; };
range { name "level03_offs_60"; start $a0bc; end $a0bf; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level04_desc"; start $a0c0; end $a0c1; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level04_desc"; start $a0c0; end $a0c1; type bytetable; comment "Descriptor for Hellstones. first 2 bytes are level number in screencodes"; };
range { name "level04_sub0"; start $a0c2; end $a0c3; type addrtable; comment "a subroutine"; };
range { name "level04_sub1"; start $a0c4; end $a0c5; type addrtable; comment "a subroutine"; };
range { name "level04_sub2"; start $a0c6; end $a0c7; type addrtable; comment "a subroutine"; };
@@ -813,7 +892,7 @@ range { name "level04_offs_55"; start $a0f7; end $a0f9; type bytetable; comment
range { name "level04_offs_58"; start $a0fa; end $a0fb; type bytetable; comment "unknown, not a ROM address"; };
range { name "level04_offs_60"; start $a0fc; end $a0ff; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level05_desc"; start $a100; end $a101; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level05_desc"; start $a100; end $a101; type bytetable; comment "Descriptor for Figurits Revenge. first 2 bytes are level number in screencodes"; };
range { name "level05_sub0"; start $a102; end $a103; type addrtable; comment "a subroutine"; };
range { name "level05_sub1"; start $a104; end $a105; type addrtable; comment "a subroutine"; };
range { name "level05_sub2"; start $a106; end $a107; type addrtable; comment "a subroutine"; };
@@ -847,7 +926,7 @@ range { name "level05_offs_55"; start $a137; end $a139; type bytetable; comment
range { name "level05_offs_58"; start $a13a; end $a13b; type bytetable; comment "unknown, not a ROM address"; };
range { name "level05_offs_60"; start $a13c; end $a13f; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level06_desc"; start $a140; end $a141; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level06_desc"; start $a140; end $a141; type bytetable; comment "Descriptor for Walls. first 2 bytes are level number in screencodes"; };
range { name "level06_sub0"; start $a142; end $a143; type addrtable; comment "a subroutine"; };
range { name "level06_sub1"; start $a144; end $a145; type addrtable; comment "a subroutine"; };
range { name "level06_sub2"; start $a146; end $a147; type addrtable; comment "a subroutine"; };
@@ -881,7 +960,7 @@ range { name "level06_offs_55"; start $a177; end $a179; type bytetable; comment
range { name "level06_offs_58"; start $a17a; end $a17b; type bytetable; comment "unknown, not a ROM address"; };
range { name "level06_offs_60"; start $a17c; end $a17f; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level07_desc"; start $a180; end $a181; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level07_desc"; start $a180; end $a181; type bytetable; comment "Descriptor for Zig-Zag. first 2 bytes are level number in screencodes"; };
range { name "level07_sub0"; start $a182; end $a183; type addrtable; comment "a subroutine"; };
range { name "level07_sub1"; start $a184; end $a185; type addrtable; comment "a subroutine"; };
range { name "level07_sub2"; start $a186; end $a187; type addrtable; comment "a subroutine"; };
@@ -915,7 +994,7 @@ range { name "level07_offs_55"; start $a1b7; end $a1b9; type bytetable; comment
range { name "level07_offs_58"; start $a1ba; end $a1bb; type bytetable; comment "unknown, not a ROM address"; };
range { name "level07_offs_60"; start $a1bc; end $a1bf; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level08_desc"; start $a1c0; end $a1c1; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level08_desc"; start $a1c0; end $a1c1; type bytetable; comment "Descriptor for Spellbound. first 2 bytes are level number in screencodes"; };
range { name "level08_sub0"; start $a1c2; end $a1c3; type addrtable; comment "a subroutine"; };
range { name "level08_sub1"; start $a1c4; end $a1c5; type addrtable; comment "a subroutine"; };
range { name "level08_sub2"; start $a1c6; end $a1c7; type addrtable; comment "a subroutine"; };
@@ -949,7 +1028,7 @@ range { name "level08_offs_55"; start $a1f7; end $a1f9; type bytetable; comment
range { name "level08_offs_58"; start $a1fa; end $a1fb; type bytetable; comment "unknown, not a ROM address"; };
range { name "level08_offs_60"; start $a1fc; end $a1ff; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level09_desc"; start $a200; end $a201; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level09_desc"; start $a200; end $a201; type bytetable; comment "Descriptor for Blackout. first 2 bytes are level number in screencodes"; };
range { name "level09_sub0"; start $a202; end $a203; type addrtable; comment "a subroutine"; };
range { name "level09_sub1"; start $a204; end $a205; type addrtable; comment "a subroutine"; };
range { name "level09_sub2"; start $a206; end $a207; type addrtable; comment "a subroutine"; };
@@ -983,7 +1062,7 @@ range { name "level09_offs_55"; start $a237; end $a239; type bytetable; comment
range { name "level09_offs_58"; start $a23a; end $a23b; type bytetable; comment "unknown, not a ROM address"; };
range { name "level09_offs_60"; start $a23c; end $a23f; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level10_desc"; start $a240; end $a241; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level10_desc"; start $a240; end $a241; type bytetable; comment "Descriptor for HereThereEverywhere. first 2 bytes are level number in screencodes"; };
range { name "level10_sub0"; start $a242; end $a243; type addrtable; comment "a subroutine"; };
range { name "level10_sub1"; start $a244; end $a245; type addrtable; comment "a subroutine"; };
range { name "level10_sub2"; start $a246; end $a247; type addrtable; comment "a subroutine"; };
@@ -1017,7 +1096,7 @@ range { name "level10_offs_55"; start $a277; end $a279; type bytetable; comment
range { name "level10_offs_58"; start $a27a; end $a27b; type bytetable; comment "unknown, not a ROM address"; };
range { name "level10_offs_60"; start $a27c; end $a27f; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level11_desc"; start $a280; end $a281; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level11_desc"; start $a280; end $a281; type bytetable; comment "Descriptor for Hatchlings. first 2 bytes are level number in screencodes"; };
range { name "level11_sub0"; start $a282; end $a283; type addrtable; comment "a subroutine"; };
range { name "level11_sub1"; start $a284; end $a285; type addrtable; comment "a subroutine"; };
range { name "level11_sub2"; start $a286; end $a287; type addrtable; comment "a subroutine"; };
@@ -1051,7 +1130,7 @@ range { name "level11_offs_55"; start $a2b7; end $a2b9; type bytetable; comment
range { name "level11_offs_58"; start $a2ba; end $a2bb; type bytetable; comment "unknown, not a ROM address"; };
range { name "level11_offs_60"; start $a2bc; end $a2bf; type bytetable; comment "unknown, level06 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00"; };
-range { name "level12_desc"; start $a2c0; end $a2c1; type bytetable; comment "first 2 bytes are level number in screencodes"; };
+range { name "level12_desc"; start $a2c0; end $a2c1; type bytetable; comment "Descriptor for Hurricane. first 2 bytes are level number in screencodes"; };
range { name "level12_sub0"; start $a2c2; end $a2c3; type addrtable; comment "a subroutine"; };
range { name "level12_sub1"; start $a2c4; end $a2c5; type addrtable; comment "a subroutine"; };
range { name "level12_sub2"; start $a2c6; end $a2c7; type addrtable; comment "a subroutine"; };