aboutsummaryrefslogtreecommitdiff
path: root/main.info
diff options
context:
space:
mode:
Diffstat (limited to 'main.info')
-rw-r--r--main.info33
1 files changed, 25 insertions, 8 deletions
diff --git a/main.info b/main.info
index deaf9ce..f8e6718 100644
--- a/main.info
+++ b/main.info
@@ -225,13 +225,17 @@ range { name "sfx15"; start $BABC; end $BAE9; type bytetable; comment "level int
range { name "sfx16"; start $BAEA; end $BAFF; type bytetable; comment "level intro music, bass"; };
range { name "code_8f38"; start $8F38; end $8F42; type code; };
-range { name "try_to_write_rom_again"; start $9126; end $9133; type code; comment "see comment at try_to_write_rom"; };
+range { name "try_to_write_rom_again"; start $9126; end $9133; type code; comment "see comment at try_to_write_rom. this writes something else to the block character in the font, which causes the graphics corruption on cracked disk versions. it doesn't seem to actually hurt anything though."; };
range { name "code_adb5"; start $ADB5; end $adc0; type code; };
range { name "code_adc1"; start $adc1; end $adc3; type code; };
-range { name "data_9134"; start $9134; end $9139; type bytetable; };
-label { name "maybe_data"; addr $913A; comment "this might be more data for the above table instead of code?"; };
-label { name "probly_code"; addr $913D; comment "this probably really is code"; };
-label { name "illegal_nop"; addr $AF1B; comment "NMOS 6502 illegal opcode, NOP zp"; };
+label { name "replacement_block_char_minus_one"; addr $9133; comment "1-indexed..."; };
+range { name "replacement_block_char"; start $9134; end $913b; type bytetable; };
+label { name "title_screen_color_snd"; addr $913c; comment "rotate colors and play the descending tone as the letters appear on the title screen"; };
+label { name "ts_setup_sub0"; addr $905f; comment "set work_level_sub0 to title_screen_color_snd"; };
+label { name "ts_clear_sub0"; addr $9114; comment "set work_level_sub0 to $06e6 (just an RTS)"; };
+label { name "demo_mode"; addr $B96B; comment "display all the levels, happens if left idle at the title screen"; };
+label { name "show_letter"; addr $9160; comment "$3000 is screen memory, at this point"; };
+label { name "title_letters"; addr $928F; comment "JUMPMAN JUNIOR in screen codes with high bit set"; };
range { name "data_9afc"; start $9AFC; end $9aff; type bytetable; };
range { name "num_player_dli_service"; start $9578; end $959a; type code; comment "DLI service routine, changes COLPF2, address gets stored in $6ae/$6af by code at $944e"; };
range { name "dli_service_2"; start $bdc7; end $bdd1; type code; comment "DLI service routine, changes COLBK, address gets stored in $6ae/$6af by code at $bc3c"; };
@@ -258,18 +262,29 @@ range { name "zero_filler_8e67"; start $8e67; end $8e68; type bytetable; };
range { name "zero_filler_8dcd"; start $8dcd; end $8dcd; type bytetable; };
range { name "code_bccd"; start $bccd; end $bcd8; type code; comment "dunno, but referenced by code at $BC6A (part of well_done_screen)"; };
range { name "well_done_map"; start $bcd9; end $bd51; type bytetable; comment "level map used for the WELL DONE screen, when you beat level 12"; };
+label { name "well_done_scores"; addr $8D52; comment "well_done_screen jumps here via work_level_sub1"; };
+label { name "wd_wait_scores"; addr $BC92; comment "wait for score screen to finish (I think, anyway)"; };
range { name "well_done_shape"; start $bda0; end $bdc6; type bytetable; comment "used to draw the large WELL DONE banner"; };
-range { name "total_score_msg"; start $bdd2; end $bdf1; type bytetable; comment "not sure what displays this, but it's screen codes"; };
+label { name "total_score_msg_minus_one"; addr $bdd1; comment "1-indexed"; };
+label { name "dumbwaiter_sub0"; addr $A6BD; comment "gets called every frame"; };
+label { name "dumbwaiter_sub3"; addr $A724; comment "gets called every frame"; };
+label { name "dumbwaiter_setup"; addr $A68C; comment "gets called at start of level"; };
+label { name "hellstones_sub0"; addr $A836; };
+label { name "hellstones_sub3"; addr $A827; };
+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 $B696; type bytetable; };
range { name "wind_table_1"; start $B76B; end $b7bf; type bytetable; comment "used in level11"; };
label { name "wind_table_2"; addr $b771; };
+label { name "electrocution_bomb_pickup"; addr $A498; comment "not sure what this actually does"; };
label { name "electrocution_done"; addr $A4DD; comment "turn off electrocution effect (?)"; };
label { name "electrocute"; addr $A509; comment "electrocution effect"; };
label { name "level02_collisions"; addr $A53D; comment "skip a couple of the collision regs, so we don't register a collision when Jumpman is being electrocuted"; };
label { name "start_jump"; addr $99A0; comment "start jumping, play sfx_jump"; };
range { name "level00_map"; start $A300; end $a497; type bytetable; comment "level map data starts here"; };
range { name "sfx_electrocution"; start $A52D; end $A53C; type bytetable; };
-range { name "data_table_a542"; start $A542; end $A68B; type bytetable; comment "dunno, referenced by routine at $A498"; };
+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 level02. stored upside-down."; };
label { name "dw_platform_player"; addr $A685; comment "horizontally moving platforms from level02"; };
range { name "data_table_a8fd"; start $a8fd; end $A9C6; type bytetable; comment "dunno, referenced by routine at $A8D4"; };
@@ -342,7 +357,7 @@ range { name "blank_dlist_8aeb"; start $8AEB; end $8aed; type bytetable; comment
range { name "blank_dlist_8c82"; start $8C82; end $8C84; type bytetable; comment "looks like an empty jump-to-itself dlist"; };
label { name "init_game"; addr $9000; comment "called from cart_entry_point routine"; };
label { name "reinit_game"; addr $900C; comment "this entry point doesn't disable start/option keys"; };
-label { name "try_to_write_rom"; addr $9022; comment "seems to try to write $FF bytes to ROM that already contains $FF's (it's the solid block character in the font). possibly left over from early development before conversion to cartridge"; };
+label { name "try_to_write_rom"; addr $9022; comment "seems to try to write $FF bytes to ROM that already contains $FF's (it's the solid block character in the font). possibly left over from early development before conversion to cartridge."; };
label { name "setup_select_key_vec"; addr $901b; comment "set select key vector to ask_num_players at $9400, enable select key"; };
label { name "setup_select_key_vec_again"; addr $9517; comment "set select key vector to ask_num_players at $9400, enable select key"; };
label { name "disable_start_opt"; addr $94EC; comment "disable start and option keys"; };
@@ -455,6 +470,7 @@ label { name "set_y"; addr $8F9B; size 1; comment "y = a * 5; // offset into mus
label { name "show_level_name"; addr $BA5D; size 1; comment "copy level name into screen RAM"; };
label { name "sync_to_music"; addr $BA71; size 1; comment "level is already drawn with all color regs set to black. for each color reg, wait 1 sec before turning it visible. this syncs up with the music because the music was written to sync with this actually"; };
label { name "wait_1_sec"; addr $BA9E; size 1; comment "actually 64 jiffies, 1.067S ntsc, 1.28s pal"; };
+label { name "wait_1_sec_2"; addr $B970; size 1; comment "actually 64 jiffies, 1.067S ntsc, 1.28s pal"; };
label { name "keep_waiting"; addr $BAA3; size 1; };
label { name "enable_joystick"; addr $8775; size 1; comment "called after level-intro music is finished playing"; };
label { name "enable_joystick_jv"; addr $801B; size 1; comment "called after level-intro music is finished playing"; };
@@ -494,6 +510,7 @@ label { name "crumble_gameboard_jv"; addr $8030; comment "just lost your last li
label { name "init_page_7"; addr $9A5C; };
label { name "init_page_7_jv"; addr $8024; };
range { name "data_9a71"; start $9A71; end $9a7b; type bytetable; comment "used by code above"; };
+range { name "data_af10"; start $AF10; end $AF1B; type bytetable; comment "looks almost like code but it's bogus"; };
range { name "l_equals"; start $8CFD; end $8CFF; type bytetable; comment "L= (for lives display)"; };
label { name "add_extra_life"; addr $8CE4; comment "plays sfx_extra_life"; };
label { name "show_l_equals"; addr $8CCE; comment "L= (for lives display)"; };