aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-09-03 05:16:00 -0400
committerB. Watson <yalhcru@gmail.com>2016-09-03 05:16:00 -0400
commit54115331cb4013c71fc9b65dcaee20b7e00024e4 (patch)
tree1546084d7ed8459908613bed094e6c8ab6169a7e
parent63a4565fbfd833f31f6f392225e51cb72bbc0297 (diff)
downloadjumpmanjr-54115331cb4013c71fc9b65dcaee20b7e00024e4.tar.gz
regenerate jumpmanjr.html
-rw-r--r--jumpmanjr.html249
1 files changed, 152 insertions, 97 deletions
diff --git a/jumpmanjr.html b/jumpmanjr.html
index e42f1e6..a855a3a 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-09-02 05:18:59</font>
+<font color="#8080ff">; Created: 2016-09-03 05:14:51</font>
<font color="#8080ff">; Input file: jumpmanjr.rom</font>
<font color="#8080ff">; Page: 1</font>
@@ -79,7 +79,22 @@
<font color="#00ffff">dlist_shadow_hi</font> :=<font color="#ff40ff"> $06AD </font> <font color="#8080ff">; stored in DLISTH if nonzero</font>
<font color="#00ffff">dli_vec_shadow_lo</font>:=<font color="#ff40ff"> $06AE </font> <font color="#8080ff">; stored in VDSLST if dli_vec_shadow_hi nonzero</font>
<font color="#00ffff">dli_vec_shadow_hi</font>:=<font color="#ff40ff"> $06AF </font> <font color="#8080ff">; stored in VDSLST if nonzero</font>
-<font color="#00ffff">collision_save</font> :=<font color="#ff40ff"> $06B0 </font> <font color="#8080ff">; save_collisions copies GTIA collision regs $D000-$d00f here</font>
+<font color="#00ffff">sav_m0pf</font> :=<font color="#ff40ff"> $06B0 </font> <font color="#8080ff">; Missile 0 to playfield collision.</font>
+<font color="#00ffff">sav_m1pf</font> :=<font color="#ff40ff"> $06B1 </font> <font color="#8080ff">; Missile 1 to playfield collision.</font>
+<font color="#00ffff">sav_m2pf</font> :=<font color="#ff40ff"> $06B2 </font> <font color="#8080ff">; Missile 2 to playfield collision.</font>
+<font color="#00ffff">sav_m3pf</font> :=<font color="#ff40ff"> $06B3 </font> <font color="#8080ff">; Missile 3 to playfield collision.</font>
+<font color="#00ffff">sav_p0pf</font> :=<font color="#ff40ff"> $06B4 </font> <font color="#8080ff">; Player 0 to playfield collision.</font>
+<font color="#00ffff">sav_p1pf</font> :=<font color="#ff40ff"> $06B5 </font> <font color="#8080ff">; Player 1 to playfield collision.</font>
+<font color="#00ffff">sav_p2pf</font> :=<font color="#ff40ff"> $06B6 </font> <font color="#8080ff">; Player 2 to playfield collision.</font>
+<font color="#00ffff">sav_p3pf</font> :=<font color="#ff40ff"> $06B7 </font> <font color="#8080ff">; Player 3 to playfield collision.</font>
+<font color="#00ffff">sav_m0pl</font> :=<font color="#ff40ff"> $06B8 </font> <font color="#8080ff">; Missile 0 to player collision.</font>
+<font color="#00ffff">sav_m1pl</font> :=<font color="#ff40ff"> $06B9 </font> <font color="#8080ff">; Missile 1 to player collision.</font>
+<font color="#00ffff">sav_m2pl</font> :=<font color="#ff40ff"> $06BA </font> <font color="#8080ff">; Missile 2 to player collision.</font>
+<font color="#00ffff">sav_m3pl</font> :=<font color="#ff40ff"> $06BB </font> <font color="#8080ff">; Missile 3 to player collision.</font>
+<font color="#00ffff">sav_p0pl</font> :=<font color="#ff40ff"> $06BC </font> <font color="#8080ff">; Player 0 to player collision.</font>
+<font color="#00ffff">sav_p1pl</font> :=<font color="#ff40ff"> $06BD </font> <font color="#8080ff">; Player 1 to player collision.</font>
+<font color="#00ffff">sav_p2pl</font> :=<font color="#ff40ff"> $06BE </font> <font color="#8080ff">; Player 2 to player collision.</font>
+<font color="#00ffff">sav_p3pl</font> :=<font color="#ff40ff"> $06BF </font> <font color="#8080ff">; Player 3 to player collision.</font>
<font color="#00ffff">option_key_vec</font> :=<font color="#ff40ff"> $06C0 </font> <font color="#8080ff">; vblank_imm_isr jumps thru here if option key pressed</font>
<font color="#00ffff">select_key_vec</font> :=<font color="#ff40ff"> $06C2 </font> <font color="#8080ff">; vblank_imm_isr jumps thru here if select key pressed</font>
<font color="#00ffff">start_key_vec</font> :=<font color="#ff40ff"> $06C4 </font> <font color="#8080ff">; vblank_imm_isr jumps thru here if start key pressed</font>
@@ -280,7 +295,9 @@
<font color="#00ff00">jmp</font> <font color="#00ffff">init_page_7</font> <font color="#8080ff">; 8024 4C 5C 9A L\.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L8027</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">L9AAA</font> <font color="#8080ff">; 8027 4C AA 9A L..</font>
+<font color="#8080ff">; used in multiplayer games, also called in single player (?)</font>
+<font color="#00ffff">next_player_jv</font>:
+ <font color="#00ff00">jmp</font> <font color="#00ffff">next_player</font> <font color="#8080ff">; 8027 4C AA 9A L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">L802A</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">LBA00</font> <font color="#8080ff">; 802A 4C 00 BA L..</font>
@@ -300,7 +317,9 @@
<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>
+<font color="#8080ff">; various levels use this as their init, or use an init that calls this</font>
+<font color="#00ffff">special_init_jv</font>:
+ <font color="#00ff00">jmp</font> <font color="#00ffff">special_init</font> <font color="#8080ff">; 8036 4C 23 8B L#.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">L8B2D</font> <font color="#8080ff">; 8039 4C 2D 8B L-.</font>
@@ -882,6 +901,8 @@
<font color="#8080ff">; VKEYBD now points to $9c00 aka keyboard_isr</font>
<font color="#00ffff">set_vkeybd</font>:
<font color="#00ff00">sta</font> <font color="#00ffff">VKEYBD_hi</font> <font color="#8080ff">; 83ED 8D 09 02 ...</font>
+<font color="#8080ff">; stub =&gt; map_draw_1_blank-1</font>
+<font color="#00ffff">copy_blank_1_map</font>:
<font color="#00ff00">ldx</font> <font color="#ff6060">#$07</font> <font color="#8080ff">; 83F0 A2 07 ..</font>
<font color="#00ffff">L83F2</font>: <font color="#00ff00">lda</font> <font color="#00ffff">stub</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 83F2 BD 05 84 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $06D8,x </font> <font color="#8080ff">; 83F5 9D D8 06 ...</font>
@@ -898,7 +919,8 @@
<font color="#00ffff">stub</font>: <font color="#00ff00">rts</font> <font color="#8080ff">; 8405 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">data_8406</font>:
+<font color="#8080ff">; copied to $06d9 by code at copy_blank_1_map, possibly so it can be modified</font>
+<font color="#00ffff">map_draw_1_blank</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$FE</font>,<font color="#ff6060">$49</font>,<font color="#ff6060">$9C</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$FF</font> <font color="#8080ff">; 8406 FE 49 9C 00 00 01 FF .I.....</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; service immediate vblank interrupt</font>
@@ -1380,7 +1402,7 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</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">lda</font> <font color="#00ffff">sav_p0pf</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">bomb_pickup</font> <font color="#8080ff">; 87A5 D0 01 ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 87A7 60 `</font>
@@ -1522,7 +1544,7 @@
<font color="#00ff00">dec</font> <font color="#00ffff">work_level_num_bombs</font> <font color="#8080ff">; 8887 CE 8A 07 ...</font>
<font color="#8080ff">; wait for bomb to really disappear</font>
<font color="#00ffff">wait_bomb</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">lda</font> <font color="#00ffff">sav_p0pf</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>
<font color="#00ff00">bne</font> <font color="#00ffff">wait_bomb</font> <font color="#8080ff">; 888F D0 F9 ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 8891 60 `</font>
@@ -1642,7 +1664,7 @@
<font color="#00ff00">sta</font> <font color="#ff40ff">AUDF1</font> <font color="#8080ff">; 8973 8D 00 D2 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$A3</font> <font color="#8080ff">; 8976 A9 A3 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">AUDC1</font> <font color="#8080ff">; 8978 8D 01 D2 ...</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 897B AD B4 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; 897B AD B4 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 897E 29 01 ).</font>
<font color="#00ff00">bne</font> <font color="#00ffff">falling_bounce</font> <font color="#8080ff">; 8980 D0 01 ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 8982 60 `</font>
@@ -1759,7 +1781,7 @@
.<font color="#ffff00">byte</font> <font color="#ff6060">$02</font>,<font color="#ff6060">$DC</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$32</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$D2</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$3C</font> <font color="#8080ff">; 8A70 02 DC 02 32 02 D2 02 3C ...2...&lt;</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$02</font>,<font color="#ff6060">$C8</font>,<font color="#ff6060">$02</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">; 8A78 02 C8 02 00 00 00 00 00 ........</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">play_sfx_bounce_2</font>:
+<font color="#00ffff">play_sfx_climb</font>:
<font color="#00ff00">lda</font> <font color="#ff40ff"> $061F </font> <font color="#8080ff">; 8A80 AD 1F 06 ...</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L8A94</font> <font color="#8080ff">; 8A83 D0 0F ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$97</font> <font color="#8080ff">; 8A85 A9 97 ..</font>
@@ -1771,8 +1793,8 @@
<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>
-<font color="#8080ff">; used when jumpman is falling?</font>
-<font color="#00ffff">sfx_bounce_2</font>:
+<font color="#8080ff">; climbing up/down a ladder (not ropes)</font>
+<font color="#00ffff">sfx_climb</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$81</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 8A97 01 81 00 04 01 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">; 8A9F 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">; 8AA7 00 00 00 00 00 00 00 00 ........</font>
@@ -1828,7 +1850,9 @@
.<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">; 8B18 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">; 8B20 00 00 00 ...</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L8B23</font>: <font color="#00ff00">ldx</font> <font color="#ff6060">#$20</font> <font color="#8080ff">; 8B23 A2 20 . </font>
+<font color="#8080ff">; various levels use this as their init, or use an init that calls this</font>
+<font color="#00ffff">special_init</font>:
+ <font color="#00ff00">ldx</font> <font color="#ff6060">#$20</font> <font color="#8080ff">; 8B23 A2 20 . </font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8B25 A9 00 ..</font>
<font color="#00ffff">L8B27</font>: <font color="#00ff00">sta</font> <font color="#00ffff">bullet_y_delta</font>+<font color="#ff6060">1</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8B27 9D 5F 07 ._.</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 8B2A CA .</font>
@@ -2439,13 +2463,17 @@
.<font color="#ffff00">byte</font> <font color="#ff6060">$09</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 8F71 09 00 ..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; did any missile hit a player, or did players 2 or 3 hit a player...</font>
-<font color="#00ffff">check_collisions_1</font>:
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">14</font> <font color="#8080ff">; 8F73 AD BE 06 ...</font>
-<font color="#00ffff">L8F76</font>: <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">15</font> <font color="#8080ff">; 8F76 0D BF 06 ...</font>
-<font color="#00ffff">L8F79</font>: <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">8</font> <font color="#8080ff">; 8F79 0D B8 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">9</font> <font color="#8080ff">; 8F7C 0D B9 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">10</font> <font color="#8080ff">; 8F7F 0D BA 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">11</font> <font color="#8080ff">; 8F82 0D BB 06 ...</font>
+<font color="#00ffff">check_pl_coll</font>:
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p2pl</font> <font color="#8080ff">; 8F73 AD BE 06 ...</font>
+<font color="#8080ff">; skip player 2 to player collisions, called with A=0, used by level 11</font>
+<font color="#00ffff">check_pl_coll_no_p2</font>:
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p3pl</font> <font color="#8080ff">; 8F76 0D BF 06 ...</font>
+<font color="#8080ff">; skip player 2 and 3 to player collisions, called with A=0, used by levels 3 and 10</font>
+<font color="#00ffff">check_pl_coll_no_pl</font>:
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_m0pl</font> <font color="#8080ff">; 8F79 0D B8 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_m1pl</font> <font color="#8080ff">; 8F7C 0D B9 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_m2pl</font> <font color="#8080ff">; 8F7F 0D BA 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_m3pl</font> <font color="#8080ff">; 8F82 0D BB 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 8F85 29 01 ).</font>
<font color="#00ff00">beq</font> <font color="#00ffff">L8F91</font> <font color="#8080ff">; 8F87 F0 08 ..</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $0623 </font> <font color="#8080ff">; 8F89 AD 23 06 .#.</font>
@@ -3163,7 +3191,7 @@
<font color="#8080ff">; multiple code paths jump here. replay level, load next level, or go back to ask_num_players</font>
<font color="#00ffff">afterlife</font>:
<font color="#00ff00">jsr</font> <font color="#00ffff">enable_joystick_jv</font> <font color="#8080ff">; 9600 20 1B 80 ..</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">L8027</font> <font color="#8080ff">; 9603 20 27 80 '.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">next_player_jv</font> <font color="#8080ff">; 9603 20 27 80 '.</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $06F8 </font> <font color="#8080ff">; 9606 AD F8 06 ...</font>
<font color="#00ff00">beq</font> <font color="#00ffff">L960E</font> <font color="#8080ff">; 9609 F0 03 ..</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">ask_num_players</font> <font color="#8080ff">; 960B 4C 00 94 L..</font>
@@ -3223,11 +3251,15 @@
<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="#8080ff">; call start subroutine for current level</font>
+<font color="#00ffff">init_level</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_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="#8080ff">; set color regs from level descriptor (COLOR4 always $00, black)</font>
+<font color="#00ffff">set_level_colors</font>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9691 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLOR4</font> <font color="#8080ff">; 9693 8D C8 02 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $06AB </font> <font color="#8080ff">; 9696 8D AB 06 ...</font>
@@ -3437,8 +3469,8 @@
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 981C 8D 88 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $06ED </font> <font color="#8080ff">; 981F AD ED 06 ...</font>
<font color="#00ff00">beq</font> <font color="#00ffff">check_collisions_3</font> <font color="#8080ff">; 9822 F0 0E ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 9824 AD B4 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">5</font> <font color="#8080ff">; 9827 0D B5 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; 9824 AD B4 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p1pf</font> <font color="#8080ff">; 9827 0D B5 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 982A 29 03 ).</font>
<font color="#00ff00">bne</font> <font color="#00ffff">check_collisions_3</font> <font color="#8080ff">; 982C D0 04 ..</font>
<font color="#00ffff">L982E</font>: <font color="#00ff00">inc</font> <font color="#ff40ff"> $0623 </font> <font color="#8080ff">; 982E EE 23 06 .#.</font>
@@ -3449,8 +3481,8 @@
<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>
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 9837 AD B4 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">5</font> <font color="#8080ff">; 983A 0D B5 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; 9837 AD B4 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p1pf</font> <font color="#8080ff">; 983A 0D B5 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 983D 29 03 ).</font>
<font color="#00ff00">bne</font> <font color="#00ffff">check_trigger_state</font> <font color="#8080ff">; 983F D0 0C ..</font>
<font color="#00ff00">inc</font> <font color="#ff40ff"> $06ED </font> <font color="#8080ff">; 9841 EE ED 06 ...</font>
@@ -3479,8 +3511,8 @@
<font color="#00ffff">cud_jmp</font>:<font color="#00ff00">jmp</font> <font color="#00ffff">L9892</font> <font color="#8080ff">; 9860 4C 92 98 L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L9863</font>: <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 9863 AD B4 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">5</font> <font color="#8080ff">; 9866 0D B5 06 ...</font>
+<font color="#00ffff">L9863</font>: <font color="#00ff00">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; 9863 AD B4 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p1pf</font> <font color="#8080ff">; 9866 0D B5 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; 9869 29 02 ).</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L9870</font> <font color="#8080ff">; 986B D0 03 ..</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">L98D0</font> <font color="#8080ff">; 986D 4C D0 98 L..</font>
@@ -3501,11 +3533,11 @@
<font color="#00ff00">clc</font> <font color="#8080ff">; 9889 18 .</font>
<font color="#00ff00">adc</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 988A 69 04 i.</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 988C 8D 88 06 ...</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">play_sfx_bounce_2</font> <font color="#8080ff">; 988F 4C 80 8A L..</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">play_sfx_climb</font> <font color="#8080ff">; 988F 4C 80 8A L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L9892</font>: <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 9892 AD B4 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">5</font> <font color="#8080ff">; 9895 0D B5 06 ...</font>
+<font color="#00ffff">L9892</font>: <font color="#00ff00">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; 9892 AD B4 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p1pf</font> <font color="#8080ff">; 9895 0D B5 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 9898 29 01 ).</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L989F</font> <font color="#8080ff">; 989A D0 03 ..</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">L98D0</font> <font color="#8080ff">; 989C 4C D0 98 L..</font>
@@ -3527,14 +3559,16 @@
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 98B9 8D 88 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $061F </font> <font color="#8080ff">; 98BC AD 1F 06 ...</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L98D0</font> <font color="#8080ff">; 98BF D0 0F ..</font>
+<font color="#8080ff">; horizontal movement</font>
+<font color="#00ffff">play_sfx_walk</font>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$73</font> <font color="#8080ff">; 98C1 A9 73 .s</font>
<font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_tempo</font> <font color="#8080ff">; 98C3 8D 3E 06 .&gt;.</font>
<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">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="#00ffff">L98D0</font>: <font color="#00ff00">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; 98D0 AD B4 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p1pf</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>
<font color="#00ff00">beq</font> <font color="#00ffff">L98F0</font> <font color="#8080ff">; 98D8 F0 16 ..</font>
<font color="#00ff00">jsr</font> <font color="#00ffff">L9971</font> <font color="#8080ff">; 98DA 20 71 99 q.</font>
@@ -3547,7 +3581,7 @@
<font color="#00ff00">jmp</font> <font color="#00ffff">L9925</font> <font color="#8080ff">; 98ED 4C 25 99 L%.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L98F0</font>: <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 98F0 AD B4 06 ...</font>
+<font color="#00ffff">L98F0</font>: <font color="#00ff00">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; 98F0 AD B4 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 98F3 29 01 ).</font>
<font color="#00ff00">beq</font> <font color="#00ffff">L990F</font> <font color="#8080ff">; 98F5 F0 18 ..</font>
<font color="#00ff00">dec</font> <font color="#00ffff">player_y_pos</font> <font color="#8080ff">; 98F7 CE 83 06 ...</font>
@@ -3564,8 +3598,8 @@
<font color="#00ffff">L990F</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 990F AD 88 06 ...</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 9912 C9 01 ..</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L9925</font> <font color="#8080ff">; 9914 D0 0F ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; 9916 AD B4 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">5</font> <font color="#8080ff">; 9919 0D B5 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; 9916 AD B4 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p1pf</font> <font color="#8080ff">; 9919 0D B5 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; 991C 29 02 ).</font>
<font color="#00ff00">beq</font> <font color="#00ffff">L9925</font> <font color="#8080ff">; 991E F0 05 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 9920 A9 04 ..</font>
@@ -3704,8 +3738,8 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">code_99f7</font>:
- <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">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; 99F7 AD B4 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p1pf</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">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>
@@ -3761,79 +3795,98 @@
.<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$4C</font>,<font color="#ff6060">$1D</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 9A71 00 00 00 4C 1D 00 00 00 ...L....</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$06</font>,<font color="#ff6060">$03</font> <font color="#8080ff">; 9A79 00 06 03 ...</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L9A7C</font>: <font color="#00ff00">ldx</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9A7C AE FE 06 ...</font>
+<font color="#8080ff">; multiply current player number by 11, return result in Y</font>
+<font color="#00ffff">mul_player_11</font>:
+ <font color="#00ff00">ldx</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9A7C AE FE 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9A7F A9 00 ..</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; 9A81 18 .</font>
-<font color="#00ffff">L9A82</font>: <font color="#00ff00">dex</font> <font color="#8080ff">; 9A82 CA .</font>
- <font color="#00ff00">beq</font> <font color="#00ffff">L9A8A</font> <font color="#8080ff">; 9A83 F0 05 ..</font>
+<font color="#00ffff">add_11</font>: <font color="#00ff00">dex</font> <font color="#8080ff">; 9A82 CA .</font>
+ <font color="#00ff00">beq</font> <font color="#00ffff">return_y</font> <font color="#8080ff">; 9A83 F0 05 ..</font>
<font color="#00ff00">adc</font> <font color="#ff6060">#$0B</font> <font color="#8080ff">; 9A85 69 0B i.</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">L9A82</font> <font color="#8080ff">; 9A87 4C 82 9A L..</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">add_11</font> <font color="#8080ff">; 9A87 4C 82 9A L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L9A8A</font>: <font color="#00ff00">tay</font> <font color="#8080ff">; 9A8A A8 .</font>
+<font color="#00ffff">return_y</font>:
+ <font color="#00ff00">tay</font> <font color="#8080ff">; 9A8A A8 .</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 9A8B 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L9A8C</font>: <font color="#00ff00">ldx</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9A8C A2 00 ..</font>
-<font color="#00ffff">L9A8E</font>: <font color="#00ff00">lda</font> <font color="#00ffff">score</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 9A8E BD 00 07 ...</font>
+<font color="#00ffff">save_struct_player</font>:
+ <font color="#00ff00">ldx</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9A8C A2 00 ..</font>
+<font color="#00ffff">ssp_loop</font>:
+ <font color="#00ff00">lda</font> <font color="#00ffff">score</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 9A8E BD 00 07 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $070B,y </font> <font color="#8080ff">; 9A91 99 0B 07 ...</font>
<font color="#00ff00">inx</font> <font color="#8080ff">; 9A94 E8 .</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 9A95 C8 .</font>
<font color="#00ff00">cpx</font> <font color="#ff6060">#$0B</font> <font color="#8080ff">; 9A96 E0 0B ..</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L9A8E</font> <font color="#8080ff">; 9A98 D0 F4 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">ssp_loop</font> <font color="#8080ff">; 9A98 D0 F4 ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 9A9A 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L9A9B</font>: <font color="#00ff00">ldx</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9A9B A2 00 ..</font>
-<font color="#00ffff">L9A9D</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $070B,y </font> <font color="#8080ff">; 9A9D B9 0B 07 ...</font>
+<font color="#00ffff">load_struct_player</font>:
+ <font color="#00ff00">ldx</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9A9B A2 00 ..</font>
+<font color="#00ffff">lsp_loop</font>:
+ <font color="#00ff00">lda</font> <font color="#ff40ff"> $070B,y </font> <font color="#8080ff">; 9A9D B9 0B 07 ...</font>
<font color="#00ff00">sta</font> <font color="#00ffff">score</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 9AA0 9D 00 07 ...</font>
<font color="#00ff00">inx</font> <font color="#8080ff">; 9AA3 E8 .</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 9AA4 C8 .</font>
<font color="#00ff00">cpx</font> <font color="#ff6060">#$0B</font> <font color="#8080ff">; 9AA5 E0 0B ..</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L9A9D</font> <font color="#8080ff">; 9AA7 D0 F4 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">lsp_loop</font> <font color="#8080ff">; 9AA7 D0 F4 ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 9AA9 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L9AAA</font>: <font color="#00ff00">jsr</font> <font color="#00ffff">L9A7C</font> <font color="#8080ff">; 9AAA 20 7C 9A |.</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">L9A8C</font> <font color="#8080ff">; 9AAD 20 8C 9A ..</font>
+<font color="#8080ff">; used in multiplayer games, also called in single player (?)</font>
+<font color="#00ffff">next_player</font>:
+ <font color="#00ff00">jsr</font> <font color="#00ffff">mul_player_11</font> <font color="#8080ff">; 9AAA 20 7C 9A |.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">save_struct_player</font> <font color="#8080ff">; 9AAD 20 8C 9A ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9AB0 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $06F7 </font> <font color="#8080ff">; 9AB2 8D F7 06 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $06F8 </font> <font color="#8080ff">; 9AB5 8D F8 06 ...</font>
-<font color="#00ffff">L9AB8</font>: <font color="#00ff00">inc</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9AB8 EE FE 06 ...</font>
+<font color="#8080ff">; wraparound to 1 if &gt; total players</font>
+<font color="#00ffff">next_player_num</font>:
+ <font color="#00ff00">inc</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9AB8 EE FE 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $06FF </font> <font color="#8080ff">; 9ABB AD FF 06 ...</font>
<font color="#00ff00">cmp</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9ABE CD FE 06 ...</font>
- <font color="#00ff00">bcs</font> <font color="#00ffff">L9ACB</font> <font color="#8080ff">; 9AC1 B0 08 ..</font>
+ <font color="#00ff00">bcs</font> <font color="#00ffff">look_for_alive</font> <font color="#8080ff">; 9AC1 B0 08 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 9AC3 A9 01 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9AC5 8D FE 06 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $06F7 </font> <font color="#8080ff">; 9AC8 8D F7 06 ...</font>
-<font color="#00ffff">L9ACB</font>: <font color="#00ff00">ldx</font> <font color="#00ffff">number_of_players</font> <font color="#8080ff">; 9ACB AE F4 06 ...</font>
+<font color="#00ffff">look_for_alive</font>:
+ <font color="#00ff00">ldx</font> <font color="#00ffff">number_of_players</font> <font color="#8080ff">; 9ACB AE F4 06 ...</font>
<font color="#00ff00">inx</font> <font color="#8080ff">; 9ACE E8 .</font>
- <font color="#00ff00">ldy</font> <font color="#00ffff">L9AFB</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 9ACF BC FB 9A ...</font>
-<font color="#00ffff">L9AD2</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $0715,y </font> <font color="#8080ff">; 9AD2 B9 15 07 ...</font>
+ <font color="#00ff00">ldy</font> <font color="#00ffff">mul_11_table_minus_one</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 9ACF BC FB 9A ...</font>
+<font color="#00ffff">is_player_dead</font>:
+ <font color="#00ff00">lda</font> <font color="#ff40ff"> $0715,y </font> <font color="#8080ff">; 9AD2 B9 15 07 ...</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$FF</font> <font color="#8080ff">; 9AD5 C9 FF ..</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L9AE5</font> <font color="#8080ff">; 9AD7 D0 0C ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">check_lives</font> <font color="#8080ff">; 9AD7 D0 0C ..</font>
<font color="#00ff00">tya</font> <font color="#8080ff">; 9AD9 98 .</font>
<font color="#00ff00">sec</font> <font color="#8080ff">; 9ADA 38 8</font>
<font color="#00ff00">sbc</font> <font color="#ff6060">#$0B</font> <font color="#8080ff">; 9ADB E9 0B ..</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; 9ADD A8 .</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 9ADE CA .</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L9AD2</font> <font color="#8080ff">; 9ADF D0 F1 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">is_player_dead</font> <font color="#8080ff">; 9ADF D0 F1 ..</font>
<font color="#00ff00">inc</font> <font color="#ff40ff"> $06F8 </font> <font color="#8080ff">; 9AE1 EE F8 06 ...</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 9AE4 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L9AE5</font>: <font color="#00ff00">stx</font> <font color="#ff40ff"> $06FF </font> <font color="#8080ff">; 9AE5 8E FF 06 ...</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">L9A7C</font> <font color="#8080ff">; 9AE8 20 7C 9A |.</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">L9A9B</font> <font color="#8080ff">; 9AEB 20 9B 9A ..</font>
+<font color="#8080ff">; if player hasn't been eliminated, but is out of lives, eliminate him</font>
+<font color="#00ffff">check_lives</font>:
+ <font color="#00ff00">stx</font> <font color="#ff40ff"> $06FF </font> <font color="#8080ff">; 9AE5 8E FF 06 ...</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">mul_player_11</font> <font color="#8080ff">; 9AE8 20 7C 9A |.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">load_struct_player</font> <font color="#8080ff">; 9AEB 20 9B 9A ..</font>
<font color="#00ff00">lda</font> <font color="#00ffff">lives</font> <font color="#8080ff">; 9AEE AD 0A 07 ...</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$FF</font> <font color="#8080ff">; 9AF1 C9 FF ..</font>
- <font color="#00ff00">beq</font> <font color="#00ffff">L9AB8</font> <font color="#8080ff">; 9AF3 F0 C3 ..</font>
+ <font color="#00ff00">beq</font> <font color="#00ffff">next_player_num</font> <font color="#8080ff">; 9AF3 F0 C3 ..</font>
+<font color="#8080ff">; found the next player that isn't dead</font>
+<font color="#00ffff">player_alive</font>:
<font color="#00ff00">lda</font> <font color="#ff40ff"> $0709 </font> <font color="#8080ff">; 9AF5 AD 09 07 ...</font>
<font color="#00ff00">sta</font> <font color="#00ffff">initial_speed</font> <font color="#8080ff">; 9AF8 8D 25 06 .%.</font>
-<font color="#00ffff">L9AFB</font>: <font color="#00ff00">rts</font> <font color="#8080ff">; 9AFB 60 `</font>
+<font color="#8080ff">; 1-indexed</font>
+<font color="#00ffff">mul_11_table_minus_one</font>:
+ <font color="#00ff00">rts</font> <font color="#8080ff">; 9AFB 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">data_9afc</font>:
+<font color="#00ffff">mul_11_table</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$0B</font>,<font color="#ff6060">$16</font>,<font color="#ff6060">$21</font> <font color="#8080ff">; 9AFC 00 0B 16 21 ...!</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; for some reason there are 2 copies of the display list, at $0800 and $0881</font>
@@ -4190,7 +4243,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">L0000</font> <font color="#8080ff">; A006 00 00 ..</font>
<font color="#8080ff">; a subroutine</font>
<font color="#00ffff">level01_sub3</font>:
- .<font color="#00ffff">addr</font> <font color="#00ffff">check_collisions_1</font> <font color="#8080ff">; A008 73 8F s.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">check_pl_coll</font> <font color="#8080ff">; A008 73 8F s.</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>:
@@ -4354,7 +4407,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">electrocution_bomb_pickup</font> <font color="#8080ff">; A060 98 A4 ..</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">L8036</font> <font color="#8080ff">; A062 36 80 6.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; A062 36 80 6.</font>
<font color="#8080ff">; always $9740 aka game_main_loop</font>
<font color="#00ffff">level02_sub6</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">game_main_loop</font> <font color="#8080ff">; A064 40 97 @.</font>
@@ -4568,7 +4621,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A0E0 E6 06 ..</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">L8036</font> <font color="#8080ff">; A0E2 36 80 6.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; A0E2 36 80 6.</font>
<font color="#8080ff">; always $9740 aka game_main_loop</font>
<font color="#00ffff">level04_sub6</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">game_main_loop</font> <font color="#8080ff">; A0E4 40 97 @.</font>
@@ -4618,7 +4671,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">L0000</font> <font color="#8080ff">; A106 00 00 ..</font>
<font color="#8080ff">; a subroutine</font>
<font color="#00ffff">level05_sub3</font>:
- .<font color="#00ffff">addr</font> <font color="#00ffff">check_collisions_1</font> <font color="#8080ff">; A108 73 8F s.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">check_pl_coll</font> <font color="#8080ff">; A108 73 8F s.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; number of bombs to pick up on this level</font>
<font color="#00ffff">level05_num_bombs</font>:
@@ -4832,7 +4885,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">L0000</font> <font color="#8080ff">; A186 00 00 ..</font>
<font color="#8080ff">; a subroutine</font>
<font color="#00ffff">level07_sub3</font>:
- .<font color="#00ffff">addr</font> <font color="#00ffff">check_collisions_1</font> <font color="#8080ff">; A188 73 8F s.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">check_pl_coll</font> <font color="#8080ff">; A188 73 8F s.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; number of bombs to pick up on this level</font>
<font color="#00ffff">level07_num_bombs</font>:
@@ -4889,7 +4942,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A1A0 E6 06 ..</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">L8036</font> <font color="#8080ff">; A1A2 36 80 6.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; A1A2 36 80 6.</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">; A1A4 40 97 @.</font>
@@ -4939,7 +4992,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">L0000</font> <font color="#8080ff">; A1C6 00 00 ..</font>
<font color="#8080ff">; a subroutine</font>
<font color="#00ffff">level08_sub3</font>:
- .<font color="#00ffff">addr</font> <font color="#00ffff">check_collisions_1</font> <font color="#8080ff">; A1C8 73 8F s.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">check_pl_coll</font> <font color="#8080ff">; A1C8 73 8F s.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; number of bombs to pick up on this level</font>
<font color="#00ffff">level08_num_bombs</font>:
@@ -5210,7 +5263,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">herethere_bomb_sub</font> <font color="#8080ff">; A260 FD B2 ..</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">; A262 36 80 6.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; A262 36 80 6.</font>
<font color="#8080ff">; always $9740 aka game_main_loop</font>
<font color="#00ffff">level10_sub6</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">game_main_loop</font> <font color="#8080ff">; A264 40 97 @.</font>
@@ -5317,7 +5370,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">hatch_bomb_sub</font> <font color="#8080ff">; A2A0 4C B4 L.</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">; A2A2 36 80 6.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; A2A2 36 80 6.</font>
<font color="#8080ff">; always $9740 aka game_main_loop</font>
<font color="#00ffff">level11_sub6</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">game_main_loop</font> <font color="#8080ff">; A2A4 40 97 @.</font>
@@ -5367,7 +5420,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">hurr_sub2</font> <font color="#8080ff">; A2C6 09 B7 ..</font>
<font color="#8080ff">; a subroutine</font>
<font color="#00ffff">level12_sub3</font>:
- .<font color="#00ffff">addr</font> <font color="#00ffff">check_collisions_1</font> <font color="#8080ff">; A2C8 73 8F s.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">check_pl_coll</font> <font color="#8080ff">; A2C8 73 8F s.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; number of bombs to pick up on this level</font>
<font color="#00ffff">level12_num_bombs</font>:
@@ -5424,7 +5477,7 @@
.<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A2E0 E6 06 ..</font>
<font color="#8080ff">; called at start of level, $06E6 for some levels, or else a ROM subroutine</font>
<font color="#00ffff">level12_sub_start</font>:
- .<font color="#00ffff">addr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; A2E2 36 80 6.</font>
+ .<font color="#00ffff">addr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; A2E2 36 80 6.</font>
<font color="#8080ff">; always $9740 aka game_main_loop</font>
<font color="#00ffff">level12_sub6</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">game_main_loop</font> <font color="#8080ff">; A2E4 40 97 @.</font>
@@ -5585,11 +5638,11 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">LA4E8</font>: <font color="#00ff00">ldx</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; A4E8 A2 01 ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">14</font> <font color="#8080ff">; A4EA AD BE 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p2pl</font> <font color="#8080ff">; A4EA AD BE 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; A4ED 29 03 ).</font>
<font color="#00ff00">bne</font> <font color="#00ffff">LA505</font> <font color="#8080ff">; A4EF D0 14 ..</font>
<font color="#00ff00">inx</font> <font color="#8080ff">; A4F1 E8 .</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">15</font> <font color="#8080ff">; A4F2 AD BF 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p3pl</font> <font color="#8080ff">; A4F2 AD BF 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; A4F5 29 03 ).</font>
<font color="#00ff00">bne</font> <font color="#00ffff">LA505</font> <font color="#8080ff">; A4F7 D0 0C ..</font>
<font color="#00ff00">lda</font> <font color="#00ffff">initial_speed</font> <font color="#8080ff">; A4F9 AD 25 06 .%.</font>
@@ -5631,7 +5684,7 @@
<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">level03_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="#00ff00">jmp</font> <font color="#00ffff">check_pl_coll_no_pl</font> <font color="#8080ff">; A53F 4C 79 8F Ly.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; dunno, referenced by electrocution_bomb_pickup</font>
@@ -5693,7 +5746,7 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; gets called at start of level</font>
<font color="#00ffff">dumbwaiter_setup</font>:
- <font color="#00ff00">jsr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; A68C 20 36 80 6.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; A68C 20 36 80 6.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$06</font> <font color="#8080ff">; A68F A9 06 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">bullet_y_delta</font>+<font color="#ff6060">2</font> <font color="#8080ff">; A691 8D 60 07 .`.</font>
<font color="#00ff00">ldy</font> <font color="#ff6060">#$2A</font> <font color="#8080ff">; A694 A0 2A .*</font>
@@ -5780,26 +5833,26 @@
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; A735 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $06ED </font> <font color="#8080ff">; A737 8D ED 06 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0778 </font> <font color="#8080ff">; A73A 8D 78 07 .x.</font>
-<font color="#00ffff">LA73D</font>: <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">8</font> <font color="#8080ff">; A73D AD B8 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">9</font> <font color="#8080ff">; A740 0D B9 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">10</font> <font color="#8080ff">; A743 0D BA 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">11</font> <font color="#8080ff">; A746 0D BB 06 ...</font>
+<font color="#00ffff">LA73D</font>: <font color="#00ff00">lda</font> <font color="#00ffff">sav_m0pl</font> <font color="#8080ff">; A73D AD B8 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_m1pl</font> <font color="#8080ff">; A740 0D B9 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_m2pl</font> <font color="#8080ff">; A743 0D BA 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_m3pl</font> <font color="#8080ff">; A746 0D BB 06 ...</font>
<font color="#00ff00">tax</font> <font color="#8080ff">; A749 AA .</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">14</font> <font color="#8080ff">; A74A 0D BE 06 ...</font>
- <font color="#00ff00">ora</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">15</font> <font color="#8080ff">; A74D 0D BF 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p2pl</font> <font color="#8080ff">; A74A 0D BE 06 ...</font>
+ <font color="#00ff00">ora</font> <font color="#00ffff">sav_p3pl</font> <font color="#8080ff">; A74D 0D BF 06 ...</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; A750 A8 .</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; A751 29 01 ).</font>
<font color="#00ff00">beq</font> <font color="#00ffff">LA760</font> <font color="#8080ff">; A753 F0 0B ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; A755 AD B4 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; A755 AD B4 06 ...</font>
<font color="#00ff00">ora</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; A758 09 01 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; A75A 8D B4 06 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; A75A 8D B4 06 ...</font>
<font color="#00ff00">inc</font> <font color="#00ffff">player_y_pos</font> <font color="#8080ff">; A75D EE 83 06 ...</font>
<font color="#00ffff">LA760</font>: <font color="#00ff00">tya</font> <font color="#8080ff">; A760 98 .</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; A761 29 02 ).</font>
<font color="#00ff00">beq</font> <font color="#00ffff">LA779</font> <font color="#8080ff">; A763 F0 14 ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">5</font> <font color="#8080ff">; A765 AD B5 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p1pf</font> <font color="#8080ff">; A765 AD B5 06 ...</font>
<font color="#00ff00">ora</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; A768 09 01 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">5</font> <font color="#8080ff">; A76A 8D B5 06 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">sav_p1pf</font> <font color="#8080ff">; A76A 8D B5 06 ...</font>
<font color="#00ff00">txa</font> <font color="#8080ff">; A76D 8A .</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; A76E 29 02 ).</font>
<font color="#00ff00">beq</font> <font color="#00ffff">LA778</font> <font color="#8080ff">; A770 F0 06 ..</font>
@@ -5852,7 +5905,7 @@
<font color="#00ff00">asl</font> <font color="#00ffff">a</font> <font color="#8080ff">; A82D 0A .</font>
<font color="#00ff00">ora</font> <font color="#ff6060">#$08</font> <font color="#8080ff">; A82E 09 08 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLOR3</font> <font color="#8080ff">; A830 8D C7 02 ...</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">check_collisions_1</font> <font color="#8080ff">; A833 4C 73 8F Ls.</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">check_pl_coll</font> <font color="#8080ff">; A833 4C 73 8F Ls.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">hellstones_sub0</font>:
@@ -5993,7 +6046,7 @@
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $FF </font> <font color="#8080ff">; A9C5 FF .</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">walls_init</font>:
- <font color="#00ff00">jsr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; A9C6 20 36 80 6.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; A9C6 20 36 80 6.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; A9C9 A9 02 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; A9CB 8D 70 07 .p.</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0772 </font> <font color="#8080ff">; A9CE 8D 72 07 .r.</font>
@@ -6077,7 +6130,7 @@
<font color="#00ff00">ldx</font> <font color="#ff6060">#$05</font> <font color="#8080ff">; AA5A A2 05 ..</font>
<font color="#00ffff">LAA5C</font>: <font color="#00ff00">dex</font> <font color="#8080ff">; AA5C CA .</font>
<font color="#00ff00">beq</font> <font color="#00ffff">walls_sub0</font> <font color="#8080ff">; AA5D F0 DB ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">7</font>,<font color="#00ffff">x</font> <font color="#8080ff">; AA5F BD B7 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sav_p3pf</font>,<font color="#00ffff">x</font> <font color="#8080ff">; AA5F BD B7 06 ...</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; AA62 29 01 ).</font>
<font color="#00ff00">beq</font> <font color="#00ffff">LAA5C</font> <font color="#8080ff">; AA64 F0 F6 ..</font>
<font color="#00ff00">lda</font> <font color="#00ffff">player_x_pos</font> <font color="#8080ff">; AA66 AD 7E 06 .~.</font>
@@ -6319,7 +6372,7 @@
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $FF </font> <font color="#8080ff">; AE9A FF .</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">spellbound_init</font>:
- <font color="#00ff00">jsr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; AE9B 20 36 80 6.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; AE9B 20 36 80 6.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$C0</font> <font color="#8080ff">; AE9E A9 C0 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; AEA0 8D 70 07 .p.</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; AEA3 60 `</font>
@@ -6492,7 +6545,7 @@
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $FF </font> <font color="#8080ff">; B0C3 FF .</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">blackout_init</font>:
- <font color="#00ff00">jsr</font> <font color="#00ffff">L8036</font> <font color="#8080ff">; B0C4 20 36 80 6.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">special_init_jv</font> <font color="#8080ff">; B0C4 20 36 80 6.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$10</font> <font color="#8080ff">; B0C7 A9 10 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">SAVMSC</font>+<font color="#ff6060">1</font> <font color="#8080ff">; B0C9 85 59 .Y</font>
<font color="#00ff00">jsr</font> <font color="#00ffff">clear_screen_mem_jv</font> <font color="#8080ff">; B0CB 20 1E 80 ..</font>
@@ -6738,7 +6791,7 @@
<font color="#00ffff">LB2F2</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $062A </font> <font color="#8080ff">; B2F2 AD 2A 06 .*.</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">PCOLR2</font> <font color="#8080ff">; B2F5 8D C2 02 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; B2F8 A9 00 ..</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">L8F79</font> <font color="#8080ff">; B2FA 4C 79 8F Ly.</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">check_pl_coll_no_pl</font> <font color="#8080ff">; B2FA 4C 79 8F Ly.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">herethere_bomb_sub</font>:
@@ -6919,7 +6972,7 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">hatch_sub3</font>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; B57C A9 00 ..</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">L8F76</font> <font color="#8080ff">; B57E 4C 76 8F Lv.</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">check_pl_coll_no_p2</font> <font color="#8080ff">; B57E 4C 76 8F Lv.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">hatch_sub1</font>:
@@ -7545,7 +7598,7 @@
<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>
<font color="#00ff00">lda</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; BCD3 A9 02 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">collision_save</font>+<font color="#ff6060">4</font> <font color="#8080ff">; BCD5 8D B4 06 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">sav_p0pf</font> <font color="#8080ff">; BCD5 8D B4 06 ...</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; BCD8 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
@@ -7651,8 +7704,10 @@
.<font color="#ffff00">byte</font> <font color="#ff6060">$10</font>,<font color="#ff6060">$3C</font>,<font color="#ff6060">$10</font>,<font color="#ff6060">$3C</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$35</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$2F</font> <font color="#8080ff">; BE55 10 3C 10 3C 08 35 08 2F .&lt;.&lt;.5./</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$08</font>,<font color="#ff6060">$2D</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$28</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$2D</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$2F</font> <font color="#8080ff">; BE5D 08 2D 08 28 08 2D 08 2F .-.(.-./</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$08</font>,<font color="#ff6060">$35</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$3C</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$51</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$60</font> <font color="#8080ff">; BE65 08 35 08 3C 08 51 08 60 .5.&lt;.Q.`</font>
- .<font color="#ffff00">byte</font> <font color="#ff6060">$08</font>,<font color="#ff6060">$51</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$79</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$81</font> <font color="#8080ff">; BE6D 08 51 08 79 20 00 01 81 .Q.y ...</font>
- .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$32</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; BE75 00 32 01 00 .2..</font>
+ .<font color="#ffff00">byte</font> <font color="#ff6060">$08</font>,<font color="#ff6060">$51</font>,<font color="#ff6060">$08</font>,<font color="#ff6060">$79</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; BE6D 08 51 08 79 20 00 .Q.y .</font>
+<font color="#8080ff">; horizontal movement</font>
+<font color="#00ffff">sfx_walk</font>:
+ .<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$81</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$32</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; BE73 01 81 00 32 01 00 ...2..</font>
<font color="#00ffff">sfx_extra_life</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$A8</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$05</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$0F</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$0A</font> <font color="#8080ff">; BE79 01 A8 00 05 02 0F 02 0A ........</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$02</font>,<font color="#ff6060">$14</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$0F</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$19</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$14</font> <font color="#8080ff">; BE81 02 14 02 0F 02 19 02 14 ........</font>