diff options
Diffstat (limited to 'jumpmanjr.html')
-rw-r--r-- | jumpmanjr.html | 322 |
1 files changed, 186 insertions, 136 deletions
diff --git a/jumpmanjr.html b/jumpmanjr.html index 1976303..be382c8 100644 --- a/jumpmanjr.html +++ b/jumpmanjr.html @@ -7,7 +7,7 @@ <body bgcolor="#000000" text="#ffffff"> <pre> <font color="#8080ff">; da65 V2.15 - Git 104f898</font> -<font color="#8080ff">; Created: 2016-08-29 15:45:14</font> +<font color="#8080ff">; Created: 2016-08-30 01:18:47</font> <font color="#8080ff">; Input file: jumpmanjr.rom</font> <font color="#8080ff">; Page: 1</font> @@ -81,6 +81,7 @@ <font color="#00ffff">L06E0</font> :=<font color="#ff40ff"> $06E0</font> <font color="#00ffff">L06E3</font> :=<font color="#ff40ff"> $06E3</font> <font color="#00ffff">L06E6</font> :=<font color="#ff40ff"> $06E6</font> +<font color="#00ffff">jump_frame</font> :=<font color="#ff40ff"> $06EB </font> <font color="#8080ff">; 0 if not jumping, or frames since start of jump (range 1 to 21)</font> <font color="#00ffff">randomizer_mode</font> :=<font color="#ff40ff"> $06F3 </font> <font color="#8080ff">; only after beating levels 1-12 in order</font> <font color="#00ffff">number_of_players</font>:=<font color="#ff40ff"> $06F4 </font> <font color="#8080ff">; 0 for single-player game, otherwise range 1-3 (2 to 4 players)</font> <font color="#00ffff">level</font> :=<font color="#ff40ff"> $06F6</font> @@ -107,8 +108,8 @@ <font color="#00ffff">work_level_map2</font> :=<font color="#ff40ff"> $079A </font> <font color="#8080ff">; map data</font> <font color="#00ffff">work_level_unkn_table1</font>:=<font color="#ff40ff"> $079C </font> <font color="#8080ff">; unknown, pointer to a ROM table or $0000</font> <font color="#00ffff">work_level_offs_30</font>:=<font color="#ff40ff"> $079E </font> <font color="#8080ff">; always $0000</font> -<font color="#00ffff">work_level_sub4</font> :=<font color="#ff40ff"> $07A0 </font> <font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">work_level_sub5</font> :=<font color="#ff40ff"> $07A2 </font> <font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">work_level_sub_bomb</font>:=<font color="#ff40ff"> $07A0 </font> <font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">work_level_sub_start</font>:=<font color="#ff40ff"> $07A2 </font> <font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> <font color="#00ffff">work_level_sub6</font> :=<font color="#ff40ff"> $07A4 </font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">work_level_sub_eol</font>:=<font color="#ff40ff"> $07A6 </font> <font color="#8080ff">; called at end of level (all bombs picked up). $06E6 for all but level07</font> <font color="#00ffff">work_level_offs_40</font>:=<font color="#ff40ff"> $07A8 </font> <font color="#8080ff">; all zeroes</font> @@ -135,8 +136,8 @@ <font color="#00ffff">cur_level_map2</font> :=<font color="#ff40ff"> $07DA </font> <font color="#8080ff">; map data</font> <font color="#00ffff">cur_level_unkn_table1</font>:=<font color="#ff40ff"> $07DC </font> <font color="#8080ff">; unknown, pointer to a ROM table or $0000</font> <font color="#00ffff">cur_level_offs_30</font>:=<font color="#ff40ff"> $07DE </font> <font color="#8080ff">; always $0000</font> -<font color="#00ffff">cur_level_sub4</font> :=<font color="#ff40ff"> $07E0 </font> <font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">cur_level_sub5</font> :=<font color="#ff40ff"> $07E2 </font> <font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">cur_level_sub_bomb</font>:=<font color="#ff40ff"> $07E0 </font> <font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">cur_level_sub_start</font>:=<font color="#ff40ff"> $07E2 </font> <font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> <font color="#00ffff">cur_level_sub6</font> :=<font color="#ff40ff"> $07E4 </font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">cur_level_sub_eol</font>:=<font color="#ff40ff"> $07E6 </font> <font color="#8080ff">; called at end of level (all bombs picked up). $06E6 for all but level07</font> <font color="#00ffff">cur_level_offs_40</font>:=<font color="#ff40ff"> $07E8 </font> <font color="#8080ff">; all zeroes</font> @@ -201,7 +202,9 @@ <font color="#00ff00">jmp</font> <font color="#00ffff">draw_map</font> <font color="#8080ff">; 8000 4C 49 80 LI.</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">L8003</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">cue_sfx_lowprior</font> <font color="#8080ff">; 8003 4C 40 82 L@.</font> +<font color="#8080ff">; if cue_sfx not already in progress, setup to play sfx at (sfx_slot_tempo, sfx_lock) tempo (?) A</font> +<font color="#00ffff">cue_sfx_lowprior_jv</font>: + <font color="#00ff00">jmp</font> <font color="#00ffff">cue_sfx_lowprior</font> <font color="#8080ff">; 8003 4C 40 82 L@.</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#8080ff">; setup to play sfx</font> @@ -214,7 +217,9 @@ <font color="#00ff00">jmp</font> <font color="#00ffff">xxx_level_something</font> <font color="#8080ff">; 8009 4C 00 86 L..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">L800C</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">L8CBC</font> <font color="#8080ff">; 800C 4C BC 8C L..</font> +<font color="#8080ff">; also adds extra life every 7500 points</font> +<font color="#00ffff">update_score_display_jv</font>: + <font color="#00ff00">jmp</font> <font color="#00ffff">update_score_display</font> <font color="#8080ff">; 800C 4C BC 8C L..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#00ffff">L800F</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">L867E</font> <font color="#8080ff">; 800F 4C 7E 86 L~.</font> @@ -269,7 +274,9 @@ <font color="#00ff00">jmp</font> <font color="#00ffff">crumble_gameboard</font> <font color="#8080ff">; 8030 4C 00 8D L..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">L8033</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">L87A0</font> <font color="#8080ff">; 8033 4C A0 87 L..</font> +<font color="#8080ff">; check whether Jumpman just touched a bomb (RTS if not)</font> +<font color="#00ffff">check_bomb_coll_jv</font>: + <font color="#00ff00">jmp</font> <font color="#00ffff">check_bomb_coll</font> <font color="#8080ff">; 8033 4C A0 87 L..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#00ffff">L8036</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">L8B23</font> <font color="#8080ff">; 8036 4C 23 8B L#.</font> @@ -521,7 +528,7 @@ <font color="#00ff00">cmp</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 818F C9 01 ..</font> <font color="#00ff00">beq</font> <font color="#00ffff">sfx_change_tempo</font> <font color="#8080ff">; 8191 F0 1B ..</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; 8193 C9 02 ..</font> - <font color="#00ff00">beq</font> <font color="#00ffff">sfx_jump</font> <font color="#8080ff">; 8195 F0 31 .1</font> + <font color="#00ff00">beq</font> <font color="#00ffff">sfx_jump_opcode</font> <font color="#8080ff">; 8195 F0 31 .1</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 8197 C9 03 ..</font> <font color="#00ff00">beq</font> <font color="#00ffff">sfx_play_rest</font> <font color="#8080ff">; 8199 F0 03 ..</font> <font color="#00ff00">jmp</font> <font color="#00ffff">sfx_finished</font> <font color="#8080ff">; 819B 4C 26 82 L&.</font> @@ -554,7 +561,7 @@ <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#8080ff">; I *think* this jumps to a different sfx address...</font> -<font color="#00ffff">sfx_jump</font>: +<font color="#00ffff">sfx_jump_opcode</font>: <font color="#00ff00">iny</font> <font color="#8080ff">; 81C8 C8 .</font> <font color="#00ff00">lda</font> (<font color="#00ffff">zp_temp1</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 81C9 B1 CB ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_curpos</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 81CB 9D 4E 06 .N.</font> @@ -1336,13 +1343,17 @@ <font color="#00ff00">jmp</font> <font color="#00ffff">L88A8</font> <font color="#8080ff">; 879D 4C A8 88 L..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">L87A0</font>: <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 87A0 AD B4 06 ...</font> +<font color="#8080ff">; check whether Jumpman just touched a bomb (RTS if not)</font> +<font color="#00ffff">check_bomb_coll</font>: + <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 87A0 AD B4 06 ...</font> <font color="#00ff00">and</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 87A3 29 04 ).</font> - <font color="#00ff00">bne</font> <font color="#00ffff">L87A8</font> <font color="#8080ff">; 87A5 D0 01 ..</font> + <font color="#00ff00">bne</font> <font color="#00ffff">bomb_pickup</font> <font color="#8080ff">; 87A5 D0 01 ..</font> <font color="#00ff00">rts</font> <font color="#8080ff">; 87A7 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">L87A8</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $067E </font> <font color="#8080ff">; 87A8 AD 7E 06 .~.</font> +<font color="#8080ff">; Jumpman just picked up a bomb, award points, play sfx_bomb_pickup, make the bomb disappear, do some other stuff I don't understand yet</font> +<font color="#00ffff">bomb_pickup</font>: + <font color="#00ff00">lda</font> <font color="#ff40ff"> $067E </font> <font color="#8080ff">; 87A8 AD 7E 06 .~.</font> <font color="#00ff00">clc</font> <font color="#8080ff">; 87AB 18 .</font> <font color="#00ff00">adc</font> <font color="#00ffff">work_level_offs_14</font> <font color="#8080ff">; 87AC 6D 8E 07 m..</font> <font color="#00ff00">and</font> <font color="#ff6060">#$E0</font> <font color="#8080ff">; 87AF 29 E0 ).</font> @@ -1434,9 +1445,9 @@ <font color="#00ff00">lda</font> <font color="#ff40ff"> ($B0),y </font> <font color="#8080ff">; 884E B1 B0 ..</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $06E5 </font> <font color="#8080ff">; 8850 8D E5 06 ...</font> <font color="#00ff00">jsr</font> <font color="#00ffff">L06E3</font> <font color="#8080ff">; 8853 20 E3 06 ..</font> -<font color="#00ffff">L8856</font>: <font color="#00ff00">lda</font> <font color="#00ffff">work_level_sub4</font> <font color="#8080ff">; 8856 AD A0 07 ...</font> +<font color="#00ffff">L8856</font>: <font color="#00ff00">lda</font> <font color="#00ffff">work_level_sub_bomb</font> <font color="#8080ff">; 8856 AD A0 07 ...</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $06E4 </font> <font color="#8080ff">; 8859 8D E4 06 ...</font> - <font color="#00ff00">lda</font> <font color="#00ffff">work_level_sub4</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 885C AD A1 07 ...</font> + <font color="#00ff00">lda</font> <font color="#00ffff">work_level_sub_bomb</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 885C AD A1 07 ...</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $06E5 </font> <font color="#8080ff">; 885F 8D E5 06 ...</font> <font color="#00ff00">jsr</font> <font color="#00ffff">L06E3</font> <font color="#8080ff">; 8862 20 E3 06 ..</font> <font color="#00ff00">clc</font> <font color="#8080ff">; 8865 18 .</font> @@ -1452,7 +1463,7 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$06</font> <font color="#8080ff">; 887D A9 06 ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">dm_progctr</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 887F 85 C1 ..</font> <font color="#00ff00">jsr</font> <font color="#00ffff">draw_map_jv</font> <font color="#8080ff">; 8881 20 00 80 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L800C</font> <font color="#8080ff">; 8884 20 0C 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">update_score_display_jv</font> <font color="#8080ff">; 8884 20 0C 80 ..</font> <font color="#00ff00">dec</font> <font color="#00ffff">work_level_num_bombs</font> <font color="#8080ff">; 8887 CE 8A 07 ...</font> <font color="#00ffff">L888A</font>: <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 888A AD B4 06 ...</font> <font color="#00ff00">and</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 888D 29 04 ).</font> @@ -1460,7 +1471,8 @@ <font color="#00ff00">rts</font> <font color="#8080ff">; 8891 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">data_8892</font>: +<font color="#8080ff">; played when a bomb is picked up</font> +<font color="#00ffff">sfx_bomb_pickup</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$A6</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$1E</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$28</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$1E</font> <font color="#8080ff">; 8892 01 A6 00 1E 03 28 03 1E .....(..</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$03</font>,<font color="#ff6060">$28</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$1E</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$28</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$1E</font> <font color="#8080ff">; 889A 03 28 03 1E 03 28 03 1E .(...(..</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$03</font>,<font color="#ff6060">$28</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 88A2 03 28 03 00 00 00 .(....</font> @@ -1554,7 +1566,7 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$8A</font> <font color="#8080ff">; 893B A9 8A ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_timer</font> <font color="#8080ff">; 893D 8D 3F 06 .?.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$07</font> <font color="#8080ff">; 8940 A9 07 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L8003</font> <font color="#8080ff">; 8942 20 03 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_lowprior_jv</font> <font color="#8080ff">; 8942 20 03 80 ..</font> <font color="#00ffff">L8945</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $0683 </font> <font color="#8080ff">; 8945 AD 83 06 ...</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$C6</font> <font color="#8080ff">; 8948 C9 C6 ..</font> <font color="#00ff00">bcc</font> <font color="#00ffff">L895D</font> <font color="#8080ff">; 894A 90 11 ..</font> @@ -1600,7 +1612,7 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$8A</font> <font color="#8080ff">; 899F A9 8A ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_timer</font> <font color="#8080ff">; 89A1 8D 3F 06 .?.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 89A4 A9 04 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L8003</font> <font color="#8080ff">; 89A6 20 03 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_lowprior_jv</font> <font color="#8080ff">; 89A6 20 03 80 ..</font> <font color="#00ffff">L89A9</font>: <font color="#00ff00">ldx</font> <font color="#ff40ff"> $06EA </font> <font color="#8080ff">; 89A9 AE EA 06 ...</font> <font color="#00ff00">cpx</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; 89AC E0 09 ..</font> <font color="#00ff00">bne</font> <font color="#00ffff">L89B8</font> <font color="#8080ff">; 89AE D0 08 ..</font> @@ -1701,7 +1713,7 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$8A</font> <font color="#8080ff">; 8A8A A9 8A ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_timer</font> <font color="#8080ff">; 8A8C 8D 3F 06 .?.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; 8A8F A9 02 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L8003</font> <font color="#8080ff">; 8A91 20 03 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_lowprior_jv</font> <font color="#8080ff">; 8A91 20 03 80 ..</font> <font color="#00ffff">L8A94</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">L9925</font> <font color="#8080ff">; 8A94 4C 25 99 L%.</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> @@ -2033,7 +2045,9 @@ <font color="#00ff00">brk</font> <font color="#8080ff">; 8CB9 00 .</font> <font color="#00ff00">brk</font> <font color="#8080ff">; 8CBA 00 .</font> <font color="#00ff00">brk</font> <font color="#8080ff">; 8CBB 00 .</font> -<font color="#00ffff">L8CBC</font>: <font color="#00ff00">ldx</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 8CBC A2 03 ..</font> +<font color="#8080ff">; also adds extra life every 7500 points</font> +<font color="#00ffff">update_score_display</font>: + <font color="#00ff00">ldx</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 8CBC A2 03 ..</font> <font color="#00ffff">L8CBE</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $06FF,x </font> <font color="#8080ff">; 8CBE BD FF 06 ...</font> <font color="#00ff00">cmp</font> <font color="#00ffff">score</font>+<font color="#ff6060">2</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8CC1 DD 02 07 ...</font> <font color="#00ff00">bcc</font> <font color="#00ffff">L8CFA</font> <font color="#8080ff">; 8CC4 90 34 .4</font> @@ -2069,7 +2083,7 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$0C</font> <font color="#8080ff">; 8CF2 A9 0C ..</font> <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_jv</font> <font color="#8080ff">; 8CF4 20 06 80 ..</font> <font color="#00ff00">jsr</font> <font color="#00ffff">show_lives_icons</font> <font color="#8080ff">; 8CF7 20 BB 86 ..</font> -<font color="#00ffff">L8CFA</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">LB7C0</font> <font color="#8080ff">; 8CFA 4C C0 B7 L..</font> +<font color="#00ffff">L8CFA</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">score_mod_1m</font> <font color="#8080ff">; 8CFA 4C C0 B7 L..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#8080ff">; L= (for lives display)</font> @@ -2215,7 +2229,7 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$8D</font> <font color="#8080ff">; 8DEF A9 8D ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_timer</font> <font color="#8080ff">; 8DF1 8D 3F 06 .?.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$07</font> <font color="#8080ff">; 8DF4 A9 07 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L8003</font> <font color="#8080ff">; 8DF6 20 03 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_lowprior_jv</font> <font color="#8080ff">; 8DF6 20 03 80 ..</font> <font color="#00ffff">dec_done</font>: <font color="#00ff00">rts</font> <font color="#8080ff">; 8DF9 60 `</font> @@ -2247,7 +2261,7 @@ <font color="#00ff00">sta</font> <font color="#ff40ff">AUDC1</font> <font color="#8080ff">; 8E2E 8D 01 D2 ...</font> <font color="#00ff00">sta</font> <font color="#00ffff">jiffy_timer_1</font> <font color="#8080ff">; 8E31 8D 1A 06 ...</font> <font color="#00ff00">sta</font> <font color="#00ffff">playing_level</font> <font color="#8080ff">; 8E34 8D 27 06 .'.</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L800C</font> <font color="#8080ff">; 8E37 20 0C 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">update_score_display_jv</font> <font color="#8080ff">; 8E37 20 0C 80 ..</font> <font color="#8080ff">; 533ms ntsc, 640ms pal</font> <font color="#00ffff">wait_32_jiffies</font>: <font color="#00ff00">lda</font> <font color="#00ffff">jiffy_timer_1</font> <font color="#8080ff">; 8E3A AD 1A 06 ...</font> @@ -2348,7 +2362,7 @@ <font color="#00ff00">txa</font> <font color="#8080ff">; 8F05 8A .</font> <font color="#00ff00">pha</font> <font color="#8080ff">; 8F06 48 H</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; 8F07 A9 02 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L8003</font> <font color="#8080ff">; 8F09 20 03 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_lowprior_jv</font> <font color="#8080ff">; 8F09 20 03 80 ..</font> <font color="#00ff00">pla</font> <font color="#8080ff">; 8F0C 68 h</font> <font color="#00ff00">tax</font> <font color="#8080ff">; 8F0D AA .</font> <font color="#00ff00">inc</font> <font color="#ff40ff"> $0756,x </font> <font color="#8080ff">; 8F0E FE 56 07 .V.</font> @@ -2442,7 +2456,7 @@ .<font color="#ffff00">byte</font> <font color="#ff40ff"> $10 </font> <font color="#8080ff">; 8FC7 10 .</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#00ffff">mus01_addr1</font>: - .<font color="#00ffff">addr</font> <font color="#00ffff">sfx12</font> <font color="#8080ff">; 8FC8 BE BF ..</font> + .<font color="#00ffff">addr</font> <font color="#00ffff">sfx_jump</font> <font color="#8080ff">; 8FC8 BE BF ..</font> <font color="#00ffff">mus01_addr2</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">empty_music_entry</font> <font color="#8080ff">; 8FCA FF 8F ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> @@ -3171,9 +3185,9 @@ <font color="#00ff00">inx</font> <font color="#8080ff">; 967D E8 .</font> <font color="#00ff00">cpx</font> <font color="#ff6060">#$40</font> <font color="#8080ff">; 967E E0 40 .@</font> <font color="#00ff00">bne</font> <font color="#00ffff">copy_level_desc_2</font> <font color="#8080ff">; 9680 D0 F5 ..</font> - <font color="#00ff00">lda</font> <font color="#00ffff">work_level_sub5</font> <font color="#8080ff">; 9682 AD A2 07 ...</font> + <font color="#00ff00">lda</font> <font color="#00ffff">work_level_sub_start</font> <font color="#8080ff">; 9682 AD A2 07 ...</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $06E1 </font> <font color="#8080ff">; 9685 8D E1 06 ...</font> - <font color="#00ff00">lda</font> <font color="#00ffff">work_level_sub5</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 9688 AD A3 07 ...</font> + <font color="#00ff00">lda</font> <font color="#00ffff">work_level_sub_start</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 9688 AD A3 07 ...</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $06E2 </font> <font color="#8080ff">; 968B 8D E2 06 ...</font> <font color="#00ff00">jsr</font> <font color="#00ffff">L06E0</font> <font color="#8080ff">; 968E 20 E0 06 ..</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9691 A9 00 ..</font> @@ -3268,7 +3282,7 @@ <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#00ffff">game_main_loop</font>: <font color="#00ff00">jsr</font> <font color="#00ffff">materialize_jumpman</font> <font color="#8080ff">; 9740 20 7B 97 {.</font> -<font color="#00ffff">L9743</font>: <font color="#00ff00">jsr</font> <font color="#00ffff">L8033</font> <font color="#8080ff">; 9743 20 33 80 3.</font> +<font color="#00ffff">L9743</font>: <font color="#00ff00">jsr</font> <font color="#00ffff">check_bomb_coll_jv</font> <font color="#8080ff">; 9743 20 33 80 3.</font> <font color="#00ff00">lda</font> <font color="#00ffff">work_level_num_bombs</font> <font color="#8080ff">; 9746 AD 8A 07 ...</font> <font color="#00ff00">beq</font> <font color="#00ffff">got_all_bombs</font> <font color="#8080ff">; 9749 F0 1B ..</font> <font color="#00ff00">lda</font> <font color="#ff40ff"> $0623 </font> <font color="#8080ff">; 974B AD 23 06 .#.</font> @@ -3305,7 +3319,7 @@ <font color="#00ff00">sta</font> <font color="#ff40ff"> $0755,x </font> <font color="#8080ff">; 9782 9D 55 07 .U.</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $069A,x </font> <font color="#8080ff">; 9785 9D 9A 06 ...</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $06EA,x </font> <font color="#8080ff">; 9788 9D EA 06 ...</font> - <font color="#00ff00">sta</font> <font color="#ff40ff"> $06EB,x </font> <font color="#8080ff">; 978B 9D EB 06 ...</font> + <font color="#00ff00">sta</font> <font color="#00ffff">jump_frame</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 978B 9D EB 06 ...</font> <font color="#00ff00">dex</font> <font color="#8080ff">; 978E CA .</font> <font color="#00ff00">bne</font> <font color="#00ffff">mj_clear_loop</font> <font color="#8080ff">; 978F D0 F1 ..</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $0697 </font> <font color="#8080ff">; 9791 8D 97 06 ...</font> @@ -3384,9 +3398,9 @@ <font color="#00ff00">lda</font> <font color="#ff40ff"> $0683 </font> <font color="#8080ff">; 980B AD 83 06 ...</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$C6</font> <font color="#8080ff">; 980E C9 C6 ..</font> <font color="#00ff00">bcs</font> <font color="#00ffff">L982E</font> <font color="#8080ff">; 9810 B0 1C ..</font> - <font color="#00ff00">lda</font> <font color="#ff40ff"> $06EB </font> <font color="#8080ff">; 9812 AD EB 06 ...</font> + <font color="#00ff00">lda</font> <font color="#00ffff">jump_frame</font> <font color="#8080ff">; 9812 AD EB 06 ...</font> <font color="#00ff00">beq</font> <font color="#00ffff">check_collisions_2</font> <font color="#8080ff">; 9815 F0 03 ..</font> - <font color="#00ff00">jmp</font> <font color="#00ffff">L99A8</font> <font color="#8080ff">; 9817 4C A8 99 L..</font> + <font color="#00ff00">jmp</font> <font color="#00ffff">mid_jump</font> <font color="#8080ff">; 9817 4C A8 99 L..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#8080ff">; did player 0 or 1 hit the playfield...</font> @@ -3403,7 +3417,7 @@ <font color="#00ff00">rts</font> <font color="#8080ff">; 9831 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; did player 0 or 1 hit the playfield...</font> +<font color="#8080ff">; movement/jumping only allowed if player's touching the playfield</font> <font color="#00ffff">check_collisions_3</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9832 A9 00 ..</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $06ED </font> <font color="#8080ff">; 9834 8D ED 06 ...</font> @@ -3490,7 +3504,7 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$BE</font> <font color="#8080ff">; 98C6 A9 BE ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_timer</font> <font color="#8080ff">; 98C8 8D 3F 06 .?.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 98CB A9 01 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L8003</font> <font color="#8080ff">; 98CD 20 03 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_lowprior_jv</font> <font color="#8080ff">; 98CD 20 03 80 ..</font> <font color="#00ffff">L98D0</font>: <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 98D0 AD B4 06 ...</font> <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">5</font> <font color="#8080ff">; 98D3 0D B5 06 ...</font> <font color="#00ff00">and</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; 98D6 29 02 ).</font> @@ -3590,37 +3604,47 @@ <font color="#00ff00">rts</font> <font color="#8080ff">; 9984 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; handle trigger presses (maybe start a jump)</font> +<font color="#8080ff">; handle trigger presses, maybe start a jump, if player is moving up, left, or right</font> <font color="#00ffff">trigger_handler</font>: <font color="#00ff00">ldx</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 9985 A2 04 ..</font> <font color="#00ff00">lda</font> <font color="#00ffff">joystick_state</font> <font color="#8080ff">; 9987 AD 33 06 .3.</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$0E</font> <font color="#8080ff">; 998A C9 0E ..</font> - <font color="#00ff00">beq</font> <font color="#00ffff">L99A0</font> <font color="#8080ff">; 998C F0 12 ..</font> + <font color="#00ff00">beq</font> <font color="#00ffff">start_jump</font> <font color="#8080ff">; 998C F0 12 ..</font> <font color="#00ff00">ldx</font> <font color="#ff6060">#$10</font> <font color="#8080ff">; 998E A2 10 ..</font> <font color="#00ff00">lda</font> <font color="#00ffff">player_delta_x</font> <font color="#8080ff">; 9990 AD 30 06 .0.</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 9993 C9 01 ..</font> - <font color="#00ff00">beq</font> <font color="#00ffff">L99A0</font> <font color="#8080ff">; 9995 F0 09 ..</font> + <font color="#00ff00">beq</font> <font color="#00ffff">start_jump</font> <font color="#8080ff">; 9995 F0 09 ..</font> <font color="#00ff00">ldx</font> <font color="#ff6060">#$11</font> <font color="#8080ff">; 9997 A2 11 ..</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$FF</font> <font color="#8080ff">; 9999 C9 FF ..</font> - <font color="#00ff00">beq</font> <font color="#00ffff">L99A0</font> <font color="#8080ff">; 999B F0 03 ..</font> + <font color="#00ff00">beq</font> <font color="#00ffff">start_jump</font> <font color="#8080ff">; 999B F0 03 ..</font> <font color="#00ff00">jmp</font> <font color="#00ffff">check_up_down</font> <font color="#8080ff">; 999D 4C 55 98 LU.</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">L99A0</font>: <font color="#00ff00">stx</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 99A0 8E 88 06 ...</font> +<font color="#8080ff">; start jumping, play sfx_jump</font> +<font color="#00ffff">start_jump</font>: + <font color="#00ff00">stx</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 99A0 8E 88 06 ...</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 99A3 A9 01 ..</font> <font color="#00ff00">jsr</font> <font color="#00ffff">cue_music_jv</font> <font color="#8080ff">; 99A5 20 18 80 ..</font> -<font color="#00ffff">L99A8</font>: <font color="#00ff00">inc</font> <font color="#ff40ff"> $06EB </font> <font color="#8080ff">; 99A8 EE EB 06 ...</font> - <font color="#00ff00">lda</font> <font color="#ff40ff"> $06EB </font> <font color="#8080ff">; 99AB AD EB 06 ...</font> +<font color="#8080ff">; check & see if we're done jumping</font> +<font color="#00ffff">mid_jump</font>: + <font color="#00ff00">inc</font> <font color="#00ffff">jump_frame</font> <font color="#8080ff">; 99A8 EE EB 06 ...</font> + <font color="#00ff00">lda</font> <font color="#00ffff">jump_frame</font> <font color="#8080ff">; 99AB AD EB 06 ...</font> +<font color="#8080ff">; $15 aka 21 frames?</font> +<font color="#00ffff">is_jump_done</font>: <font color="#00ff00">cmp</font> <font color="#ff6060">#$16</font> <font color="#8080ff">; 99AE C9 16 ..</font> - <font color="#00ff00">bne</font> <font color="#00ffff">L99BD</font> <font color="#8080ff">; 99B0 D0 0B ..</font> -<font color="#00ffff">L99B2</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 99B2 A9 00 ..</font> - <font color="#00ff00">sta</font> <font color="#ff40ff"> $06EB </font> <font color="#8080ff">; 99B4 8D EB 06 ...</font> + <font color="#00ff00">bne</font> <font color="#00ffff">continue_jump</font> <font color="#8080ff">; 99B0 D0 0B ..</font> +<font color="#8080ff">; we hit a girder/rope/ladder in mid-jump, or else the jump finished without hitting anything(?). this does not (?) include the bottom of the level</font> +<font color="#00ffff">end_jump</font>: + <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 99B2 A9 00 ..</font> + <font color="#00ff00">sta</font> <font color="#00ffff">jump_frame</font> <font color="#8080ff">; 99B4 8D EB 06 ...</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $06ED </font> <font color="#8080ff">; 99B7 8D ED 06 ...</font> <font color="#00ff00">jmp</font> <font color="#00ffff">check_collisions_2</font> <font color="#8080ff">; 99BA 4C 1A 98 L..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">L99BD</font>: <font color="#00ff00">ldx</font> <font color="#ff40ff"> $06EB </font> <font color="#8080ff">; 99BD AE EB 06 ...</font> - <font color="#00ff00">lda</font> <font color="#00ffff">L9A1B</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 99C0 BD 1B 9A ...</font> +<font color="#8080ff">; we're in mid-jump and didn't hit anything, keep going</font> +<font color="#00ffff">continue_jump</font>: + <font color="#00ff00">ldx</font> <font color="#00ffff">jump_frame</font> <font color="#8080ff">; 99BD AE EB 06 ...</font> + <font color="#00ff00">lda</font> <font color="#00ffff">jump_delta_x_table_minus_one</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 99C0 BD 1B 9A ...</font> <font color="#00ff00">tay</font> <font color="#8080ff">; 99C3 A8 .</font> <font color="#00ff00">lda</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 99C4 AD 88 06 ...</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$10</font> <font color="#8080ff">; 99C7 C9 10 ..</font> @@ -3641,7 +3665,7 @@ <font color="#00ff00">tya</font> <font color="#8080ff">; 99DE 98 .</font> <font color="#00ff00">adc</font> <font color="#ff40ff"> $067E </font> <font color="#8080ff">; 99DF 6D 7E 06 m~.</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $067E </font> <font color="#8080ff">; 99E2 8D 7E 06 .~.</font> - <font color="#00ff00">lda</font> <font color="#00ffff">L9A31</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 99E5 BD 31 9A .1.</font> + <font color="#00ff00">lda</font> <font color="#00ffff">jump_delta_y_table_minus_one</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 99E5 BD 31 9A .1.</font> <font color="#00ff00">clc</font> <font color="#8080ff">; 99E8 18 .</font> <font color="#00ff00">adc</font> <font color="#ff40ff"> $0683 </font> <font color="#8080ff">; 99E9 6D 83 06 m..</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $0683 </font> <font color="#8080ff">; 99EC 8D 83 06 ...</font> @@ -3655,33 +3679,40 @@ <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 99F7 AD B4 06 ...</font> <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">5</font> <font color="#8080ff">; 99FA 0D B5 06 ...</font> <font color="#00ff00">lsr</font> <font color="#00ffff">a</font> <font color="#8080ff">; 99FD 4A J</font> - <font color="#00ff00">bcs</font> <font color="#00ffff">L99B2</font> <font color="#8080ff">; 99FE B0 B2 ..</font> + <font color="#00ff00">bcs</font> <font color="#00ffff">end_jump</font> <font color="#8080ff">; 99FE B0 B2 ..</font> <font color="#00ff00">lsr</font> <font color="#00ffff">a</font> <font color="#8080ff">; 9A00 4A J</font> <font color="#00ff00">bcc</font> <font color="#00ffff">L9A19</font> <font color="#8080ff">; 9A01 90 16 ..</font> <font color="#00ff00">lda</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 9A03 AD 88 06 ...</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 9A06 C9 04 ..</font> <font color="#00ff00">beq</font> <font color="#00ffff">L9A19</font> <font color="#8080ff">; 9A08 F0 0F ..</font> <font color="#00ff00">jsr</font> <font color="#00ffff">L9971</font> <font color="#8080ff">; 9A0A 20 71 99 q.</font> - <font color="#00ff00">bcs</font> <font color="#00ffff">L99B2</font> <font color="#8080ff">; 9A0D B0 A3 ..</font> + <font color="#00ff00">bcs</font> <font color="#00ffff">end_jump</font> <font color="#8080ff">; 9A0D B0 A3 ..</font> <font color="#00ff00">jsr</font> <font color="#00ffff">check_up_down_2</font> <font color="#8080ff">; 9A0F 20 3B 99 ;.</font> <font color="#00ff00">bcc</font> <font color="#00ffff">L9A19</font> <font color="#8080ff">; 9A12 90 05 ..</font> <font color="#00ff00">cmp</font> <font color="#ff40ff"> $067E </font> <font color="#8080ff">; 9A14 CD 7E 06 .~.</font> - <font color="#00ff00">beq</font> <font color="#00ffff">L99B2</font> <font color="#8080ff">; 9A17 F0 99 ..</font> + <font color="#00ff00">beq</font> <font color="#00ffff">end_jump</font> <font color="#8080ff">; 9A17 F0 99 ..</font> <font color="#00ffff">L9A19</font>: -<font color="#00ffff">L9A1B</font> := * + <font color="#ff6060">2</font> +<font color="#00ffff">jump_delta_x_table_minus_one</font>:= * + <font color="#ff6060">2</font> <font color="#8080ff">; 1-indexed...</font> <font color="#00ff00">jmp</font> <font color="#00ffff">L9925</font> <font color="#8080ff">; 9A19 4C 25 99 L%.</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">data_9a1c</font>: +<font color="#8080ff">; used by continue_jump, the amount of X movement per frame of jumping (for either direction, left or right)</font> +<font color="#00ffff">jump_delta_x_table</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$02</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font> <font color="#8080ff">; 9A1C 02 00 02 00 02 02 02 02 ........</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A24 02 02 02 00 02 00 02 00 ........</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A2C 00 02 00 00 00 .....</font> -<font color="#00ffff">L9A31</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$02</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A31 02 FE FE FE FE FE FE 00 ........</font> - .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font> <font color="#8080ff">; 9A39 00 00 02 02 02 02 02 02 ........</font> - .<font color="#ffff00">byte</font> <font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A41 02 02 02 02 02 02 00 00 ........</font> - .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A49 00 00 00 00 00 00 00 00 ........</font> - .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A51 00 00 00 00 00 00 00 00 ........</font> - .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A59 00 00 00 ...</font> +<font color="#8080ff">; 1-indexed...</font> +<font color="#00ffff">jump_delta_y_table_minus_one</font>: + .<font color="#ffff00">byte</font> <font color="#ff40ff"> $02 </font> <font color="#8080ff">; 9A31 02 .</font> +<font color="#8080ff">; used by continue_jump, amount of Y movement per frame ($FE is -2, or 2 scanlines up, $02 is 2 scanlines down)</font> +<font color="#00ffff">jump_delta_y_table</font>: + .<font color="#ffff00">byte</font> <font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A32 FE FE FE FE FE FE 00 00 ........</font> + .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font> <font color="#8080ff">; 9A3A 00 02 02 02 02 02 02 02 ........</font> + .<font color="#ffff00">byte</font> <font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A42 02 02 02 02 02 00 ......</font> +<font color="#00ffff">zero_filler_9a48</font>: + .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A48 00 00 00 00 00 00 00 00 ........</font> + .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A50 00 00 00 00 00 00 00 00 ........</font> + .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A58 00 00 00 00 ....</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#00ffff">init_page_7</font>: <font color="#00ff00">ldy</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9A5C A0 00 ..</font> @@ -4176,11 +4207,11 @@ <font color="#00ffff">level00_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A01E 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level00_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level00_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A020 E6 06 ..</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level00_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level00_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A022 E6 06 ..</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level00_sub6</font>: @@ -4211,16 +4242,16 @@ <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#8080ff">; a subroutine</font> <font color="#00ffff">level01_sub0</font>: - .<font color="#00ffff">addr</font> <font color="#00ffff">LA4DD</font> <font color="#8080ff">; A042 DD A4 ..</font> + .<font color="#00ffff">addr</font> <font color="#00ffff">electrocution_done</font> <font color="#8080ff">; A042 DD A4 ..</font> <font color="#8080ff">; a subroutine</font> <font color="#00ffff">level01_sub1</font>: - .<font color="#00ffff">addr</font> <font color="#00ffff">LA509</font> <font color="#8080ff">; A044 09 A5 ..</font> + .<font color="#00ffff">addr</font> <font color="#00ffff">electrocute</font> <font color="#8080ff">; A044 09 A5 ..</font> <font color="#8080ff">; a subroutine</font> <font color="#00ffff">level01_sub2</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L0000</font> <font color="#8080ff">; A046 00 00 ..</font> <font color="#8080ff">; a subroutine</font> <font color="#00ffff">level01_sub3</font>: - .<font color="#00ffff">addr</font> <font color="#00ffff">LA53D</font> <font color="#8080ff">; A048 3D A5 =.</font> + .<font color="#00ffff">addr</font> <font color="#00ffff">level02_collisions</font> <font color="#8080ff">; A048 3D A5 =.</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#8080ff">; number of bombs to pick up on this level</font> <font color="#00ffff">level01_num_bombs</font>: @@ -4269,11 +4300,11 @@ <font color="#00ffff">level01_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A05E 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level01_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level01_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LA498</font> <font color="#8080ff">; A060 98 A4 ..</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level01_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level01_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; A062 36 80 6.</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level01_sub6</font>: @@ -4362,11 +4393,11 @@ <font color="#00ffff">level02_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A09E 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level02_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level02_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A0A0 E6 06 ..</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level02_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level02_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LA68C</font> <font color="#8080ff">; A0A2 8C A6 ..</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level02_sub6</font>: @@ -4455,11 +4486,11 @@ <font color="#00ffff">level03_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A0DE 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level03_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level03_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A0E0 E6 06 ..</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level03_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level03_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; A0E2 36 80 6.</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level03_sub6</font>: @@ -4548,11 +4579,11 @@ <font color="#00ffff">level04_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A11E 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level04_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level04_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A120 E6 06 ..</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level04_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level04_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A122 E6 06 ..</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level04_sub6</font>: @@ -4641,11 +4672,11 @@ <font color="#00ffff">level05_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A15E 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level05_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level05_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LAA73</font> <font color="#8080ff">; A160 73 AA s.</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level05_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level05_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LA9C6</font> <font color="#8080ff">; A162 C6 A9 ..</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level05_sub6</font>: @@ -4734,11 +4765,11 @@ <font color="#00ffff">level06_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A19E 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level06_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level06_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A1A0 E6 06 ..</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level06_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level06_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; A1A2 36 80 6.</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level06_sub6</font>: @@ -4827,18 +4858,18 @@ <font color="#00ffff">level07_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A1DE 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level07_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level07_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LAF23</font> <font color="#8080ff">; A1E0 23 AF #.</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level07_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level07_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LAE9B</font> <font color="#8080ff">; A1E2 9B AE ..</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level07_sub6</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">game_main_loop</font> <font color="#8080ff">; A1E4 40 97 @.</font> <font color="#8080ff">; called at end of level (all bombs picked up). $06E6 for all but level07</font> <font color="#00ffff">level07_sub_eol</font>: - .<font color="#00ffff">addr</font> <font color="#00ffff">LAF58</font> <font color="#8080ff">; A1E6 58 AF X.</font> + .<font color="#00ffff">addr</font> <font color="#00ffff">level07_letters</font> <font color="#8080ff">; A1E6 58 AF X.</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#8080ff">; all zeroes</font> <font color="#00ffff">level07_offs_40</font>: @@ -4920,11 +4951,11 @@ <font color="#00ffff">level08_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A21E 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level08_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level08_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LB121</font> <font color="#8080ff">; A220 21 B1 !.</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level08_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level08_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LB0C4</font> <font color="#8080ff">; A222 C4 B0 ..</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level08_sub6</font>: @@ -5013,11 +5044,11 @@ <font color="#00ffff">level09_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A25E 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level09_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level09_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LB2FD</font> <font color="#8080ff">; A260 FD B2 ..</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level09_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level09_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; A262 36 80 6.</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level09_sub6</font>: @@ -5106,11 +5137,11 @@ <font color="#00ffff">level10_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A29E 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level10_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level10_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">LB44C</font> <font color="#8080ff">; A2A0 4C B4 L.</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level10_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level10_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; A2A2 36 80 6.</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level10_sub6</font>: @@ -5199,11 +5230,11 @@ <font color="#00ffff">level11_offs_30</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A2DE 00 00 ..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; $06E6 for most levels, or else a ROM subroutine</font> -<font color="#00ffff">level11_sub4</font>: +<font color="#8080ff">; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine</font> +<font color="#00ffff">level11_sub_bomb</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A2E0 E6 06 ..</font> -<font color="#8080ff">; $06E6 for some levels, or else a ROM subroutine</font> -<font color="#00ffff">level11_sub5</font>: +<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font> +<font color="#00ffff">level11_sub_start</font>: .<font color="#00ffff">addr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; A2E2 36 80 6.</font> <font color="#8080ff">; always $9740 aka game_main_loop</font> <font color="#00ffff">level11_sub6</font>: @@ -5316,7 +5347,9 @@ <font color="#00ff00">rts</font> <font color="#8080ff">; A4DC 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">LA4DD</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $0623 </font> <font color="#8080ff">; A4DD AD 23 06 .#.</font> +<font color="#8080ff">; turn off electrocution effect (?)</font> +<font color="#00ffff">electrocution_done</font>: + <font color="#00ff00">lda</font> <font color="#ff40ff"> $0623 </font> <font color="#8080ff">; A4DD AD 23 06 .#.</font> <font color="#00ff00">bne</font> <font color="#00ffff">LA4FF</font> <font color="#8080ff">; A4E0 D0 1D ..</font> <font color="#00ff00">lda</font> <font color="#ff40ff"> $0621 </font> <font color="#8080ff">; A4E2 AD 21 06 .!.</font> <font color="#00ff00">bne</font> <font color="#00ffff">LA4E8</font> <font color="#8080ff">; A4E5 D0 01 ..</font> @@ -5342,7 +5375,9 @@ <font color="#00ff00">rts</font> <font color="#8080ff">; A508 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">LA509</font>: <font color="#00ff00">ldx</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; A509 AE 70 07 .p.</font> +<font color="#8080ff">; electrocution effect</font> +<font color="#00ffff">electrocute</font>: + <font color="#00ff00">ldx</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; A509 AE 70 07 .p.</font> <font color="#00ff00">bne</font> <font color="#00ffff">LA50F</font> <font color="#8080ff">; A50C D0 01 ..</font> <font color="#00ff00">rts</font> <font color="#8080ff">; A50E 60 `</font> @@ -5357,16 +5392,17 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$A5</font> <font color="#8080ff">; A522 A9 A5 ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_timer</font> <font color="#8080ff">; A524 8D 3F 06 .?.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; A527 A9 01 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L8003</font> <font color="#8080ff">; A529 20 03 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_lowprior_jv</font> <font color="#8080ff">; A529 20 03 80 ..</font> <font color="#00ff00">rts</font> <font color="#8080ff">; A52C 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; dunno, referenced by routine at $A50F</font> -<font color="#00ffff">sfx_a52d</font>: +<font color="#00ffff">sfx_electrocution</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$81</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$0A</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$81</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A52D 01 81 00 0A 02 01 81 00 ........</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$32</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$81</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$1E</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A535 32 02 01 81 00 1E 02 00 2.......</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">LA53D</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; A53D A9 00 ..</font> +<font color="#8080ff">; skip a couple of the collision regs, so we don't register a collision when Jumpman is being electrocuted</font> +<font color="#00ffff">level02_collisions</font>: + <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; A53D A9 00 ..</font> <font color="#00ff00">jmp</font> <font color="#00ffff">L8F79</font> <font color="#8080ff">; A53F 4C 79 8F Ly.</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> @@ -5623,7 +5659,7 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$A9</font> <font color="#8080ff">; A892 A9 A9 ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_timer</font> <font color="#8080ff">; A894 8D 3F 06 .?.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; A897 A9 03 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L8003</font> <font color="#8080ff">; A899 20 03 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_lowprior_jv</font> <font color="#8080ff">; A899 20 03 80 ..</font> <font color="#00ff00">pla</font> <font color="#8080ff">; A89C 68 h</font> <font color="#00ff00">tax</font> <font color="#8080ff">; A89D AA .</font> <font color="#00ffff">LA89E</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $0763,x </font> <font color="#8080ff">; A89E BD 63 07 .c.</font> @@ -6002,7 +6038,9 @@ .<font color="#ffff00">byte</font> <font color="#ff40ff"> $60 </font> <font color="#8080ff">; AEA3 60 `</font> <font color="#00ffff">LAEA4</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$18</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$38</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$48</font>,<font color="#ff6060">$30</font>,<font color="#ff6060">$18</font> <font color="#8080ff">; AEA4 18 08 38 20 00 48 30 18 ..8 .H0.</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$28</font>,<font color="#ff6060">$10</font>,<font color="#ff6060">$10</font> <font color="#8080ff">; AEAC 28 10 10 (..</font> -<font color="#00ffff">LAEAF</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$40</font>,<font color="#ff6060">$29</font>,<font color="#ff6060">$21</font>,<font color="#ff6060">$11</font>,<font color="#ff6060">$19</font>,<font color="#ff6060">$11</font>,<font color="#ff6060">$09</font>,<font color="#ff6060">$01</font> <font color="#8080ff">; AEAF 40 29 21 11 19 11 09 01 @)!.....</font> +<font color="#8080ff">; letters for level07, spellbound (not ASCII or screencodes though)</font> +<font color="#00ffff">epyx_jumpman</font>: + .<font color="#ffff00">byte</font> <font color="#ff6060">$40</font>,<font color="#ff6060">$29</font>,<font color="#ff6060">$21</font>,<font color="#ff6060">$11</font>,<font color="#ff6060">$19</font>,<font color="#ff6060">$11</font>,<font color="#ff6060">$09</font>,<font color="#ff6060">$01</font> <font color="#8080ff">; AEAF 40 29 21 11 19 11 09 01 @)!.....</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$49</font>,<font color="#ff6060">$41</font>,<font color="#ff6060">$39</font>,<font color="#ff6060">$19</font>,<font color="#ff6060">$31</font> <font color="#8080ff">; AEB7 49 41 39 19 31 IA9.1</font> <font color="#00ffff">LAEBC</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$03</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$C3</font>,<font color="#ff6060">$C3</font>,<font color="#ff6060">$7E</font> <font color="#8080ff">; AEBC 03 03 03 03 03 C3 C3 7E .......~</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$C3</font>,<font color="#ff6060">$C3</font>,<font color="#ff6060">$C3</font>,<font color="#ff6060">$C3</font>,<font color="#ff6060">$C3</font>,<font color="#ff6060">$C3</font>,<font color="#ff6060">$C3</font>,<font color="#ff6060">$7E</font> <font color="#8080ff">; AEC4 C3 C3 C3 C3 C3 C3 C3 7E .......~</font> @@ -6062,12 +6100,16 @@ <font color="#00ff00">rts</font> <font color="#8080ff">; AF57 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">LAF58</font>: <font color="#00ff00">lda</font> <font color="#00ffff">work_level_num_bombs</font> <font color="#8080ff">; AF58 AD 8A 07 ...</font> - <font color="#00ff00">beq</font> <font color="#00ffff">LAF5E</font> <font color="#8080ff">; AF5B F0 01 ..</font> +<font color="#8080ff">; called at end of Spellbound, adds up letter bonus</font> +<font color="#00ffff">level07_letters</font>: + <font color="#00ff00">lda</font> <font color="#00ffff">work_level_num_bombs</font> <font color="#8080ff">; AF58 AD 8A 07 ...</font> + <font color="#00ff00">beq</font> <font color="#00ffff">l07_got_all</font> <font color="#8080ff">; AF5B F0 01 ..</font> <font color="#00ff00">rts</font> <font color="#8080ff">; AF5D 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">LAF5E</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; AF5E A9 09 ..</font> +<font color="#8080ff">; got all the bombs</font> +<font color="#00ffff">l07_got_all</font>: + <font color="#00ff00">lda</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; AF5E A9 09 ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; AF60 8D 24 06 .$.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; AF63 A9 00 ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">playing_level</font> <font color="#8080ff">; AF65 8D 27 06 .'.</font> @@ -6078,8 +6120,8 @@ <font color="#00ff00">adc</font> <font color="#ff6060">#$0A</font> <font color="#8080ff">; AF71 69 0A i.</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; AF73 8D 70 07 .p.</font> <font color="#00ff00">lda</font> <font color="#ff40ff"> $0772,x </font> <font color="#8080ff">; AF76 BD 72 07 .r.</font> - <font color="#00ff00">cmp</font> <font color="#00ffff">LAEAF</font>,<font color="#00ffff">x</font> <font color="#8080ff">; AF79 DD AF AE ...</font> - <font color="#00ff00">beq</font> <font color="#00ffff">LAF96</font> <font color="#8080ff">; AF7C F0 18 ..</font> + <font color="#00ff00">cmp</font> <font color="#00ffff">epyx_jumpman</font>,<font color="#00ffff">x</font> <font color="#8080ff">; AF79 DD AF AE ...</font> + <font color="#00ff00">beq</font> <font color="#00ffff">bonus_250_pts</font> <font color="#8080ff">; AF7C F0 18 ..</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; AF7E A9 00 ..</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $0681 </font> <font color="#8080ff">; AF80 8D 81 06 ...</font> <font color="#00ff00">jmp</font> <font color="#00ffff">LAF92</font> <font color="#8080ff">; AF83 4C 92 AF L..</font> @@ -6095,7 +6137,9 @@ <font color="#00ff00">rts</font> <font color="#8080ff">; AF95 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">LAF96</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; AF96 AD 70 07 .p.</font> +<font color="#8080ff">; per letter</font> +<font color="#00ffff">bonus_250_pts</font>: + <font color="#00ff00">lda</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; AF96 AD 70 07 .p.</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $0686 </font> <font color="#8080ff">; AF99 8D 86 06 ...</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$86</font> <font color="#8080ff">; AF9C A9 86 ..</font> <font color="#00ff00">sta</font> <font color="#ff40ff"> $0681 </font> <font color="#8080ff">; AF9E 8D 81 06 ...</font> @@ -6109,7 +6153,9 @@ <font color="#00ff00">inc</font> <font color="#00ffff">score</font>+<font color="#ff6060">2</font> <font color="#8080ff">; AFB1 EE 02 07 ...</font> <font color="#00ffff">LAFB4</font>: <font color="#00ff00">txa</font> <font color="#8080ff">; AFB4 8A .</font> <font color="#00ff00">pha</font> <font color="#8080ff">; AFB5 48 H</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L800C</font> <font color="#8080ff">; AFB6 20 0C 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">update_score_display_jv</font> <font color="#8080ff">; AFB6 20 0C 80 ..</font> +<font color="#8080ff">; play sfx_letter_bonus</font> +<font color="#00ffff">cue_letter_sfx</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$CB</font> <font color="#8080ff">; AFB9 A9 CB ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_ptr</font> <font color="#8080ff">; AFBB 8D 3C 06 .<.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$AF</font> <font color="#8080ff">; AFBE A9 AF ..</font> @@ -6120,8 +6166,8 @@ <font color="#00ff00">jmp</font> <font color="#00ffff">LAF86</font> <font color="#8080ff">; AFC8 4C 86 AF L..</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; referenced by routine at $AF96</font> -<font color="#00ffff">sfx_afcb</font>: +<font color="#8080ff">; played once per correct letter at end of level07 (spellbound)</font> +<font color="#00ffff">sfx_letter_bonus</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$A5</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$18</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$F3</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; AFCB 01 A5 00 18 04 F3 04 00 ........</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; AFD3 00 00 00 00 00 00 00 00 ........</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; AFDB 00 00 00 00 00 00 00 00 ........</font> @@ -6519,7 +6565,7 @@ <font color="#00ff00">lda</font> <font color="#ff6060">#$B5</font> <font color="#8080ff">; B4D8 A9 B5 ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_timer</font> <font color="#8080ff">; B4DA 8D 3F 06 .?.</font> <font color="#00ff00">lda</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; B4DD A9 03 ..</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L8003</font> <font color="#8080ff">; B4DF 20 03 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_lowprior_jv</font> <font color="#8080ff">; B4DF 20 03 80 ..</font> <font color="#00ffff">LB4E2</font>: <font color="#00ff00">ldy</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; B4E2 A0 01 ..</font> <font color="#00ff00">lda</font> <font color="#ff40ff"> $0681 </font> <font color="#8080ff">; B4E4 AD 81 06 ...</font> <font color="#00ff00">cmp</font> <font color="#ff40ff"> $067E </font> <font color="#8080ff">; B4E7 CD 7E 06 .~.</font> @@ -6723,15 +6769,17 @@ .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; B7B1 00 00 00 00 00 00 00 00 ........</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; B7B9 00 00 00 00 00 00 00 .......</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#00ffff">LB7C0</font>: <font color="#00ff00">lda</font> <font color="#00ffff">score</font>+<font color="#ff6060">2</font> <font color="#8080ff">; B7C0 AD 02 07 ...</font> +<font color="#8080ff">; roll over the score if it's >= 1 million</font> +<font color="#00ffff">score_mod_1m</font>: + <font color="#00ff00">lda</font> <font color="#00ffff">score</font>+<font color="#ff6060">2</font> <font color="#8080ff">; B7C0 AD 02 07 ...</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$0F</font> <font color="#8080ff">; B7C3 C9 0F ..</font> - <font color="#00ff00">bcc</font> <font color="#00ffff">LB7EE</font> <font color="#8080ff">; B7C5 90 27 .'</font> + <font color="#00ff00">bcc</font> <font color="#00ffff">score_below_1m</font> <font color="#8080ff">; B7C5 90 27 .'</font> <font color="#00ff00">lda</font> <font color="#00ffff">score</font>+<font color="#ff6060">1</font> <font color="#8080ff">; B7C7 AD 01 07 ...</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$42</font> <font color="#8080ff">; B7CA C9 42 .B</font> - <font color="#00ff00">bcc</font> <font color="#00ffff">LB7EE</font> <font color="#8080ff">; B7CC 90 20 . </font> + <font color="#00ff00">bcc</font> <font color="#00ffff">score_below_1m</font> <font color="#8080ff">; B7CC 90 20 . </font> <font color="#00ff00">lda</font> <font color="#00ffff">score</font> <font color="#8080ff">; B7CE AD 00 07 ...</font> <font color="#00ff00">cmp</font> <font color="#ff6060">#$40</font> <font color="#8080ff">; B7D1 C9 40 .@</font> - <font color="#00ff00">bcc</font> <font color="#00ffff">LB7EE</font> <font color="#8080ff">; B7D3 90 19 ..</font> + <font color="#00ff00">bcc</font> <font color="#00ffff">score_below_1m</font> <font color="#8080ff">; B7D3 90 19 ..</font> <font color="#00ff00">sec</font> <font color="#8080ff">; B7D5 38 8</font> <font color="#00ff00">lda</font> <font color="#00ffff">score</font> <font color="#8080ff">; B7D6 AD 00 07 ...</font> <font color="#00ff00">sbc</font> <font color="#ff6060">#$40</font> <font color="#8080ff">; B7D9 E9 40 .@</font> @@ -6742,7 +6790,8 @@ <font color="#00ff00">lda</font> <font color="#00ffff">score</font>+<font color="#ff6060">2</font> <font color="#8080ff">; B7E6 AD 02 07 ...</font> <font color="#00ff00">sbc</font> <font color="#ff6060">#$0F</font> <font color="#8080ff">; B7E9 E9 0F ..</font> <font color="#00ff00">sta</font> <font color="#00ffff">score</font>+<font color="#ff6060">2</font> <font color="#8080ff">; B7EB 8D 02 07 ...</font> -<font color="#00ffff">LB7EE</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">L8668</font> <font color="#8080ff">; B7EE 4C 68 86 Lh.</font> +<font color="#00ffff">score_below_1m</font>: + <font color="#00ff00">jmp</font> <font color="#00ffff">L8668</font> <font color="#8080ff">; B7EE 4C 68 86 Lh.</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> <font color="#00ff00">brk</font> <font color="#8080ff">; B7F1 00 .</font> @@ -6804,7 +6853,7 @@ <font color="#00ff00">lda</font> <font color="#00ffff">work_level_time_bonus</font>+<font color="#ff6060">1</font> <font color="#8080ff">; B85A AD 92 07 ...</font> <font color="#00ff00">adc</font> <font color="#ff40ff"> $A5 </font> <font color="#8080ff">; B85D 65 A5 e.</font> <font color="#00ff00">sta</font> <font color="#00ffff">work_level_time_bonus</font>+<font color="#ff6060">1</font> <font color="#8080ff">; B85F 8D 92 07 ...</font> - <font color="#00ff00">jsr</font> <font color="#00ffff">L800C</font> <font color="#8080ff">; B862 20 0C 80 ..</font> + <font color="#00ff00">jsr</font> <font color="#00ffff">update_score_display_jv</font> <font color="#8080ff">; B862 20 0C 80 ..</font> <font color="#00ff00">jsr</font> <font color="#00ffff">L800F</font> <font color="#8080ff">; B865 20 0F 80 ..</font> <font color="#8080ff">; play once per life</font> <font color="#00ffff">play_life_bonus_sfx</font>: @@ -7172,7 +7221,7 @@ <font color="#00ff00">rts</font> <font color="#8080ff">; BCCC 60 `</font> <font color="#8080ff">; ----------------------------------------------------------------------------</font> -<font color="#8080ff">; dunno, but referenced by code at $BC6A</font> +<font color="#8080ff">; dunno, but referenced by code at $BC6A (part of well_done_screen)</font> <font color="#00ffff">code_bccd</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $062A </font> <font color="#8080ff">; BCCD AD 2A 06 .*.</font> <font color="#00ff00">sta</font> <font color="#ff40ff">COLOR2</font> <font color="#8080ff">; BCD0 8D C6 02 ...</font> @@ -7340,7 +7389,8 @@ .<font color="#ffff00">byte</font> <font color="#ff6060">$20</font>,<font color="#ff6060">$88</font>,<font color="#ff6060">$09</font>,<font color="#ff6060">$99</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$E6</font>,<font color="#ff6060">$30</font>,<font color="#ff6060">$99</font> <font color="#8080ff">; BFAE 20 88 09 99 20 E6 30 99 ... .0.</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$20</font>,<font color="#ff6060">$88</font>,<font color="#ff6060">$09</font>,<font color="#ff6060">$99</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$B6</font>,<font color="#ff6060">$3A</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; BFB6 20 88 09 99 20 B6 3A 00 ... .:.</font> <font color="#8080ff">; jumping sound</font> -<font color="#00ffff">sfx12</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$A5</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$79</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$60</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$51</font> <font color="#8080ff">; BFBE 01 A5 00 79 04 60 04 51 ...y.`.Q</font> +<font color="#00ffff">sfx_jump</font>: + .<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$A5</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$79</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$60</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$51</font> <font color="#8080ff">; BFBE 01 A5 00 79 04 60 04 51 ...y.`.Q</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$04</font>,<font color="#ff6060">$3C</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$51</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$60</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$79</font> <font color="#8080ff">; BFC6 04 3C 04 51 04 60 04 79 .<.Q.`.y</font> .<font color="#ffff00">byte</font> <font color="#ff6060">$04</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; BFCE 04 00 ..</font> <font color="#8080ff">; funeral march melody</font> |