diff options
author | B. Watson <yalhcru@gmail.com> | 2016-09-05 19:02:33 -0400 |
---|---|---|
committer | B. Watson <yalhcru@gmail.com> | 2016-09-05 19:02:33 -0400 |
commit | 1274f667a830927f0af7c17c134b923da51b7670 (patch) | |
tree | adbab6d2879553a3a9c390452e3ad8967d2da4c0 | |
parent | 088a8d3bc2af6a5c53b0b7cee2f7c00ffa5a7041 (diff) | |
download | jumpmanjr-1274f667a830927f0af7c17c134b923da51b7670.tar.gz |
crumbling screen, rearrange info file
-rw-r--r-- | jumpmanjr.dasm | 29 | ||||
-rw-r--r-- | jumpmanjr.info | 55 | ||||
-rw-r--r-- | main.info | 55 |
3 files changed, 74 insertions, 65 deletions
diff --git a/jumpmanjr.dasm b/jumpmanjr.dasm index af4e7ba..77b2963 100644 --- a/jumpmanjr.dasm +++ b/jumpmanjr.dasm @@ -1,5 +1,5 @@ ; da65 V2.15 - Git 104f898 -; Created: 2016-09-05 16:35:55 +; Created: 2016-09-05 19:01:23 ; Input file: jumpmanjr.rom ; Page: 1 @@ -1225,7 +1225,6 @@ page6_initial_vectors: .addr check_falling_2 ; 85F2 00 89 .. .addr sfx_player_entry ; 85F4 57 81 W. ; ---------------------------------------------------------------------------- -; probably just filler zero_filler_85f6: .byte $00,$00,$00,$00,$00,$00,$00,$00 ; 85F6 00 00 00 00 00 00 00 00 ........ .byte $00,$00 ; 85FE 00 00 .. @@ -2201,17 +2200,24 @@ extra_life_points: crumble_gameboard: jsr enable_joystick_jv ; 8D00 20 1B 80 .. lda #$86 ; 8D03 A9 86 .. +; $86 = distortion 8, volume 6 +cgb_audc: sta AUDC1 ; 8D05 8D 01 D2 ... -L8D08: lda RANDOM ; 8D08 AD 0A D2 ... +; store random N-blank-lines instruction at head of display list +shake_screen: + lda RANDOM ; 8D08 AD 0A D2 ... and #$70 ; 8D0B 29 70 )p sta $0801 ; 8D0D 8D 01 08 ... sta game_display_list ; 8D10 8D 81 08 ... lda RANDOM ; 8D13 AD 0A D2 ... +; random frequency +crumble_sound: sta AUDF1 ; 8D16 8D 00 D2 ... -L8D19: lda RANDOM ; 8D19 AD 0A D2 ... +; get random number 0 to 12 +rand_0c:lda RANDOM ; 8D19 AD 0A D2 ... and #$1F ; 8D1C 29 1F ). cmp #$0D ; 8D1E C9 0D .. - bcs L8D19 ; 8D20 B0 F7 .. + bcs rand_0c ; 8D20 B0 F7 .. sta $AA ; 8D22 85 AA .. asl a ; 8D24 0A . clc ; 8D25 18 . @@ -2235,7 +2241,7 @@ L8D43: ora $3370,y ; 8D43 19 70 33 cpy #$28 ; 8D4A C0 28 .( bne L8D43 ; 8D4C D0 F5 .. cmp #$00 ; 8D4E C9 00 .. - bne L8D08 ; 8D50 D0 B6 .. + bne shake_screen ; 8D50 D0 B6 .. ; well_done_screen jumps here via work_level_sub1 well_done_scores: lda #$00 ; 8D52 A9 00 .. @@ -3338,13 +3344,13 @@ L966E: lda jiffy_timer_2 ; 966E AD 1B 06 cmp #$F2 ; 9671 C9 F2 .. bne L966E ; 9673 D0 F9 .. L9675: ldx #$00 ; 9675 A2 00 .. -; copy level descriptor to $0780 -copy_level_desc_2: +; copy cur_level_desc to work_level_desc. done in between players, in a multiplayer game (so each player starts out with a fresh level) +copy_work_level_desc: lda cur_level_desc,x ; 9677 BD C0 07 ... sta work_level_desc,x ; 967A 9D 80 07 ... inx ; 967D E8 . cpx #$40 ; 967E E0 40 .@ - bne copy_level_desc_2 ; 9680 D0 F5 .. + bne copy_work_level_desc ; 9680 D0 F5 .. ; call start subroutine for current level init_level: lda work_level_init ; 9682 AD A2 07 ... @@ -3383,7 +3389,7 @@ enter_level: jmp ask_num_players ; 96CB 4C 00 94 L.. ; ---------------------------------------------------------------------------- -; copy level descriptor from levelXX_desc at $A000+(level*$40) to $07c0-$07ff +; copy level descriptor from levelXX_desc at $A000+(level*$40) to cur_level_desc at $07c0-$07ff copy_level_desc: lsr a ; 96CE 4A J ror $D7 ; 96CF 66 D7 f. @@ -3434,8 +3440,10 @@ get_ready_msg: .byte $00,$30,$2C,$21,$39,$25,$32,$00 ; 9714 00 30 2C 21 39 25 32 00 .0,!9%2. .byte $00,$00,$27,$25,$34,$00,$32,$25 ; 971C 00 00 27 25 34 00 32 25 ..'%4.2% .byte $21,$24,$39 ; 9724 21 24 39 !$9 +; 1-indexed color0_table_minus_one: .byte $00 ; 9727 00 . +; background colors for GET READY screen (different for each player) color0_table: .byte $96,$24,$C6,$54 ; 9728 96 24 C6 54 .$.T ; 112 blank scanlines, then one GR.2 line, loaded from $0742 @@ -5662,7 +5670,6 @@ l01_map_change_2: l01_map_change_3: .byte $FE,$49,$9C,$FD,$04,$00,$60,$25 ; A3CC FE 49 9C FD 04 00 60 25 .I....`% .byte $05,$FF ; A3D4 05 FF .. -; probably just filler zero_filler_a3d6: .byte $00,$00,$00,$00,$00,$00,$00,$00 ; A3D6 00 00 00 00 00 00 00 00 ........ .byte $00,$00 ; A3DE 00 00 .. diff --git a/jumpmanjr.info b/jumpmanjr.info index 43ca99f..ae933ef 100644 --- a/jumpmanjr.info +++ b/jumpmanjr.info @@ -11,11 +11,27 @@ GLOBAL { COMMENTS 4; }; -#SEGMENT { START $8000; END $BFFF; NAME "jumpmanjr"; }; +ASMINC { FILE "jumpmanjr.inc"; }; # TODO: get rid of -ASMINC { FILE "jumpmanjr.inc"; }; - -# RANGE { START $whatever; END $whatever; TYPE Code|ByteTable|AddrTable|RtsTable; } +label { name "zero_filler_9a48"; addr $9a48; }; +range { name "zero_filler_8588"; start $B588; end $B58f; type bytetable; }; +range { name "zero_filler_85f6"; start $85f6; end $85ff; type bytetable; }; +range { name "zero_filler_88be"; start $88BE; end $88C7; type bytetable; }; +range { name "zero_filler_88f9"; start $88F9; end $88FF; type bytetable; }; +range { name "zero_filler_8aee"; start $8aee; end $8afd; type bytetable; }; +range { name "zero_filler_8b00"; start $8b00; end $8b22; type bytetable; }; +range { name "zero_filler_8cb4"; start $8cb4; end $8cbb; type bytetable; }; +range { name "zero_filler_8d97"; start $8D97; end $8D9F; type bytetable; }; +range { name "zero_filler_8dcd"; start $8dcd; end $8dcd; type bytetable; }; +range { name "zero_filler_8e67"; start $8e67; end $8e68; type bytetable; }; +range { name "zero_filler_97f0"; start $97F0; end $97FF; type bytetable; }; +range { name "zero_filler_9bcc"; start $9bcc; end $9bcf; type bytetable; }; +range { name "zero_filler_9bff"; start $9bff; end $9bff; type bytetable; }; +range { name "zero_filler_a3d6"; start $a3d6; end $a3df; type bytetable; }; +range { name "zero_filler_b1df"; start $b1df; end $b1df; type bytetable; }; +range { name "zero_filler_b7f1"; start $B7F1; end $B7FF; type bytetable; }; +range { name "zero_filler_b8bf"; start $b8bf; end $b96a; type bytetable; }; +range { name "zero_filler_baab"; start $baab; end $babb; type bytetable; }; label { name "cart_start_stub"; addr $8AFE; }; label { name "cart_entry_point"; addr $8ac0; }; @@ -33,10 +49,10 @@ label { name "mj_done"; addr $97DB; }; label { name "game_main_loop"; addr $9740; }; range { name "random_9b"; start $9BC6; end $9BC6; type bytetable; comment "filler, or leftover after a binary patch?"; }; -label { name "copy_level_desc_2"; addr $9677; comment "copy level descriptor to $0780"; }; +label { name "copy_work_level_desc"; addr $9677; comment "copy cur_level_desc to work_level_desc. done in between players, in a multiplayer game (so each player starts out with a fresh level)"; }; label { name "randomize_level"; addr $9BED; comment "only after beating levels 1-12 in order"; }; label { name "enter_level"; addr $96BA; comment "maybe this should be check_level or init_level?"; }; -label { name "copy_level_desc"; addr $96CE; comment "copy level descriptor from levelXX_desc at $A000+(level*$40) to $07c0-$07ff"; }; +label { name "copy_level_desc"; addr $96CE; comment "copy level descriptor from levelXX_desc at $A000+(level*$40) to cur_level_desc at $07c0-$07ff"; }; label { name "randomizer_mode"; addr $06F3; comment "only after beating levels 1-12 in order"; }; label { name "init_loop"; addr $8ac4; comment "clear pages 6 and 7"; }; @@ -71,7 +87,6 @@ range { name "map_draw_1_blank"; start $8406; end $840c; type bytetable; comment label { name "copy_blank_1_map"; addr $83F0; comment "stub => map_draw_1_blank-1"; }; range { name "jump_delta_x_table"; start $9a1c; end $9A5B; type bytetable; comment "used by continue_jump, the amount of X movement per frame of jumping (for either direction, left or right)"; }; label { name "jump_delta_y_table"; addr $9A32; comment "used by continue_jump, amount of Y movement per frame ($FE is -2, or 2 scanlines up, $02 is 2 scanlines down)"; }; -label { name "zero_filler_9a48"; addr $9a48; }; label { name "jump_delta_x_table_minus_one"; addr $9A1B; comment "1-indexed..."; }; label { name "jump_delta_y_table_minus_one"; addr $9A31; comment "1-indexed..."; }; label { name "is_jump_done"; addr $99AE; comment "$15 aka 21 frames?"; }; @@ -352,20 +367,6 @@ label { name "play_sfx_death"; addr $8936; }; range { name "status_window_contents"; start $86da; end $8713; type bytetable; comment "40 bytes, or 2 GR.1 lines of screen codes"; }; 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; }; -range { name "zero_filler_9bcc"; start $9bcc; end $9bcf; type bytetable; }; -range { name "zero_filler_baab"; start $baab; end $babb; type bytetable; }; -range { name "zero_filler_97f0"; start $97F0; end $97FF; type bytetable; }; -range { name "zero_filler_8d97"; start $8D97; end $8D9F; type bytetable; }; -range { name "zero_filler_8cb4"; start $8cb4; end $8cbb; type bytetable; }; -range { name "zero_filler_8b00"; start $8b00; end $8b22; type bytetable; }; -range { name "zero_filler_8aee"; start $8aee; end $8afd; type bytetable; }; -range { name "zero_filler_88f9"; start $88F9; end $88FF; type bytetable; }; -range { name "zero_filler_88be"; start $88BE; end $88C7; type bytetable; }; -range { name "zero_filler_9bff"; start $9bff; end $9bff; type bytetable; }; -range { name "zero_filler_8e67"; start $8e67; end $8e68; type bytetable; }; -range { name "zero_filler_8dcd"; start $8dcd; end $8dcd; type bytetable; }; 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)"; }; @@ -384,7 +385,6 @@ 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 $B58f; 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; }; @@ -404,7 +404,6 @@ range { name "l01_map_change_0"; start $A3AE; end $a3d5; type bytetable; }; label { name "l01_map_change_1"; addr $a3b8; }; 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 $a445; type bytetable; comment "level map data starts here"; }; range { name "l02_map_bombs"; start $A446; end $a476; type bytetable; }; @@ -474,7 +473,6 @@ label { name "blackout_sub0"; addr $B140; comment "copies pixels from rendered r 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; }; @@ -520,12 +518,11 @@ label { name "zigzag_sub0"; addr $AD68; comment "move bullets in ways that defy label { name "no_bullet"; addr $8E75; }; label { name "want_bullet"; addr $8E76; comment "create a bullet unless there are already max_bullets of them"; }; label { name "next_bullet_slot"; addr $8E78; }; -range { name "zero_filler_85f6"; start $85f6; end $85ff; type bytetable; comment "probably just filler"; }; range { name "movement_direction_table"; start $85be; end $85dd; type wordtable; comment "X/Y movement, indexed by joystick_state << 1, each entry is XXYY, $FF is -1"; }; range { name "get_ready_msg"; start $9714; end $9726; type bytetable; comment "PLAYER GET READY"; }; range { name "pcolor0_table"; start $8B7B; end $8b7f; type bytetable; }; -range { name "color0_table"; start $9728; end $972b; type bytetable; }; -range { name "color0_table_minus_one"; start $9727; end $9727; type bytetable; }; +range { name "color0_table"; start $9728; end $972b; type bytetable; comment "background colors for GET READY screen (different for each player)"; }; +range { name "color0_table_minus_one"; start $9727; end $9727; type bytetable; comment "1-indexed"; }; range { name "level_gfx"; start $9C21; end $9cff; type bytetable; comment "definitions for level graphics objects aka shapes. (girder segment, ladder, rope, etc)"; }; label { name "sh_girder"; addr $9C33; comment "3 rows of pixels. 1st: 04 = 4 pixels wide, 00 00 = no X/Y offset, 01 01 01 01 = actual pixel data (4 color0 pixels). see level_maps.txt"; }; label { name "sh_black_4x3"; addr $9C49; comment "all the bombs on blackout are drawn as this"; }; @@ -782,6 +779,10 @@ label { name "wds1_cont"; addr $BD58; comment "we seem to be setting/clearing bi label { name "wds1_finish"; addr $BD81; comment "set things up for the next level?"; }; label { name "crumble_gameboard"; addr $8D00; comment "just lost your last life"; }; label { name "crumble_gameboard_jv"; addr $8030; comment "just lost your last life"; }; +label { name "cgb_audc"; addr $8D05; comment "$86 = distortion 8, volume 6"; }; +label { name "shake_screen"; addr $8D08; comment "store random N-blank-lines instruction at head of display list"; }; +label { name "crumble_sound"; addr $8D16; comment "random frequency"; }; +label { name "rand_0c"; addr $8D19; comment "get random number 0 to 12"; }; label { name "init_struct_users"; addr $9A5C; comment "work_user and struct_user_{1..4}, 11 * 5 (55 aka $37) bytes"; }; label { name "init_struct_users_jv"; addr $8024; }; label { name "isu_next_su"; addr $9A5E; }; @@ -9,11 +9,27 @@ GLOBAL { COMMENTS 4; }; -#SEGMENT { START $8000; END $BFFF; NAME "jumpmanjr"; }; +ASMINC { FILE "jumpmanjr.inc"; }; # TODO: get rid of -ASMINC { FILE "jumpmanjr.inc"; }; - -# RANGE { START $whatever; END $whatever; TYPE Code|ByteTable|AddrTable|RtsTable; } +label { name "zero_filler_9a48"; addr $9a48; }; +range { name "zero_filler_8588"; start $B588; end $B58f; type bytetable; }; +range { name "zero_filler_85f6"; start $85f6; end $85ff; type bytetable; }; +range { name "zero_filler_88be"; start $88BE; end $88C7; type bytetable; }; +range { name "zero_filler_88f9"; start $88F9; end $88FF; type bytetable; }; +range { name "zero_filler_8aee"; start $8aee; end $8afd; type bytetable; }; +range { name "zero_filler_8b00"; start $8b00; end $8b22; type bytetable; }; +range { name "zero_filler_8cb4"; start $8cb4; end $8cbb; type bytetable; }; +range { name "zero_filler_8d97"; start $8D97; end $8D9F; type bytetable; }; +range { name "zero_filler_8dcd"; start $8dcd; end $8dcd; type bytetable; }; +range { name "zero_filler_8e67"; start $8e67; end $8e68; type bytetable; }; +range { name "zero_filler_97f0"; start $97F0; end $97FF; type bytetable; }; +range { name "zero_filler_9bcc"; start $9bcc; end $9bcf; type bytetable; }; +range { name "zero_filler_9bff"; start $9bff; end $9bff; type bytetable; }; +range { name "zero_filler_a3d6"; start $a3d6; end $a3df; type bytetable; }; +range { name "zero_filler_b1df"; start $b1df; end $b1df; type bytetable; }; +range { name "zero_filler_b7f1"; start $B7F1; end $B7FF; type bytetable; }; +range { name "zero_filler_b8bf"; start $b8bf; end $b96a; type bytetable; }; +range { name "zero_filler_baab"; start $baab; end $babb; type bytetable; }; label { name "cart_start_stub"; addr $8AFE; }; label { name "cart_entry_point"; addr $8ac0; }; @@ -31,10 +47,10 @@ label { name "mj_done"; addr $97DB; }; label { name "game_main_loop"; addr $9740; }; range { name "random_9b"; start $9BC6; end $9BC6; type bytetable; comment "filler, or leftover after a binary patch?"; }; -label { name "copy_level_desc_2"; addr $9677; comment "copy level descriptor to $0780"; }; +label { name "copy_work_level_desc"; addr $9677; comment "copy cur_level_desc to work_level_desc. done in between players, in a multiplayer game (so each player starts out with a fresh level)"; }; label { name "randomize_level"; addr $9BED; comment "only after beating levels 1-12 in order"; }; label { name "enter_level"; addr $96BA; comment "maybe this should be check_level or init_level?"; }; -label { name "copy_level_desc"; addr $96CE; comment "copy level descriptor from levelXX_desc at $A000+(level*$40) to $07c0-$07ff"; }; +label { name "copy_level_desc"; addr $96CE; comment "copy level descriptor from levelXX_desc at $A000+(level*$40) to cur_level_desc at $07c0-$07ff"; }; label { name "randomizer_mode"; addr $06F3; comment "only after beating levels 1-12 in order"; }; label { name "init_loop"; addr $8ac4; comment "clear pages 6 and 7"; }; @@ -69,7 +85,6 @@ range { name "map_draw_1_blank"; start $8406; end $840c; type bytetable; comment label { name "copy_blank_1_map"; addr $83F0; comment "stub => map_draw_1_blank-1"; }; range { name "jump_delta_x_table"; start $9a1c; end $9A5B; type bytetable; comment "used by continue_jump, the amount of X movement per frame of jumping (for either direction, left or right)"; }; label { name "jump_delta_y_table"; addr $9A32; comment "used by continue_jump, amount of Y movement per frame ($FE is -2, or 2 scanlines up, $02 is 2 scanlines down)"; }; -label { name "zero_filler_9a48"; addr $9a48; }; label { name "jump_delta_x_table_minus_one"; addr $9A1B; comment "1-indexed..."; }; label { name "jump_delta_y_table_minus_one"; addr $9A31; comment "1-indexed..."; }; label { name "is_jump_done"; addr $99AE; comment "$15 aka 21 frames?"; }; @@ -350,20 +365,6 @@ label { name "play_sfx_death"; addr $8936; }; range { name "status_window_contents"; start $86da; end $8713; type bytetable; comment "40 bytes, or 2 GR.1 lines of screen codes"; }; 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; }; -range { name "zero_filler_9bcc"; start $9bcc; end $9bcf; type bytetable; }; -range { name "zero_filler_baab"; start $baab; end $babb; type bytetable; }; -range { name "zero_filler_97f0"; start $97F0; end $97FF; type bytetable; }; -range { name "zero_filler_8d97"; start $8D97; end $8D9F; type bytetable; }; -range { name "zero_filler_8cb4"; start $8cb4; end $8cbb; type bytetable; }; -range { name "zero_filler_8b00"; start $8b00; end $8b22; type bytetable; }; -range { name "zero_filler_8aee"; start $8aee; end $8afd; type bytetable; }; -range { name "zero_filler_88f9"; start $88F9; end $88FF; type bytetable; }; -range { name "zero_filler_88be"; start $88BE; end $88C7; type bytetable; }; -range { name "zero_filler_9bff"; start $9bff; end $9bff; type bytetable; }; -range { name "zero_filler_8e67"; start $8e67; end $8e68; type bytetable; }; -range { name "zero_filler_8dcd"; start $8dcd; end $8dcd; type bytetable; }; 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)"; }; @@ -382,7 +383,6 @@ 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 $B58f; 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; }; @@ -402,7 +402,6 @@ range { name "l01_map_change_0"; start $A3AE; end $a3d5; type bytetable; }; label { name "l01_map_change_1"; addr $a3b8; }; 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 $a445; type bytetable; comment "level map data starts here"; }; range { name "l02_map_bombs"; start $A446; end $a476; type bytetable; }; @@ -472,7 +471,6 @@ label { name "blackout_sub0"; addr $B140; comment "copies pixels from rendered r 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; }; @@ -518,12 +516,11 @@ label { name "zigzag_sub0"; addr $AD68; comment "move bullets in ways that defy label { name "no_bullet"; addr $8E75; }; label { name "want_bullet"; addr $8E76; comment "create a bullet unless there are already max_bullets of them"; }; label { name "next_bullet_slot"; addr $8E78; }; -range { name "zero_filler_85f6"; start $85f6; end $85ff; type bytetable; comment "probably just filler"; }; range { name "movement_direction_table"; start $85be; end $85dd; type wordtable; comment "X/Y movement, indexed by joystick_state << 1, each entry is XXYY, $FF is -1"; }; range { name "get_ready_msg"; start $9714; end $9726; type bytetable; comment "PLAYER GET READY"; }; range { name "pcolor0_table"; start $8B7B; end $8b7f; type bytetable; }; -range { name "color0_table"; start $9728; end $972b; type bytetable; }; -range { name "color0_table_minus_one"; start $9727; end $9727; type bytetable; }; +range { name "color0_table"; start $9728; end $972b; type bytetable; comment "background colors for GET READY screen (different for each player)"; }; +range { name "color0_table_minus_one"; start $9727; end $9727; type bytetable; comment "1-indexed"; }; range { name "level_gfx"; start $9C21; end $9cff; type bytetable; comment "definitions for level graphics objects aka shapes. (girder segment, ladder, rope, etc)"; }; label { name "sh_girder"; addr $9C33; comment "3 rows of pixels. 1st: 04 = 4 pixels wide, 00 00 = no X/Y offset, 01 01 01 01 = actual pixel data (4 color0 pixels). see level_maps.txt"; }; label { name "sh_black_4x3"; addr $9C49; comment "all the bombs on blackout are drawn as this"; }; @@ -780,6 +777,10 @@ label { name "wds1_cont"; addr $BD58; comment "we seem to be setting/clearing bi label { name "wds1_finish"; addr $BD81; comment "set things up for the next level?"; }; label { name "crumble_gameboard"; addr $8D00; comment "just lost your last life"; }; label { name "crumble_gameboard_jv"; addr $8030; comment "just lost your last life"; }; +label { name "cgb_audc"; addr $8D05; comment "$86 = distortion 8, volume 6"; }; +label { name "shake_screen"; addr $8D08; comment "store random N-blank-lines instruction at head of display list"; }; +label { name "crumble_sound"; addr $8D16; comment "random frequency"; }; +label { name "rand_0c"; addr $8D19; comment "get random number 0 to 12"; }; label { name "init_struct_users"; addr $9A5C; comment "work_user and struct_user_{1..4}, 11 * 5 (55 aka $37) bytes"; }; label { name "init_struct_users_jv"; addr $8024; }; label { name "isu_next_su"; addr $9A5E; }; |