diff options
Diffstat (limited to 'main.info')
-rw-r--r-- | main.info | 35 |
1 files changed, 30 insertions, 5 deletions
@@ -94,14 +94,29 @@ label { name "number_names_2"; addr $95e5; size 4; comment "N W R O" label { name "number_names_3"; addr $95e9; size 4; comment "E O E U"; }; label { name "number_names_4"; addr $95ed; size 4; comment "space space E R"; }; label { name "sfx_select_key"; addr $95f1; comment "played when select key pressed, 4 notes, descending"; }; -label { name "missiles_mask_table_minus_one"; addr $82df; }; label { name "set_dma_ctl"; addr $838F; comment "std playfield, enable players + missiles, single-line p/m res, DMA enabled"; }; range { name "level_names"; start $BB00; end $bbef; type bytetable; }; range { name "pm_memory"; start $2800; end $2fff; type bytetable; }; -range { name "missiles_mask_table"; start $82e0; end $82E7; type bytetable; }; +range { name "missiles_and_masks"; start $82e0; end $82E7; type bytetable; }; +label { name "missiles_and_masks_minus_one"; addr $82df; }; +label { name "missiles_or_masks"; addr $82e4; }; +label { name "missiles_or_masks_minus_one"; addr $82e3; }; range { name "missiles_done"; start $82DD; end $82df; type code; }; range { name "position_missiles"; start $8293; end $82DA; type code; }; +label { name "pm_next"; addr $8295; }; +label { name "skip_pos"; addr $82A6; }; +label { name "next_plr"; addr $82F3; }; +label { name "skip_vert"; addr $8338; }; +label { name "cb1_loop"; addr $83F2; }; +label { name "check_speed_timer"; addr $846E; }; +label { name "check_time_bonus"; addr $847E; }; +label { name "copy_level_vecs"; addr $84D9; comment "copy work_level vectors to page 6"; }; +label { name "next_vec"; addr $84DB; }; +label { name "skip_vec"; addr $84EE; }; +label { name "skip_dli"; addr $853B; }; +label { name "no_consol_pressed"; addr $858D; comment "this probably is what rotates the PLAYER SPEED prompt colors. not sure what it's doing with the page 6 vectors."; }; + range { name "charset"; start $9e00; end $9ff9; type bytetable; comment "GR.1/2 font, 512 bytes"; }; range { name "game_display_list"; start $0881; end $08e3; type bytetable; comment "display list for game board"; }; range { name "title_display_list"; start $91B3; end $91ce; type bytetable; comment "display list for title screen"; }; @@ -189,7 +204,8 @@ label { name "set_bullet_dir"; addr $8EA7; size 1; comment "initial direction (b label { name "fire_bullet"; addr $8EEF; size 1; comment "fire! Y reg indexes table of directions"; }; label { name "player_y_pos"; addr $0683; size 1; comment "$C6 is the bottom of the level (where you end up when you die)"; }; label { name "player_x_pos"; addr $067E; size 1; comment "stored in HPOSP0"; }; -label { name "bullet_x_pos"; addr $069B; size 4; comment "4 bytes, meaning we can never have >4 bullets on screen at once (makes sense, GTIA only has 4 missiles)"; }; +label { name "bullet_x_pos"; addr $069B; size 1; comment "4 bytes, meaning we can never have >4 bullets on screen at once (makes sense, GTIA only has 4 missiles)"; }; +label { name "bullet_y_pos_minus_one"; addr $069E; }; label { name "bullet_y_pos"; addr $069F; size 4; comment "another 4 bytes"; }; label { name "bullet_flags"; addr $0756; size 4; comment "4 bytes, 0 = bullet slot not in use, non-0 = bullet active"; }; label { name "bullet_x_delta"; addr $075A; size 4; comment "4 bytes"; }; @@ -260,7 +276,14 @@ label { name "sfx_next_note"; addr $817D; size 1; }; label { name "sfx_player_entry"; addr $8157; size 1; comment "we have 4 slots (because POKEY has 4 voices), X counts down by 2 from 10 to 2 (at 0, the loop exits)"; }; label { name "next_sfx_slot"; addr $815F; size 1; }; label { name "sfx_exit"; addr $815E; size 1; }; -label { name "is_slot_active"; addr $8163; size 1; comment "skip it, if slot is inactive"; }; +label { name "is_slot_active"; addr $8168; size 1; comment "skip it, if slot is inactive"; }; +label { name "cpos_hi_ok"; addr $8223; }; +label { name "lp_ok"; addr $8248; comment "copy to sfx_ptr, fall thru to cue_sfx"; }; +label { name "next_slot"; addr $825D; }; +label { name "load_slot"; addr $8266; comment "found a free slot, use it"; }; +label { name "bump_slot"; addr $8281; comment "couldn't find a free slot, look for a used slot with lower priority than this sfx has"; }; +label { name "bump_try_next"; addr $8283; comment "until we find one, or ran out of slots to look at"; }; +label { name "bump_fail"; addr $8285; comment "branch to cue_done (give up) if all slots are in use with higher priority than this sfx (which means it won't be heard)"; }; label { name "sfx_slot_timer"; addr $063F; size 1; }; label { name "sfx_slot_duration"; addr $0646; size 1; }; label { name "sfx_play_note"; addr $8206; size 1; comment "y==0, a>=4 on entry"; }; @@ -815,7 +838,9 @@ label { name "dm_screen_addr"; addr $C4; size 2; comment "points to byte to writ label { name "calc_screen_addr"; addr $80D0; size 1; comment "calculate 40 * dm_y_with_offset + dm_x_with_offset + screen mem address, store in dm_screen_addr"; }; label { name "sa_hi_ok_1"; addr $80FD; size 1; }; label { name "mul40_loop"; addr $80DA; size 1; }; -label { name "sa_hi_ok_2"; addr $8138; size 1; }; +label { name "mul40_no_add"; addr $80E1; size 1; }; +label { name "calc_pixels"; addr $8107; size 1; }; +label { name "sa_hi_ok_2"; addr $813C; size 1; }; label { name "sa_tmp_1"; addr $BD; size 1; comment "used by calc_screen_addr"; }; label { name "sa_tmp_2"; addr $C8; size 1; comment "used by calc_screen_addr"; }; label { name "store_rts"; addr $83B6; comment "store an RTS at $06E6, which will get JSR'ed to by unused level subroutines"; }; |