aboutsummaryrefslogtreecommitdiff
path: root/main.info
diff options
context:
space:
mode:
Diffstat (limited to 'main.info')
-rw-r--r--main.info26
1 files changed, 23 insertions, 3 deletions
diff --git a/main.info b/main.info
index d8b71aa..c558d97 100644
--- a/main.info
+++ b/main.info
@@ -115,12 +115,19 @@ label { name "check_collisions_3"; addr $9832; size 1; comment "movement/jumping
label { name "special_init"; addr $8B23; comment "various levels use this as their init, or use an init that calls this"; };
label { name "special_init_jv"; addr $8036; comment "various levels use this as their init, or use an init that calls this"; };
+label { name "si_clear"; addr $8B27; comment "clear memory from $0760 to $077f"; };
+label { name "special_init_2"; addr $8B2D; comment "special_init that doesn't clear memory. does anything use this entry point?"; };
+label { name "special_init_2_jv"; addr $8039; comment "special_init that doesn't clear memory. unused vector?"; };
label { name "next_player"; addr $9AAA; comment "used in multiplayer games, also called in single player (?)"; };
label { name "next_player_jv"; addr $8027; comment "used in multiplayer games, also called in single player (?)"; };
label { name "mul_player_11"; addr $9A7C; comment "multiply current player number by 11, return result in Y"; };
label { name "add_11"; addr $9A82; };
label { name "return_y"; addr $9A8A; };
label { name "save_struct_player"; addr $9A8C; };
+label { name "setup_blank_dlist"; addr $8AE0; comment "show blank screen with empty display list"; };
+label { name "setup_blank_dlist_jv"; addr $803C; comment "show blank screen with empty display list"; };
+label { name "draw_level"; addr $BA00; comment "calls draw_map, plays level intro music, shows level name"; };
+label { name "draw_level_jv"; addr $802A; comment "calls draw_map, plays level intro music, shows level name"; };
label { name "mid_jump"; addr $99A8; size 1; comment "check & see if we're done jumping"; };
label { name "continue_jump"; addr $99BD; size 1; comment "we're in mid-jump and didn't hit anything, keep going"; };
@@ -309,6 +316,7 @@ range { name "falling_table_1"; start $8a39; end $8a7f; type bytetable; };
label { name "falling_table_2"; addr $8A42; };
label { name "play_sfx_death"; addr $8936; };
range { name "data_table_86da"; start $86da; end $8713; type bytetable; };
+label { name "pnum_subtractors"; addr $8702; size 18; comment "3 bytes per table entry"; };
range { name "level_name_hscrol_table"; start $BBF0; end $BBff; type bytetable; comment "used for centering level name on gameboard"; };
range { name "zero_filler_b8bf"; start $b8bf; end $b96a; type bytetable; };
range { name "zero_filler_b7f1"; start $B7F1; end $B7FF; type bytetable; };
@@ -463,8 +471,8 @@ range { name "sfx_letter_bonus"; start $AFCB; end $afff; type bytetable; comment
label { name "cue_letter_sfx"; addr $AFB9; comment "play sfx_letter_bonus"; };
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"; };
label { name "page6_vectors_minus_one"; addr $05ff; comment "1-indexed"; };
+label { name "page6_initial_vectors_minus_one"; addr $85dd; comment "1-indexed"; };
range { name "page6_initial_vectors"; start $85de; end $85f5; type addrtable; comment "copied into page 6 by init_hardware"; };
label { name "page6_vectors"; addr $0600; size 24; comment "initialized with page6_initial_vectors"; };
label { name "zigzag_sub0"; addr $AD68; comment "move bullets in ways that defy the laws of physics and common sense"; };
@@ -588,6 +596,7 @@ label { name "init_page6_loop"; addr $837e; };
# these are so far only for player 1
label { name "number_of_players"; addr $06f4; size 1; comment "0 for single-player game, otherwise range 1-3 (2 to 4 players)"; };
+label { name "score_minus_one"; addr $06ff; size 1; };
label { name "score"; addr $0700; size 3; };
label { name "level"; addr $06f6; size 1; };
label { name "lives"; addr $070a; size 1; };
@@ -707,8 +716,19 @@ label { name "update_status_window"; addr $8694; comment "bottom 2 GR.1 lines on
label { name "update_status_window_jv"; addr $8012; comment "bottom 2 GR.1 lines on the game board"; };
label { name "setup_gameboard_dlist"; addr $9B00; comment "for some reason there are 2 copies of the display list, at $0800 and $0881"; };
label { name "setup_gameboard_dlist_jv"; addr $8015; comment "for some reason there are 2 copies of the display list, at $0800 and $0881"; };
-label { name "xxx_level_something"; addr $8600; comment "gets called after the level is drawn & the intro music stops, and also during the level (?)"; };
-label { name "xxx_level_something_jv"; addr $8009; comment "gets called after the level is drawn & the intro music stops, and also during the level (?)"; };
+label { name "print_number"; addr $8600; comment "convert the 3-byte integer stored at num_in to screen codes, store into memory pointed to by num_out"; };
+label { name "print_number_jv"; addr $8009; comment "convert the 3-byte integer stored at num_in to screen codes, store into memory pointed to by num_out"; };
+label { name "num_tmp"; addr $0665; size 1; comment "temp used by print_number"; };
+label { name "num_in"; addr $D0; size 3; comment "print_number input. 3-byte number (LSB first as usual) to be printed"; };
+label { name "num_out"; addr $D3; size 2; comment "area of (screen) memory where print_number stores its output"; };
+label { name "num_color"; addr $D5; size 1; comment "print_number adds this to numeric screencode output. normally 0, set to $80 on the end-of-game screen."; };
+label { name "print_bonus"; addr $867E; comment "print remaining bonus time; work_level_points_per_bomb should read work_level_time_bonus-1"; };
+label { name "print_bonus_jv"; addr $800F; comment "print remaining bonus time"; };
+label { name "pnum_done"; addr $8667; };
+label { name "next_digit"; addr $8607; comment "starts at 0, gets added to"; };
+label { name "print_score"; addr $8668; };
+label { name "ps_loop"; addr $8672; };
+label { name "pb_loop"; addr $8688; };
label { name "draw_map"; addr $8049; comment "the entry point for parsing the level map and drawing graphics from it. see level_maps.txt. caller must set $C0/$C1 to the address of the map data. modders beware: bogus map data can & will cause infinite loops."; };
label { name "draw_map_jv"; addr $8000; comment "the entry point for parsing the level map and drawing graphics from it. see level_maps.txt."; };
label { name "dm_get_opcode"; addr $804B; comment "$C0/$C1 points to $A300 (level01_desc) on the first call"; };