aboutsummaryrefslogtreecommitdiff
path: root/jumpmanjr.html
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-09-03 20:51:18 -0400
committerB. Watson <yalhcru@gmail.com>2016-09-03 20:51:18 -0400
commit15654445f07224e108d05369cc25ad592d752240 (patch)
tree22e4df8a3724e4498dd88e5e158c4667cb60476f /jumpmanjr.html
parent3539d9a91e5252054806193ca812eb230df5d440 (diff)
downloadjumpmanjr-15654445f07224e108d05369cc25ad592d752240.tar.gz
regenerate jumpmanjr.html
Diffstat (limited to 'jumpmanjr.html')
-rw-r--r--jumpmanjr.html674
1 files changed, 369 insertions, 305 deletions
diff --git a/jumpmanjr.html b/jumpmanjr.html
index a855a3a..7f008be 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-03 05:14:51</font>
+<font color="#8080ff">; Created: 2016-09-03 20:50:08</font>
<font color="#8080ff">; Input file: jumpmanjr.rom</font>
<font color="#8080ff">; Page: 1</font>
@@ -19,8 +19,11 @@
<font color="#00ffff">dm_ypos</font> :=<font color="#ff40ff"> $0054 </font> <font color="#8080ff">; see draw_map and level_maps.txt</font>
<font color="#00ffff">dm_xpos</font> :=<font color="#ff40ff"> $0055 </font> <font color="#8080ff">; see draw_map and level_maps.txt</font>
<font color="#ff40ff">SAVMSC</font> :=<font color="#ff40ff"> $0058 </font> <font color="#8080ff">; OS's idea of the start of screen memory [redundant to set here?]</font>
+<font color="#00ffff">zp_temp2</font> :=<font color="#ff40ff"> $00AE </font> <font color="#8080ff">; used for (zp,y) addressing, also 2 temps for scores_screen</font>
+<font color="#00ffff">bomb_idx</font> :=<font color="#ff40ff"> $00B2 </font> <font color="#8080ff">; bomb that was just picked up (times 2, suitable for index into a table of words)</font>
<font color="#00ffff">blistptr</font> :=<font color="#ff40ff"> $00B4 </font> <font color="#8080ff">; bomb_pickup: points to current level's bomblist</font>
<font color="#00ffff">bombloc</font> :=<font color="#ff40ff"> $00B6 </font> <font color="#8080ff">; bomb_pickup: position of the bomb Jumpman just touched, on 8x8 coarse grid</font>
+<font color="#00ffff">sa_tmp_1</font> :=<font color="#ff40ff"> $00BD </font> <font color="#8080ff">; used by calc_screen_addr</font>
<font color="#00ffff">dm_count</font> :=<font color="#ff40ff"> $00BE </font> <font color="#8080ff">; graphics object definition is this long</font>
<font color="#00ffff">dm_length</font> :=<font color="#ff40ff"> $00BF </font> <font color="#8080ff">; see draw_map and level_maps.txt</font>
<font color="#00ffff">dm_progctr</font> :=<font color="#ff40ff"> $00C0 </font> <font color="#8080ff">; see draw_map and level_maps.txt</font>
@@ -28,9 +31,13 @@
<font color="#00ffff">dm_screen_addr</font> :=<font color="#ff40ff"> $00C4 </font> <font color="#8080ff">; points to byte to write gfx data to</font>
<font color="#00ffff">dm_x_with_offset</font>:=<font color="#ff40ff"> $00C6 </font> <font color="#8080ff">; graphics object X offset, plus dm_xpos</font>
<font color="#00ffff">dm_y_with_offset</font>:=<font color="#ff40ff"> $00C7 </font> <font color="#8080ff">; graphics object Y offset, plus dm_xpos</font>
+<font color="#00ffff">sa_tmp_2</font> :=<font color="#ff40ff"> $00C8 </font> <font color="#8080ff">; used by calc_screen_addr</font>
<font color="#00ffff">dm_delta_x</font> :=<font color="#ff40ff"> $00C9 </font> <font color="#8080ff">; see draw_map and level_maps.txt</font>
<font color="#00ffff">dm_delta_y</font> :=<font color="#ff40ff"> $00CA </font> <font color="#8080ff">; see draw_map and level_maps.txt</font>
<font color="#00ffff">zp_temp1</font> :=<font color="#ff40ff"> $00CB </font> <font color="#8080ff">; used for (zp,y) addressing, also for checking console keys in vblank_imm_isr</font>
+<font color="#00ffff">num_in</font> :=<font color="#ff40ff"> $00D0 </font> <font color="#8080ff">; print_number input. 3-byte number (LSB first as usual) to be printed</font>
+<font color="#00ffff">num_out</font> :=<font color="#ff40ff"> $00D3 </font> <font color="#8080ff">; area of (screen) memory where print_number stores its output</font>
+<font color="#00ffff">num_color</font> :=<font color="#ff40ff"> $00D5 </font> <font color="#8080ff">; print_number adds this to numeric screencode output. normally 0, set to $80 on the end-of-game screen.</font>
<font color="#00ffff">FR1</font> :=<font color="#ff40ff"> $00E0</font>
<font color="#ff40ff">VDSLST</font> :=<font color="#ff40ff"> $0200</font>
<font color="#ff40ff">VKEYBD</font> :=<font color="#ff40ff"> $0208</font>
@@ -53,8 +60,8 @@
<font color="#00ffff">jiffy_timer_2</font> :=<font color="#ff40ff"> $061B </font> <font color="#8080ff">; gets incremented every frame</font>
<font color="#00ffff">speed_jiffy_timer</font>:=<font color="#ff40ff"> $061E </font> <font color="#8080ff">; counts 0..initial_speed</font>
<font color="#00ffff">falling_flag</font> :=<font color="#ff40ff"> $0621 </font> <font color="#8080ff">; 1 = falling, reset to 0 when jumpman hits the ground</font>
-<font color="#00ffff">player_speed</font> :=<font color="#ff40ff"> $0624</font>
-<font color="#00ffff">initial_speed</font> :=<font color="#ff40ff"> $0625</font>
+<font color="#00ffff">current_speed</font> :=<font color="#ff40ff"> $0624 </font> <font color="#8080ff">; can be modified, e.g. set to $08 when being electrocuted</font>
+<font color="#00ffff">initial_speed</font> :=<font color="#ff40ff"> $0625 </font> <font color="#8080ff">; current user's chosen speed, set at game start</font>
<font color="#00ffff">bonus_jiffy_timer</font>:=<font color="#ff40ff"> $0626 </font> <font color="#8080ff">; gets incremented every frame when playing a level, bonus-=100 when this reaches 0</font>
<font color="#00ffff">playing_level</font> :=<font color="#ff40ff"> $0627 </font> <font color="#8080ff">; 0 = not playing, non-0 = playing</font>
<font color="#00ffff">sfx_lock</font> :=<font color="#ff40ff"> $062F </font> <font color="#8080ff">; lets other code know cue_sfx is still running? not 100% sure</font>
@@ -71,6 +78,7 @@
<font color="#00ffff">sfx_slot_freq</font> :=<font color="#ff40ff"> $0647</font>
<font color="#00ffff">sfx_slot_curpos</font> :=<font color="#ff40ff"> $064E </font> <font color="#8080ff">; address we've got to so far, playing this sfx</font>
<font color="#00ffff">sfx_tempo_tmp</font> :=<font color="#ff40ff"> $0661 </font> <font color="#8080ff">; ??</font>
+<font color="#00ffff">num_tmp</font> :=<font color="#ff40ff"> $0665 </font> <font color="#8080ff">; temp used by print_number</font>
<font color="#00ffff">player_x_pos</font> :=<font color="#ff40ff"> $067E </font> <font color="#8080ff">; stored in HPOSP0</font>
<font color="#00ffff">player_y_pos</font> :=<font color="#ff40ff"> $0683 </font> <font color="#8080ff">; $C6 is the bottom of the level (where you end up when you die)</font>
<font color="#00ffff">bullet_x_pos</font> :=<font color="#ff40ff"> $069B </font> <font color="#8080ff">; 4 bytes, meaning we can never have &gt;4 bullets on screen at once (makes sense, GTIA only has 4 missiles)</font>
@@ -107,12 +115,18 @@
<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">users_still_alive</font>:=<font color="#ff40ff"> $06F4 </font> <font color="#8080ff">; I *think* that's what this is for.</font>
<font color="#00ffff">level</font> :=<font color="#ff40ff"> $06F6</font>
<font color="#00ffff">speed_value</font> :=<font color="#ff40ff"> $06F9 </font> <font color="#8080ff">; decoded speed (1-8)</font>
-<font color="#00ffff">current_player</font> :=<font color="#ff40ff"> $06FE </font> <font color="#8080ff">; *think* this ranges 1-4, not 0-3</font>
-<font color="#00ffff">score</font> :=<font color="#ff40ff"> $0700</font>
+<font color="#00ffff">current_user</font> :=<font color="#ff40ff"> $06FE </font> <font color="#8080ff">; this ranges 1-4, not 0-3</font>
+<font color="#00ffff">number_of_users</font> :=<font color="#ff40ff"> $06FF </font> <font color="#8080ff">; number of players selected at start of game. also this is score-1, if you see it being 1-indexed with X reg</font>
+<font color="#00ffff">score</font> :=<font color="#ff40ff"> $0700 </font> <font color="#8080ff">; aka work_user, 11 bytes</font>
+<font color="#00ffff">next_extra_life</font> :=<font color="#ff40ff"> $0703 </font> <font color="#8080ff">; initialized to $4c,$1d (aka 7500), 7500 is added whenever an extra life is given</font>
<font color="#00ffff">lives</font> :=<font color="#ff40ff"> $070A</font>
+<font color="#00ffff">struct_user_1</font> :=<font color="#ff40ff"> $070B </font> <font color="#8080ff">; 11 bytes</font>
+<font color="#00ffff">struct_user_2</font> :=<font color="#ff40ff"> $0716 </font> <font color="#8080ff">; 11 bytes</font>
+<font color="#00ffff">struct_user_3</font> :=<font color="#ff40ff"> $0721 </font> <font color="#8080ff">; 11 bytes</font>
+<font color="#00ffff">struct_user_4</font> :=<font color="#ff40ff"> $072C </font> <font color="#8080ff">; 11 bytes</font>
<font color="#00ffff">bullet_flags</font> :=<font color="#ff40ff"> $0756 </font> <font color="#8080ff">; 4 bytes, 0 = bullet slot not in use, non-0 = bullet active</font>
<font color="#00ffff">bullet_x_delta</font> :=<font color="#ff40ff"> $075A </font> <font color="#8080ff">; 4 bytes</font>
<font color="#00ffff">bullet_y_delta</font> :=<font color="#ff40ff"> $075E </font> <font color="#8080ff">; 4 bytes</font>
@@ -137,7 +151,7 @@
<font color="#00ffff">work_level_map_changes</font>:=<font color="#ff40ff"> $079C </font> <font color="#8080ff">; address of list of addresses of map data, used for changing the map when certain bombs are picked up</font>
<font color="#00ffff">work_level_indirect_subs</font>:=<font color="#ff40ff"> $079E </font> <font color="#8080ff">; pointer to list of indirect subs, always $0000 in this game</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_init</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 level08</font>
<font color="#00ffff">work_level_offs_40</font>:=<font color="#ff40ff"> $07A8 </font> <font color="#8080ff">; all zeroes</font>
@@ -170,7 +184,7 @@
<font color="#00ffff">cur_level_map_changes</font>:=<font color="#ff40ff"> $07DC </font> <font color="#8080ff">; address of list of addresses of map data, used for changing the map when certain bombs are picked up</font>
<font color="#00ffff">cur_level_indirect_subs</font>:=<font color="#ff40ff"> $07DE </font> <font color="#8080ff">; pointer to list of indirect subs, always $0000 in this game</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_init</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 level08</font>
<font color="#00ffff">cur_level_offs_40</font>:=<font color="#ff40ff"> $07E8 </font> <font color="#8080ff">; all zeroes</font>
@@ -248,17 +262,19 @@
<font color="#00ff00">jmp</font> <font color="#00ffff">cue_sfx</font> <font color="#8080ff">; 8006 4C 55 82 LU.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; gets called after the level is drawn &amp; the intro music stops, and also during the level (?)</font>
-<font color="#00ffff">xxx_level_something_jv</font>:
- <font color="#00ff00">jmp</font> <font color="#00ffff">xxx_level_something</font> <font color="#8080ff">; 8009 4C 00 86 L..</font>
+<font color="#8080ff">; convert the 3-byte integer stored at num_in to screen codes, store into memory pointed to by num_out</font>
+<font color="#00ffff">print_number_jv</font>:
+ <font color="#00ff00">jmp</font> <font color="#00ffff">print_number</font> <font color="#8080ff">; 8009 4C 00 86 L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</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">; should be called every time the score is updated, adds extra life every 7500 points</font>
+<font color="#00ffff">check_extra_life_jv</font>:
+ <font color="#00ff00">jmp</font> <font color="#00ffff">check_extra_life</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>
+<font color="#8080ff">; print remaining bonus time</font>
+<font color="#00ffff">print_bonus_jv</font>:
+ <font color="#00ff00">jmp</font> <font color="#00ffff">print_bonus</font> <font color="#8080ff">; 800F 4C 7E 86 L~.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; bottom 2 GR.1 lines on the game board</font>
@@ -291,8 +307,8 @@
<font color="#00ff00">jmp</font> <font color="#00ffff">decrement_time_bonus</font> <font color="#8080ff">; 8021 4C CE 8D L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">init_page_7_jv</font>:
- <font color="#00ff00">jmp</font> <font color="#00ffff">init_page_7</font> <font color="#8080ff">; 8024 4C 5C 9A L\.</font>
+<font color="#00ffff">init_struct_users_jv</font>:
+ <font color="#00ff00">jmp</font> <font color="#00ffff">init_struct_users</font> <font color="#8080ff">; 8024 4C 5C 9A L\.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; used in multiplayer games, also called in single player (?)</font>
@@ -300,7 +316,9 @@
<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>
+<font color="#8080ff">; calls draw_map, plays level intro music, shows level name</font>
+<font color="#00ffff">draw_level_jv</font>:
+ <font color="#00ff00">jmp</font> <font color="#00ffff">draw_level</font> <font color="#8080ff">; 802A 4C 00 BA L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">level_finished_jv</font>:
@@ -322,10 +340,14 @@
<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>
+<font color="#8080ff">; special_init that doesn't clear memory. unused vector?</font>
+<font color="#00ffff">special_init_2_jv</font>:
+ <font color="#00ff00">jmp</font> <font color="#00ffff">special_init_2</font> <font color="#8080ff">; 8039 4C 2D 8B L-.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L803C</font>: <font color="#00ff00">jmp</font> <font color="#00ffff">L8AE0</font> <font color="#8080ff">; 803C 4C E0 8A L..</font>
+<font color="#8080ff">; show blank screen with empty display list</font>
+<font color="#00ffff">setup_blank_dlist_jv</font>:
+ <font color="#00ff00">jmp</font> <font color="#00ffff">setup_blank_dlist</font> <font color="#8080ff">; 803C 4C E0 8A L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; 3 unused jump vectors, all pointed to the same RTS</font>
@@ -458,64 +480,67 @@
<font color="#8080ff">; calculate 40 * dm_y_with_offset + dm_x_with_offset + screen mem address, store in dm_screen_addr</font>
<font color="#00ffff">calc_screen_addr</font>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$28</font> <font color="#8080ff">; 80D0 A9 28 .(</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $BD </font> <font color="#8080ff">; 80D2 85 BD ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">sa_tmp_1</font> <font color="#8080ff">; 80D2 85 BD ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 80D4 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">dm_screen_addr</font> <font color="#8080ff">; 80D6 85 C4 ..</font>
<font color="#00ff00">ldx</font> <font color="#ff6060">#$08</font> <font color="#8080ff">; 80D8 A2 08 ..</font>
-<font color="#00ffff">L80DA</font>: <font color="#00ff00">lsr</font> <font color="#ff40ff"> $BD </font> <font color="#8080ff">; 80DA 46 BD F.</font>
+<font color="#00ffff">mul40_loop</font>:
+ <font color="#00ff00">lsr</font> <font color="#00ffff">sa_tmp_1</font> <font color="#8080ff">; 80DA 46 BD F.</font>
<font color="#00ff00">bcc</font> <font color="#00ffff">L80E1</font> <font color="#8080ff">; 80DC 90 03 ..</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; 80DE 18 .</font>
<font color="#00ff00">adc</font> <font color="#00ffff">dm_y_with_offset</font> <font color="#8080ff">; 80DF 65 C7 e.</font>
<font color="#00ffff">L80E1</font>: <font color="#00ff00">ror</font> <font color="#00ffff">a</font> <font color="#8080ff">; 80E1 6A j</font>
<font color="#00ff00">ror</font> <font color="#00ffff">dm_screen_addr</font> <font color="#8080ff">; 80E2 66 C4 f.</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 80E4 CA .</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L80DA</font> <font color="#8080ff">; 80E5 D0 F3 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">mul40_loop</font> <font color="#8080ff">; 80E5 D0 F3 ..</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; 80E7 18 .</font>
<font color="#00ff00">adc</font> <font color="#ff40ff">SAVMSC</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 80E8 65 59 eY</font>
<font color="#00ff00">sta</font> <font color="#00ffff">dm_screen_addr</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 80EA 85 C5 ..</font>
<font color="#00ff00">lda</font> <font color="#00ffff">dm_x_with_offset</font> <font color="#8080ff">; 80EC A5 C6 ..</font>
<font color="#00ff00">lsr</font> <font color="#00ffff">a</font> <font color="#8080ff">; 80EE 4A J</font>
- <font color="#00ff00">ror</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 80EF 66 C8 f.</font>
+ <font color="#00ff00">ror</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 80EF 66 C8 f.</font>
<font color="#00ff00">lsr</font> <font color="#00ffff">a</font> <font color="#8080ff">; 80F1 4A J</font>
- <font color="#00ff00">ror</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 80F2 66 C8 f.</font>
+ <font color="#00ff00">ror</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 80F2 66 C8 f.</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; 80F4 18 .</font>
<font color="#00ff00">adc</font> <font color="#00ffff">dm_screen_addr</font> <font color="#8080ff">; 80F5 65 C4 e.</font>
<font color="#00ff00">sta</font> <font color="#00ffff">dm_screen_addr</font> <font color="#8080ff">; 80F7 85 C4 ..</font>
- <font color="#00ff00">bcc</font> <font color="#00ffff">L80FD</font> <font color="#8080ff">; 80F9 90 02 ..</font>
+ <font color="#00ff00">bcc</font> <font color="#00ffff">sa_hi_ok_1</font> <font color="#8080ff">; 80F9 90 02 ..</font>
<font color="#00ff00">inc</font> <font color="#00ffff">dm_screen_addr</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 80FB E6 C5 ..</font>
-<font color="#00ffff">L80FD</font>: <font color="#00ff00">asl</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 80FD 06 C8 ..</font>
+<font color="#00ffff">sa_hi_ok_1</font>:
+ <font color="#00ff00">asl</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 80FD 06 C8 ..</font>
<font color="#00ff00">rol</font> <font color="#00ffff">a</font> <font color="#8080ff">; 80FF 2A *</font>
- <font color="#00ff00">asl</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 8100 06 C8 ..</font>
+ <font color="#00ff00">asl</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 8100 06 C8 ..</font>
<font color="#00ff00">rol</font> <font color="#00ffff">a</font> <font color="#8080ff">; 8102 2A *</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 8103 29 03 ).</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 8105 85 C8 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 8105 85 C8 ..</font>
<font color="#00ffff">L8107</font>: <font color="#00ff00">lda</font> (<font color="#00ffff">dm_objptr</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 8107 B1 C2 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $BD </font> <font color="#8080ff">; 8109 85 BD ..</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 810B A5 C8 ..</font>
- <font color="#00ff00">lsr</font> <font color="#ff40ff"> $BD </font> <font color="#8080ff">; 810D 46 BD F.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">sa_tmp_1</font> <font color="#8080ff">; 8109 85 BD ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 810B A5 C8 ..</font>
+ <font color="#00ff00">lsr</font> <font color="#00ffff">sa_tmp_1</font> <font color="#8080ff">; 810D 46 BD F.</font>
<font color="#00ff00">rol</font> <font color="#00ffff">a</font> <font color="#8080ff">; 810F 2A *</font>
- <font color="#00ff00">lsr</font> <font color="#ff40ff"> $BD </font> <font color="#8080ff">; 8110 46 BD F.</font>
+ <font color="#00ff00">lsr</font> <font color="#00ffff">sa_tmp_1</font> <font color="#8080ff">; 8110 46 BD F.</font>
<font color="#00ff00">rol</font> <font color="#00ffff">a</font> <font color="#8080ff">; 8112 2A *</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $BD </font> <font color="#8080ff">; 8113 85 BD ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">sa_tmp_1</font> <font color="#8080ff">; 8113 85 BD ..</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 8115 C8 .</font>
<font color="#00ff00">tya</font> <font color="#8080ff">; 8116 98 .</font>
<font color="#00ff00">pha</font> <font color="#8080ff">; 8117 48 H</font>
<font color="#00ff00">ldy</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8118 A0 00 ..</font>
- <font color="#00ff00">ldx</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 811A A6 C8 ..</font>
+ <font color="#00ff00">ldx</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 811A A6 C8 ..</font>
<font color="#00ff00">lda</font> (<font color="#00ffff">dm_screen_addr</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 811C B1 C4 ..</font>
<font color="#00ff00">and</font> <font color="#00ffff">gr7_and_masks</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 811E 3D 53 81 =S.</font>
- <font color="#00ff00">ldx</font> <font color="#ff40ff"> $BD </font> <font color="#8080ff">; 8121 A6 BD ..</font>
+ <font color="#00ff00">ldx</font> <font color="#00ffff">sa_tmp_1</font> <font color="#8080ff">; 8121 A6 BD ..</font>
<font color="#00ff00">ora</font> <font color="#00ffff">gr7_or_masks</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8123 1D 43 81 .C.</font>
<font color="#00ff00">sta</font> (<font color="#00ffff">dm_screen_addr</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 8126 91 C4 ..</font>
<font color="#00ff00">pla</font> <font color="#8080ff">; 8128 68 h</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; 8129 A8 .</font>
- <font color="#00ff00">inc</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 812A E6 C8 ..</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 812C A5 C8 ..</font>
+ <font color="#00ff00">inc</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 812A E6 C8 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 812C A5 C8 ..</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 812E C9 04 ..</font>
<font color="#00ff00">bcc</font> <font color="#00ffff">L813C</font> <font color="#8080ff">; 8130 90 0A ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8132 A9 00 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $C8 </font> <font color="#8080ff">; 8134 85 C8 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">sa_tmp_2</font> <font color="#8080ff">; 8134 85 C8 ..</font>
<font color="#00ff00">inc</font> <font color="#00ffff">dm_screen_addr</font> <font color="#8080ff">; 8136 E6 C4 ..</font>
+<font color="#00ffff">sa_hi_ok_2</font>:
<font color="#00ff00">bne</font> <font color="#00ffff">L813C</font> <font color="#8080ff">; 8138 D0 02 ..</font>
<font color="#00ff00">inc</font> <font color="#00ffff">dm_screen_addr</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 813A E6 C5 ..</font>
<font color="#00ffff">L813C</font>: <font color="#00ff00">dec</font> <font color="#00ffff">dm_count</font> <font color="#8080ff">; 813C C6 BE ..</font>
@@ -844,7 +869,7 @@
<font color="#00ffff">init_hardware</font>:
<font color="#00ff00">ldx</font> <font color="#ff6060">#$18</font> <font color="#8080ff">; 837C A2 18 ..</font>
<font color="#00ffff">init_page6_loop</font>:
- <font color="#00ff00">lda</font> <font color="#00ffff">page6_initial_vectors_minus_one</font>+<font color="#ff6060">10</font>,<font color="#00ffff">x</font><font color="#8080ff">; 837E BD DD 85 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">page6_initial_vectors_minus_one</font>,<font color="#00ffff">x</font><font color="#8080ff">; 837E BD DD 85 ...</font>
<font color="#00ff00">sta</font> <font color="#00ffff">page6_vectors_minus_one</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8381 9D FF 05 ...</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 8384 CA .</font>
<font color="#00ff00">bne</font> <font color="#00ffff">init_page6_loop</font> <font color="#8080ff">; 8385 D0 F7 ..</font>
@@ -865,7 +890,7 @@
<font color="#00ff00">sta</font> <font color="#ff40ff">SKCTL</font> <font color="#8080ff">; 83A1 8D 0F D2 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">GRACTL</font> <font color="#8080ff">; 83A4 8D 1D D0 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; 83A7 A9 09 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; 83A9 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; 83A9 8D 24 06 .$.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$4C</font> <font color="#8080ff">; 83AC A9 4C .L</font>
<font color="#00ff00">sta</font> <font color="#00ffff">L06E0</font> <font color="#8080ff">; 83AE 8D E0 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$20</font> <font color="#8080ff">; 83B1 A9 20 . </font>
@@ -892,7 +917,7 @@
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 83DE A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">VKEYBD</font> <font color="#8080ff">; 83E0 8D 08 02 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">SAVMSC</font> <font color="#8080ff">; 83E3 85 58 .X</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D5 </font> <font color="#8080ff">; 83E5 85 D5 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_color</font> <font color="#8080ff">; 83E5 85 D5 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$30</font> <font color="#8080ff">; 83E7 A9 30 .0</font>
<font color="#8080ff">; tell OS that screen memory starts at $3000</font>
<font color="#00ffff">set_savmsc</font>:
@@ -947,11 +972,11 @@
<font color="#00ff00">sta</font> <font color="#ff40ff"> $06FD </font> <font color="#8080ff">; 8438 8D FD 06 ...</font>
<font color="#00ff00">inc</font> <font color="#ff40ff"> $061D </font> <font color="#8080ff">; 843B EE 1D 06 ...</font>
<font color="#00ff00">inc</font> <font color="#00ffff">speed_jiffy_timer</font> <font color="#8080ff">; 843E EE 1E 06 ...</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; 8441 AD 24 06 .$.</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; 8441 AD 24 06 .$.</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; 8444 C9 09 ..</font>
<font color="#00ff00">bcs</font> <font color="#00ffff">L847E</font> <font color="#8080ff">; 8446 B0 36 .6</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $061D </font> <font color="#8080ff">; 8448 AD 1D 06 ...</font>
- <font color="#00ff00">cmp</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; 844B CD 24 06 .$.</font>
+ <font color="#00ff00">cmp</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; 844B CD 24 06 .$.</font>
<font color="#00ff00">bcc</font> <font color="#00ffff">L846E</font> <font color="#8080ff">; 844E 90 1E ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8450 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $061D </font> <font color="#8080ff">; 8452 8D 1D 06 ...</font>
@@ -1153,12 +1178,11 @@
<font color="#00ffff">movement_direction_table</font>:
.<font color="#ffff00">word</font> <font color="#ff6060">$0000</font>,<font color="#ff6060">$0000</font>,<font color="#ff6060">$0000</font>,<font color="#ff6060">$0000</font> <font color="#8080ff">; 85BE 00 00 00 00 00 00 00 00 ........</font>
.<font color="#ffff00">word</font> <font color="#ff6060">$0000</font>,<font color="#ff6060">$0101</font>,<font color="#ff6060">$FF01</font>,<font color="#ff6060">$0001</font> <font color="#8080ff">; 85C6 00 00 01 01 01 FF 01 00 ........</font>
- .<font color="#ffff00">word</font> <font color="#ff6060">$0000</font>,<font color="#ff6060">$01FF</font> <font color="#8080ff">; 85CE 00 00 FF 01 ....</font>
- .<font color="#ffff00">byte</font> <font color="#ff40ff"> $FF </font> <font color="#8080ff">; 85D2 FF .</font>
+ .<font color="#ffff00">word</font> <font color="#ff6060">$0000</font>,<font color="#ff6060">$01FF</font>,<font color="#ff6060">$FFFF</font>,<font color="#ff6060">$00FF</font> <font color="#8080ff">; 85CE 00 00 FF 01 FF FF FF 00 ........</font>
+ .<font color="#ffff00">word</font> <font color="#ff6060">$0000</font>,<font color="#ff6060">$0100</font>,<font color="#ff6060">$FF00</font> <font color="#8080ff">; 85D6 00 00 00 01 00 FF ......</font>
+ .<font color="#ffff00">byte</font> <font color="#ff40ff"> $00 </font> <font color="#8080ff">; 85DC 00 .</font>
<font color="#8080ff">; 1-indexed</font>
<font color="#00ffff">page6_initial_vectors_minus_one</font>:
- .<font color="#ffff00">word</font> <font color="#ff6060">$FFFF</font>,<font color="#ff6060">$0000</font>,<font color="#ff6060">$0000</font>,<font color="#ff6060">$0001</font> <font color="#8080ff">; 85D3 FF FF 00 00 00 00 01 00 ........</font>
- .<font color="#ffff00">word</font> <font color="#ff40ff"> $00FF </font> <font color="#8080ff">; 85DB FF 00 ..</font>
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $00 </font> <font color="#8080ff">; 85DD 00 .</font>
<font color="#8080ff">; copied into page 6 by init_hardware</font>
<font color="#00ffff">page6_initial_vectors</font>:
@@ -1180,88 +1204,95 @@
.<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">; 85F6 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="#8080ff">; 85FE 00 00 ..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; gets called after the level is drawn &amp; the intro music stops, and also during the level (?)</font>
-<font color="#00ffff">xxx_level_something</font>:
+<font color="#8080ff">; convert the 3-byte integer stored at num_in to screen codes, store into memory pointed to by num_out</font>
+<font color="#00ffff">print_number</font>:
<font color="#00ff00">ldx</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8600 A2 00 ..</font>
<font color="#00ff00">ldy</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8602 A0 00 ..</font>
- <font color="#00ff00">stx</font> <font color="#ff40ff"> $0665 </font> <font color="#8080ff">; 8604 8E 65 06 .e.</font>
-<font color="#00ffff">L8607</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$10</font> <font color="#8080ff">; 8607 A9 10 ..</font>
+ <font color="#00ff00">stx</font> <font color="#00ffff">num_tmp</font> <font color="#8080ff">; 8604 8E 65 06 .e.</font>
+<font color="#8080ff">; starts at 0, gets added to</font>
+<font color="#00ffff">next_digit</font>:
+ <font color="#00ff00">lda</font> <font color="#ff6060">#$10</font> <font color="#8080ff">; 8607 A9 10 ..</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; 8609 18 .</font>
- <font color="#00ff00">adc</font> <font color="#ff40ff"> $D5 </font> <font color="#8080ff">; 860A 65 D5 e.</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> ($D3),y </font> <font color="#8080ff">; 860C 91 D3 ..</font>
+ <font color="#00ff00">adc</font> <font color="#00ffff">num_color</font> <font color="#8080ff">; 860A 65 D5 e.</font>
+ <font color="#00ff00">sta</font> (<font color="#00ffff">num_out</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 860C 91 D3 ..</font>
<font color="#00ffff">L860E</font>: <font color="#00ff00">sec</font> <font color="#8080ff">; 860E 38 8</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $D0 </font> <font color="#8080ff">; 860F A5 D0 ..</font>
- <font color="#00ff00">sbc</font> <font color="#00ffff">L8702</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8611 FD 02 87 ...</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D0 </font> <font color="#8080ff">; 8614 85 D0 ..</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $D1 </font> <font color="#8080ff">; 8616 A5 D1 ..</font>
- <font color="#00ff00">sbc</font> <font color="#00ffff">L8703</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8618 FD 03 87 ...</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D1 </font> <font color="#8080ff">; 861B 85 D1 ..</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $D2 </font> <font color="#8080ff">; 861D A5 D2 ..</font>
- <font color="#00ff00">sbc</font> <font color="#00ffff">L8704</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 861F FD 04 87 ...</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D2 </font> <font color="#8080ff">; 8622 85 D2 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">num_in</font> <font color="#8080ff">; 860F A5 D0 ..</font>
+ <font color="#00ff00">sbc</font> <font color="#00ffff">pnum_subtractors</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8611 FD 02 87 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_in</font> <font color="#8080ff">; 8614 85 D0 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8616 A5 D1 ..</font>
+ <font color="#00ff00">sbc</font> <font color="#00ffff">pnum_subtractors</font>+<font color="#ff6060">1</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8618 FD 03 87 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 861B 85 D1 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">2</font> <font color="#8080ff">; 861D A5 D2 ..</font>
+ <font color="#00ff00">sbc</font> <font color="#00ffff">pnum_subtractors</font>+<font color="#ff6060">2</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 861F FD 04 87 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">2</font> <font color="#8080ff">; 8622 85 D2 ..</font>
<font color="#00ff00">bcc</font> <font color="#00ffff">L8633</font> <font color="#8080ff">; 8624 90 0D ..</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> ($D3),y </font> <font color="#8080ff">; 8626 B1 D3 ..</font>
+ <font color="#00ff00">lda</font> (<font color="#00ffff">num_out</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 8626 B1 D3 ..</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; 8628 18 .</font>
<font color="#00ff00">adc</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 8629 69 01 i.</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> ($D3),y </font> <font color="#8080ff">; 862B 91 D3 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $0665 </font> <font color="#8080ff">; 862D 8D 65 06 .e.</font>
+ <font color="#00ff00">sta</font> (<font color="#00ffff">num_out</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 862B 91 D3 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_tmp</font> <font color="#8080ff">; 862D 8D 65 06 .e.</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">L860E</font> <font color="#8080ff">; 8630 4C 0E 86 L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">L8633</font>: <font color="#00ff00">clc</font> <font color="#8080ff">; 8633 18 .</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">L8702</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8634 BD 02 87 ...</font>
- <font color="#00ff00">adc</font> <font color="#ff40ff"> $D0 </font> <font color="#8080ff">; 8637 65 D0 e.</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D0 </font> <font color="#8080ff">; 8639 85 D0 ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">L8703</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 863B BD 03 87 ...</font>
- <font color="#00ff00">adc</font> <font color="#ff40ff"> $D1 </font> <font color="#8080ff">; 863E 65 D1 e.</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D1 </font> <font color="#8080ff">; 8640 85 D1 ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">L8704</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8642 BD 04 87 ...</font>
- <font color="#00ff00">adc</font> <font color="#ff40ff"> $D2 </font> <font color="#8080ff">; 8645 65 D2 e.</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D2 </font> <font color="#8080ff">; 8647 85 D2 ..</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $0665 </font> <font color="#8080ff">; 8649 AD 65 06 .e.</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">pnum_subtractors</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8634 BD 02 87 ...</font>
+ <font color="#00ff00">adc</font> <font color="#00ffff">num_in</font> <font color="#8080ff">; 8637 65 D0 e.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_in</font> <font color="#8080ff">; 8639 85 D0 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">pnum_subtractors</font>+<font color="#ff6060">1</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 863B BD 03 87 ...</font>
+ <font color="#00ff00">adc</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 863E 65 D1 e.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8640 85 D1 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">pnum_subtractors</font>+<font color="#ff6060">2</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8642 BD 04 87 ...</font>
+ <font color="#00ff00">adc</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">2</font> <font color="#8080ff">; 8645 65 D2 e.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">2</font> <font color="#8080ff">; 8647 85 D2 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">num_tmp</font> <font color="#8080ff">; 8649 AD 65 06 .e.</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L865C</font> <font color="#8080ff">; 864C D0 0E ..</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> ($D3),y </font> <font color="#8080ff">; 864E B1 D3 ..</font>
+ <font color="#00ff00">lda</font> (<font color="#00ffff">num_out</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 864E B1 D3 ..</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$0F</font> <font color="#8080ff">; 8650 29 0F ).</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L865C</font> <font color="#8080ff">; 8652 D0 08 ..</font>
<font color="#00ff00">cpy</font> <font color="#ff6060">#$05</font> <font color="#8080ff">; 8654 C0 05 ..</font>
- <font color="#00ff00">beq</font> <font color="#00ffff">L8667</font> <font color="#8080ff">; 8656 F0 0F ..</font>
+ <font color="#00ff00">beq</font> <font color="#00ffff">pnum_done</font> <font color="#8080ff">; 8656 F0 0F ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8658 A9 00 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> ($D3),y </font> <font color="#8080ff">; 865A 91 D3 ..</font>
+ <font color="#00ff00">sta</font> (<font color="#00ffff">num_out</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 865A 91 D3 ..</font>
<font color="#00ffff">L865C</font>: <font color="#00ff00">cpx</font> <font color="#ff6060">#$0F</font> <font color="#8080ff">; 865C E0 0F ..</font>
- <font color="#00ff00">beq</font> <font color="#00ffff">L8667</font> <font color="#8080ff">; 865E F0 07 ..</font>
+ <font color="#00ff00">beq</font> <font color="#00ffff">pnum_done</font> <font color="#8080ff">; 865E F0 07 ..</font>
<font color="#00ff00">inx</font> <font color="#8080ff">; 8660 E8 .</font>
<font color="#00ff00">inx</font> <font color="#8080ff">; 8661 E8 .</font>
<font color="#00ff00">inx</font> <font color="#8080ff">; 8662 E8 .</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 8663 C8 .</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">L8607</font> <font color="#8080ff">; 8664 4C 07 86 L..</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">next_digit</font> <font color="#8080ff">; 8664 4C 07 86 L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L8667</font>: <font color="#00ff00">rts</font> <font color="#8080ff">; 8667 60 `</font>
+<font color="#00ffff">pnum_done</font>:
+ <font color="#00ff00">rts</font> <font color="#8080ff">; 8667 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L8668</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$F5</font> <font color="#8080ff">; 8668 A9 F5 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D3 </font> <font color="#8080ff">; 866A 85 D3 ..</font>
+<font color="#00ffff">print_score</font>:
+ <font color="#00ff00">lda</font> <font color="#ff6060">#$F5</font> <font color="#8080ff">; 8668 A9 F5 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font> <font color="#8080ff">; 866A 85 D3 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$3D</font> <font color="#8080ff">; 866C A9 3D .=</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D4 </font> <font color="#8080ff">; 866E 85 D4 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 866E 85 D4 ..</font>
<font color="#00ff00">ldx</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 8670 A2 03 ..</font>
-<font color="#00ffff">L8672</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $06FF,x </font> <font color="#8080ff">; 8672 BD FF 06 ...</font>
+<font color="#8080ff">; number_of_users should be score-1 here.</font>
+<font color="#00ffff">ps_loop</font>:<font color="#00ff00">lda</font> <font color="#00ffff">number_of_users</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8672 BD FF 06 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $CF,x </font> <font color="#8080ff">; 8675 95 CF ..</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 8677 CA .</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L8672</font> <font color="#8080ff">; 8678 D0 F8 ..</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">xxx_level_something</font> <font color="#8080ff">; 867A 20 00 86 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">ps_loop</font> <font color="#8080ff">; 8678 D0 F8 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_number</font> <font color="#8080ff">; 867A 20 00 86 ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 867D 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L867E</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; 867E A9 09 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D3 </font> <font color="#8080ff">; 8680 85 D3 ..</font>
+<font color="#8080ff">; print remaining bonus time; work_level_points_per_bomb should read work_level_time_bonus-1</font>
+<font color="#00ffff">print_bonus</font>:
+ <font color="#00ff00">lda</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; 867E A9 09 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font> <font color="#8080ff">; 8680 85 D3 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$3E</font> <font color="#8080ff">; 8682 A9 3E .&gt;</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D4 </font> <font color="#8080ff">; 8684 85 D4 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8684 85 D4 ..</font>
<font color="#00ff00">ldx</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 8686 A2 03 ..</font>
-<font color="#00ffff">L8688</font>: <font color="#00ff00">lda</font> <font color="#00ffff">work_level_points_per_bomb</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8688 BD 90 07 ...</font>
+<font color="#00ffff">pb_loop</font>:<font color="#00ff00">lda</font> <font color="#00ffff">work_level_points_per_bomb</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8688 BD 90 07 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $CF,x </font> <font color="#8080ff">; 868B 95 CF ..</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 868D CA .</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L8688</font> <font color="#8080ff">; 868E D0 F8 ..</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">xxx_level_something</font> <font color="#8080ff">; 8690 20 00 86 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">pb_loop</font> <font color="#8080ff">; 868E D0 F8 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_number</font> <font color="#8080ff">; 8690 20 00 86 ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 8693 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
@@ -1278,7 +1309,7 @@
<font color="#00ff00">bne</font> <font color="#00ffff">L869B</font> <font color="#8080ff">; 86A5 D0 F4 ..</font>
<font color="#8080ff">; 1 to 4</font>
<font color="#00ffff">show_current_player</font>:
- <font color="#00ff00">lda</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 86A7 AD FE 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 86A7 AD FE 06 ...</font>
<font color="#00ff00">ora</font> <font color="#ff6060">#$10</font> <font color="#8080ff">; 86AA 09 10 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $3DE9 </font> <font color="#8080ff">; 86AC 8D E9 3D ..=</font>
<font color="#00ff00">lda</font> <font color="#00ffff">work_level_desc</font> <font color="#8080ff">; 86AF AD 80 07 ...</font>
@@ -1298,35 +1329,37 @@
<font color="#00ff00">bne</font> <font color="#00ffff">L86BF</font> <font color="#8080ff">; 86CC D0 F1 ..</font>
<font color="#00ffff">L86CE</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$CB</font> <font color="#8080ff">; 86CE A9 CB ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $3DFC,y </font> <font color="#8080ff">; 86D0 99 FC 3D ..=</font>
-<font color="#00ffff">L86D3</font>: <font color="#00ff00">jsr</font> <font color="#00ffff">L8668</font> <font color="#8080ff">; 86D3 20 68 86 h.</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">L867E</font> <font color="#8080ff">; 86D6 20 7E 86 ~.</font>
+<font color="#00ffff">L86D3</font>: <font color="#00ff00">jsr</font> <font color="#00ffff">print_score</font> <font color="#8080ff">; 86D3 20 68 86 h.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_bonus</font> <font color="#8080ff">; 86D6 20 7E 86 ~.</font>
<font color="#00ffff">L86D9</font>: <font color="#00ff00">rts</font> <font color="#8080ff">; 86D9 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">data_table_86da</font>:
+<font color="#8080ff">; 40 bytes, or 2 GR.1 lines of screen codes</font>
+<font color="#00ffff">status_window_contents</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$20</font>,<font color="#ff6060">$30</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$8C</font>,<font color="#ff6060">$7D</font>,<font color="#ff6060">$30</font>,<font color="#ff6060">$30</font>,<font color="#ff6060">$20</font> <font color="#8080ff">; 86DA 20 30 20 8C 7D 30 30 20 0 .}00 </font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$D3</font>,<font color="#ff6060">$C3</font>,<font color="#ff6060">$CF</font>,<font color="#ff6060">$D2</font>,<font color="#ff6060">$C5</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font> <font color="#8080ff">; 86E2 D3 C3 CF D2 C5 20 20 20 ..... </font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font> <font color="#8080ff">; 86EA 20 20 20 20 20 20 20 20 </font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$C2</font>,<font color="#ff6060">$CF</font>,<font color="#ff6060">$CE</font>,<font color="#ff6060">$D5</font> <font color="#8080ff">; 86F2 20 20 20 20 C2 CF CE D5 ....</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$D3</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font>,<font color="#ff6060">$20</font> <font color="#8080ff">; 86FA D3 20 20 20 20 20 20 20 . </font>
-<font color="#00ffff">L8702</font>: .<font color="#ffff00">byte</font> <font color="#ff40ff"> $A0 </font> <font color="#8080ff">; 8702 A0 .</font>
-<font color="#00ffff">L8703</font>: .<font color="#ffff00">byte</font> <font color="#ff40ff"> $86 </font> <font color="#8080ff">; 8703 86 .</font>
-<font color="#00ffff">L8704</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$10</font>,<font color="#ff6060">$27</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$E8</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$64</font> <font color="#8080ff">; 8704 01 10 27 00 E8 03 00 64 ..'....d</font>
- .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$0A</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 870C 00 00 0A 00 00 01 00 00 ........</font>
+<font color="#8080ff">; 3 bytes per table entry</font>
+<font color="#00ffff">pnum_subtractors</font>:
+ .<font color="#ffff00">byte</font> <font color="#ff6060">$A0</font>,<font color="#ff6060">$86</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$10</font>,<font color="#ff6060">$27</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$E8</font>,<font color="#ff6060">$03</font> <font color="#8080ff">; 8702 A0 86 01 10 27 00 E8 03 ....'...</font>
+ .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$64</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$0A</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$01</font> <font color="#8080ff">; 870A 00 64 00 00 0A 00 00 01 .d......</font>
+ .<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 8712 00 00 ..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; clear the gameboard screen memory (called before drawing a level, natch)</font>
<font color="#00ffff">clear_screen_mem</font>:
<font color="#00ff00">ldx</font> <font color="#ff6060">#$10</font> <font color="#8080ff">; 8714 A2 10 ..</font>
<font color="#00ff00">lda</font> <font color="#ff40ff">SAVMSC</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8716 A5 59 .Y</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $AF </font> <font color="#8080ff">; 8718 85 AF ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">zp_temp2</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8718 85 AF ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 871A A9 00 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $AE </font> <font color="#8080ff">; 871C 85 AE ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">zp_temp2</font> <font color="#8080ff">; 871C 85 AE ..</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; 871E A8 .</font>
<font color="#00ffff">csm_loop</font>:
- <font color="#00ff00">sta</font> <font color="#ff40ff"> ($AE),y </font> <font color="#8080ff">; 871F 91 AE ..</font>
+ <font color="#00ff00">sta</font> (<font color="#00ffff">zp_temp2</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 871F 91 AE ..</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 8721 C8 .</font>
<font color="#00ff00">bne</font> <font color="#00ffff">csm_loop</font> <font color="#8080ff">; 8722 D0 FB ..</font>
- <font color="#00ff00">inc</font> <font color="#ff40ff"> $AF </font> <font color="#8080ff">; 8724 E6 AF ..</font>
+ <font color="#00ff00">inc</font> <font color="#00ffff">zp_temp2</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8724 E6 AF ..</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 8726 CA .</font>
<font color="#00ff00">bne</font> <font color="#00ffff">csm_loop</font> <font color="#8080ff">; 8727 D0 F6 ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 8729 60 `</font>
@@ -1335,7 +1368,7 @@
<font color="#8080ff">; misc stuff, called from enable_joystick</font>
<font color="#00ffff">prepare_level</font>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; 872A A9 09 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; 872C 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; 872C 8D 24 06 .$.</font>
<font color="#00ff00">ldx</font> <font color="#ff6060">#$05</font> <font color="#8080ff">; 872F A2 05 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8731 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">playing_level</font> <font color="#8080ff">; 8733 8D 27 06 .'.</font>
@@ -1454,10 +1487,10 @@
<font color="#00ff00">sta</font> <font color="#ff40ff"> $B1 </font> <font color="#8080ff">; 87E8 85 B1 ..</font>
<font color="#8080ff">; multiply Y by 1.5 (only works because Y will always be even at this point)</font>
<font color="#00ffff">mul_y</font>: <font color="#00ff00">tya</font> <font color="#8080ff">; 87EA 98 .</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $B2 </font> <font color="#8080ff">; 87EB 85 B2 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">bomb_idx</font> <font color="#8080ff">; 87EB 85 B2 ..</font>
<font color="#00ff00">lsr</font> <font color="#00ffff">a</font> <font color="#8080ff">; 87ED 4A J</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; 87EE 18 .</font>
- <font color="#00ff00">adc</font> <font color="#ff40ff"> $B2 </font> <font color="#8080ff">; 87EF 65 B2 e.</font>
+ <font color="#00ff00">adc</font> <font color="#00ffff">bomb_idx</font> <font color="#8080ff">; 87EF 65 B2 e.</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; 87F1 A8 .</font>
<font color="#8080ff">; store actual bomb coordinates (not the coarse ones) for bomb subs to use</font>
<font color="#00ffff">store_bomb_coords</font>:
@@ -1472,7 +1505,7 @@
<font color="#00ff00">sta</font> <font color="#00ffff">sfx_ptr</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8804 8D 3D 06 .=.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$08</font> <font color="#8080ff">; 8807 A9 08 ..</font>
<font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_jv</font> <font color="#8080ff">; 8809 20 06 80 ..</font>
- <font color="#00ff00">ldy</font> <font color="#ff40ff"> $B2 </font> <font color="#8080ff">; 880C A4 B2 ..</font>
+ <font color="#00ff00">ldy</font> <font color="#00ffff">bomb_idx</font> <font color="#8080ff">; 880C A4 B2 ..</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 880E C8 .</font>
<font color="#00ff00">lda</font> (<font color="#00ffff">blistptr</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 880F B1 B4 ..</font>
<font color="#00ff00">beq</font> <font color="#00ffff">call_bomb_sub</font> <font color="#8080ff">; 8811 F0 43 .C</font>
@@ -1496,7 +1529,7 @@
<font color="#00ff00">jsr</font> <font color="#00ffff">draw_map_jv</font> <font color="#8080ff">; 882E 20 00 80 ..</font>
<font color="#8080ff">; see if this bomb calls an indirect sub (none of them do in this game, this is useless code)</font>
<font color="#00ffff">check_ind_sub</font>:
- <font color="#00ff00">ldy</font> <font color="#ff40ff"> $B2 </font> <font color="#8080ff">; 8831 A4 B2 ..</font>
+ <font color="#00ff00">ldy</font> <font color="#00ffff">bomb_idx</font> <font color="#8080ff">; 8831 A4 B2 ..</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 8833 C8 .</font>
<font color="#00ff00">lda</font> (<font color="#00ffff">blistptr</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 8834 B1 B4 ..</font>
<font color="#00ff00">beq</font> <font color="#00ffff">call_bomb_sub</font> <font color="#8080ff">; 8836 F0 1E ..</font>
@@ -1540,7 +1573,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">update_score_display_jv</font> <font color="#8080ff">; 8884 20 0C 80 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">check_extra_life_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="#8080ff">; wait for bomb to really disappear</font>
<font color="#00ffff">wait_bomb</font>:
@@ -1625,7 +1658,7 @@
<font color="#00ff00">bne</font> <font color="#00ffff">L8945</font> <font color="#8080ff">; 8913 D0 30 .0</font>
<font color="#00ff00">inc</font> <font color="#ff40ff"> $06EE </font> <font color="#8080ff">; 8915 EE EE 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$02</font> <font color="#8080ff">; 8918 A9 02 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; 891A 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; 891A 8D 24 06 .$.</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $067F </font> <font color="#8080ff">; 891D 8D 7F 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8920 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">playing_level</font> <font color="#8080ff">; 8922 8D 27 06 .'.</font>
@@ -1738,7 +1771,7 @@
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8A06 A9 00 ..</font>
<font color="#00ff00">jsr</font> <font color="#00ffff">cue_music_jv</font> <font color="#8080ff">; 8A08 20 18 80 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 8A0B A9 04 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; 8A0D 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; 8A0D 8D 24 06 .$.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$16</font> <font color="#8080ff">; 8A10 A9 16 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 8A12 8D 88 06 ...</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 8A15 60 `</font>
@@ -1754,7 +1787,7 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">L8A25</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; 8A25 A9 09 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; 8A27 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; 8A27 8D 24 06 .$.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8A2A A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0623 </font> <font color="#8080ff">; 8A2C 8D 23 06 .#.</font>
<font color="#00ff00">sta</font> <font color="#00ffff">player_x_pos</font> <font color="#8080ff">; 8A2F 8D 7E 06 .~.</font>
@@ -1824,7 +1857,9 @@
<font color="#00ffff">blank_dlist_8add</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$41</font>,<font color="#ff6060">$DD</font>,<font color="#ff6060">$8A</font> <font color="#8080ff">; 8ADD 41 DD 8A A..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L8AE0</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$EB</font> <font color="#8080ff">; 8AE0 A9 EB ..</font>
+<font color="#8080ff">; show blank screen with empty display list</font>
+<font color="#00ffff">setup_blank_dlist</font>:
+ <font color="#00ff00">lda</font> <font color="#ff6060">#$EB</font> <font color="#8080ff">; 8AE0 A9 EB ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">dlist_shadow_lo</font> <font color="#8080ff">; 8AE2 8D AC 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$8A</font> <font color="#8080ff">; 8AE5 A9 8A ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">dlist_shadow_hi</font> <font color="#8080ff">; 8AE7 8D AD 06 ...</font>
@@ -1854,17 +1889,21 @@
<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="#8080ff">; clear memory from $0760 to $077f</font>
+<font color="#00ffff">si_clear</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>
- <font color="#00ff00">bne</font> <font color="#00ffff">L8B27</font> <font color="#8080ff">; 8B2B D0 FA ..</font>
-<font color="#00ffff">L8B2D</font>: <font color="#00ff00">lda</font> <font color="#00ffff">work_level_unkn_table0</font> <font color="#8080ff">; 8B2D AD 94 07 ...</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">si_clear</font> <font color="#8080ff">; 8B2B D0 FA ..</font>
+<font color="#8080ff">; special_init that doesn't clear memory. does anything use this entry point?</font>
+<font color="#00ffff">special_init_2</font>:
+ <font color="#00ff00">lda</font> <font color="#00ffff">work_level_unkn_table0</font> <font color="#8080ff">; 8B2D AD 94 07 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $AC </font> <font color="#8080ff">; 8B30 85 AC ..</font>
<font color="#00ff00">lda</font> <font color="#00ffff">work_level_unkn_table0</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8B32 AD 95 07 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $AD </font> <font color="#8080ff">; 8B35 85 AD ..</font>
<font color="#00ff00">ldy</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8B37 A0 00 ..</font>
-<font color="#00ffff">L8B39</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> ($AC),y </font> <font color="#8080ff">; 8B39 B1 AC ..</font>
+<font color="#00ffff">si_loop</font>:<font color="#00ff00">lda</font> <font color="#ff40ff"> ($AC),y </font> <font color="#8080ff">; 8B39 B1 AC ..</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$FF</font> <font color="#8080ff">; 8B3B C9 FF ..</font>
- <font color="#00ff00">beq</font> <font color="#00ffff">L8B7A</font> <font color="#8080ff">; 8B3D F0 3B .;</font>
+ <font color="#00ff00">beq</font> <font color="#00ffff">si_done</font> <font color="#8080ff">; 8B3D F0 3B .;</font>
<font color="#00ff00">tax</font> <font color="#8080ff">; 8B3F AA .</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 8B40 C8 .</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> ($AC),y </font> <font color="#8080ff">; 8B41 B1 AC ..</font>
@@ -1895,17 +1934,17 @@
<font color="#00ff00">iny</font> <font color="#8080ff">; 8B71 C8 .</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8B72 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0696,x </font> <font color="#8080ff">; 8B74 9D 96 06 ...</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">L8B39</font> <font color="#8080ff">; 8B77 4C 39 8B L9.</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">si_loop</font> <font color="#8080ff">; 8B77 4C 39 8B L9.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L8B7A</font>: <font color="#00ff00">rts</font> <font color="#8080ff">; 8B7A 60 `</font>
+<font color="#00ffff">si_done</font>:<font color="#00ff00">rts</font> <font color="#8080ff">; 8B7A 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">pcolor0_table</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$07</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$03</font> <font color="#8080ff">; 8B7B 07 00 01 02 03 .....</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; show scores, called at end of game, also called after beating level 12 (after WELL DONE). $40 in NMIEN = disable DLI, enable VBI</font>
-<font color="#00ffff">player_scores_screen</font>:
+<font color="#00ffff">scores_screen</font>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$40</font> <font color="#8080ff">; 8B80 A9 40 .@</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">NMIEN</font> <font color="#8080ff">; 8B82 8D 0E D4 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$82</font> <font color="#8080ff">; 8B85 A9 82 ..</font>
@@ -1913,34 +1952,36 @@
<font color="#00ff00">lda</font> <font color="#ff6060">#$8C</font> <font color="#8080ff">; 8B8A A9 8C ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">dlist_shadow_hi</font> <font color="#8080ff">; 8B8C 8D AD 06 ...</font>
<font color="#00ff00">ldx</font> <font color="#ff6060">#$06</font> <font color="#8080ff">; 8B8F A2 06 ..</font>
-<font color="#00ffff">L8B91</font>: <font color="#00ff00">lda</font> <font color="#00ffff">scores_msg</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8B91 BD 7B 8C .{.</font>
+<font color="#00ffff">smsg_loop</font>:
+ <font color="#00ff00">lda</font> <font color="#00ffff">scores_msg</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8B91 BD 7B 8C .{.</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $3006,x </font> <font color="#8080ff">; 8B94 9D 06 30 ..0</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 8B97 CA .</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L8B91</font> <font color="#8080ff">; 8B98 D0 F7 ..</font>
- <font color="#00ff00">ldx</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 8B9A AE FE 06 ...</font>
- <font color="#00ff00">ldy</font> <font color="#00ffff">struct_player_lives_offsets_minus_one</font>,<font color="#00ffff">x</font><font color="#8080ff">; 8B9D BC 88 8C ...</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">smsg_loop</font> <font color="#8080ff">; 8B98 D0 F7 ..</font>
+ <font color="#00ff00">ldx</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 8B9A AE FE 06 ...</font>
+ <font color="#00ff00">ldy</font> <font color="#00ffff">struct_user_lives_offsets_minus_one</font>,<font color="#00ffff">x</font><font color="#8080ff">; 8B9D BC 88 8C ...</font>
<font color="#00ff00">ldx</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 8BA0 A2 03 ..</font>
<font color="#00ff00">lda</font> <font color="#00ffff">lives</font> <font color="#8080ff">; 8BA2 AD 0A 07 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0713,y </font> <font color="#8080ff">; 8BA5 99 13 07 ...</font>
-<font color="#00ffff">L8BA8</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $06FF,x </font> <font color="#8080ff">; 8BA8 BD FF 06 ...</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $070B,y </font> <font color="#8080ff">; 8BAB 99 0B 07 ...</font>
+<font color="#8080ff">; number_of_users should be score-1 here.</font>
+<font color="#00ffff">ss_loop</font>:<font color="#00ff00">lda</font> <font color="#00ffff">number_of_users</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8BA8 BD FF 06 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">struct_user_1</font>,<font color="#00ffff">y</font> <font color="#8080ff">; 8BAB 99 0B 07 ...</font>
<font color="#00ff00">dey</font> <font color="#8080ff">; 8BAE 88 .</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 8BAF CA .</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L8BA8</font> <font color="#8080ff">; 8BB0 D0 F6 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">ss_loop</font> <font color="#8080ff">; 8BB0 D0 F6 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8BB2 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $AA </font> <font color="#8080ff">; 8BB4 85 AA ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $AB </font> <font color="#8080ff">; 8BB6 85 AB ..</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; 8BB8 A8 .</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">number_of_players</font> <font color="#8080ff">; 8BB9 AD F4 06 ...</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $AE </font> <font color="#8080ff">; 8BBC 85 AE ..</font>
- <font color="#00ff00">inc</font> <font color="#ff40ff"> $AE </font> <font color="#8080ff">; 8BBE E6 AE ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">users_still_alive</font> <font color="#8080ff">; 8BB9 AD F4 06 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">zp_temp2</font> <font color="#8080ff">; 8BBC 85 AE ..</font>
+ <font color="#00ff00">inc</font> <font color="#00ffff">zp_temp2</font> <font color="#8080ff">; 8BBE E6 AE ..</font>
<font color="#8080ff">; shows PLAYER (backwards loop)</font>
<font color="#00ffff">show_reyalp_msg</font>:
<font color="#00ff00">ldx</font> <font color="#ff6060">#$14</font> <font color="#8080ff">; 8BC0 A2 14 ..</font>
<font color="#00ffff">reyalp_msg_loop</font>:
<font color="#00ff00">lda</font> <font color="#00ffff">reyalp_msg_minus_one</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8BC2 BD 67 8C .g.</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $3028,y </font> <font color="#8080ff">; 8BC5 99 28 30 .(0</font>
-<font color="#8080ff">; replace 10th char with the ASCII player number</font>
+<font color="#8080ff">; replace 10th char with the ASCII player (user) number</font>
<font color="#00ffff">check_10th</font>:
<font color="#00ff00">cpx</font> <font color="#ff6060">#$0A</font> <font color="#8080ff">; 8BC8 E0 0A ..</font>
<font color="#00ff00">bne</font> <font color="#00ffff">continue_loop</font> <font color="#8080ff">; 8BCA D0 09 ..</font>
@@ -1954,37 +1995,37 @@
<font color="#00ff00">bne</font> <font color="#00ffff">reyalp_msg_loop</font> <font color="#8080ff">; 8BD7 D0 E9 ..</font>
<font color="#00ff00">sty</font> <font color="#ff40ff"> $AD </font> <font color="#8080ff">; 8BD9 84 AD ..</font>
<font color="#00ff00">ldx</font> <font color="#ff40ff"> $AA </font> <font color="#8080ff">; 8BDB A6 AA ..</font>
- <font color="#00ff00">ldy</font> <font color="#00ffff">struct_player_lives_offsets_minus_one</font>,<font color="#00ffff">x</font><font color="#8080ff">; 8BDD BC 88 8C ...</font>
+ <font color="#00ff00">ldy</font> <font color="#00ffff">struct_user_lives_offsets_minus_one</font>,<font color="#00ffff">x</font><font color="#8080ff">; 8BDD BC 88 8C ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8BE0 A9 00 ..</font>
<font color="#8080ff">; $AF is the character to show after the score (space for alive, cross for dead)</font>
<font color="#00ffff">store_space</font>:
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $AF </font> <font color="#8080ff">; 8BE2 85 AF ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">zp_temp2</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8BE2 85 AF ..</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $0713,y </font> <font color="#8080ff">; 8BE4 B9 13 07 ...</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$FF</font> <font color="#8080ff">; 8BE7 C9 FF ..</font>
-<font color="#8080ff">; player still has lives left?</font>
+<font color="#8080ff">; user still has lives left?</font>
<font color="#00ffff">check_alive</font>:
<font color="#00ff00">bne</font> <font color="#00ffff">no_cross</font> <font color="#8080ff">; 8BE9 D0 04 ..</font>
<font color="#8080ff">; no, show a cross instead of a space</font>
<font color="#00ffff">not_alive</font>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$5E</font> <font color="#8080ff">; 8BEB A9 5E .^</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $AF </font> <font color="#8080ff">; 8BED 85 AF ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">zp_temp2</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8BED 85 AF ..</font>
<font color="#00ffff">no_cross</font>:
<font color="#00ff00">lda</font> <font color="#00ffff">L8C84</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8BEF BD 84 8C ...</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D3 </font> <font color="#8080ff">; 8BF2 85 D3 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font> <font color="#8080ff">; 8BF2 85 D3 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$30</font> <font color="#8080ff">; 8BF4 A9 30 .0</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D4 </font> <font color="#8080ff">; 8BF6 85 D4 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8BF6 85 D4 ..</font>
<font color="#00ff00">ldx</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 8BF8 A2 03 ..</font>
-<font color="#00ffff">L8BFA</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $070B,y </font> <font color="#8080ff">; 8BFA B9 0B 07 ...</font>
+<font color="#00ffff">L8BFA</font>: <font color="#00ff00">lda</font> <font color="#00ffff">struct_user_1</font>,<font color="#00ffff">y</font> <font color="#8080ff">; 8BFA B9 0B 07 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $CF,x </font> <font color="#8080ff">; 8BFD 95 CF ..</font>
<font color="#00ff00">dey</font> <font color="#8080ff">; 8BFF 88 .</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 8C00 CA .</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L8BFA</font> <font color="#8080ff">; 8C01 D0 F7 ..</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">xxx_level_something_jv</font> <font color="#8080ff">; 8C03 20 09 80 ..</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $AF </font> <font color="#8080ff">; 8C06 A5 AF ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_number_jv</font> <font color="#8080ff">; 8C03 20 09 80 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">zp_temp2</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8C06 A5 AF ..</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 8C08 C8 .</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> ($D3),y </font> <font color="#8080ff">; 8C09 91 D3 ..</font>
+ <font color="#00ff00">sta</font> (<font color="#00ffff">num_out</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 8C09 91 D3 ..</font>
<font color="#00ff00">ldy</font> <font color="#ff40ff"> $AD </font> <font color="#8080ff">; 8C0B A4 AD ..</font>
- <font color="#00ff00">dec</font> <font color="#ff40ff"> $AE </font> <font color="#8080ff">; 8C0D C6 AE ..</font>
+ <font color="#00ff00">dec</font> <font color="#00ffff">zp_temp2</font> <font color="#8080ff">; 8C0D C6 AE ..</font>
<font color="#00ff00">bne</font> <font color="#00ffff">show_reyalp_msg</font> <font color="#8080ff">; 8C0F D0 AF ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$96</font> <font color="#8080ff">; 8C11 A9 96 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLOR3</font> <font color="#8080ff">; 8C13 8D C7 02 ...</font>
@@ -2029,7 +2070,7 @@
.<font color="#ffff00">byte</font> <font color="#ff6060">$87</font>,<font color="#ff6060">$10</font>,<font color="#ff6060">$07</font>,<font color="#ff6060">$41</font>,<font color="#ff6060">$52</font> <font color="#8080ff">; 8C62 87 10 07 41 52 ...AR</font>
<font color="#00ffff">reyalp_msg_minus_one</font>:
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $8C </font> <font color="#8080ff">; 8C67 8C .</font>
-<font color="#8080ff">; player spelled backwards: ' 0 # REYALP '</font>
+<font color="#8080ff">; PLAYER spelled backwards: ' 0 # REYALP '</font>
<font color="#00ffff">reyalp_msg</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$80</font>,<font color="#ff6060">$80</font>,<font color="#ff6060">$10</font>,<font color="#ff6060">$80</font>,<font color="#ff6060">$80</font>,<font color="#ff6060">$80</font>,<font color="#ff6060">$80</font>,<font color="#ff6060">$80</font> <font color="#8080ff">; 8C68 80 80 10 80 80 80 80 80 ........</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$80</font>,<font color="#ff6060">$80</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$80</font>,<font color="#ff6060">$32</font>,<font color="#ff6060">$25</font>,<font color="#ff6060">$39</font>,<font color="#ff6060">$21</font> <font color="#8080ff">; 8C70 80 80 03 80 32 25 39 21 ....2%9!</font>
@@ -2044,16 +2085,16 @@
<font color="#8080ff">; offsets into screen memory, column 12, rows 2 3 4 5, used by code at $8BEF, loaded in $d3, hi byte in $d4 is $30</font>
<font color="#00ffff">score_offsets</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$34</font>,<font color="#ff6060">$48</font>,<font color="#ff6060">$5C</font> <font color="#8080ff">; 8C85 34 48 5C 4H\</font>
-<font color="#00ffff">struct_player_lives_offsets_minus_one</font>:
+<font color="#00ffff">struct_user_lives_offsets_minus_one</font>:
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $70 </font> <font color="#8080ff">; 8C88 70 p</font>
-<font color="#8080ff">; lookup table, offset from $713 to lives for indexed player</font>
-<font color="#00ffff">struct_player_lives_offsets</font>:
+<font color="#8080ff">; lookup table, offset from $713 to lives for indexed user</font>
+<font color="#00ffff">struct_user_lives_offsets</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$02</font>,<font color="#ff6060">$0D</font>,<font color="#ff6060">$18</font>,<font color="#ff6060">$23</font> <font color="#8080ff">; 8C89 02 0D 18 23 ...#</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; used by score screen</font>
<font color="#00ffff">score_screen_dli_sr</font>:
<font color="#00ff00">pha</font> <font color="#8080ff">; 8C8D 48 H</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 8C8E AD FE 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 8C8E AD FE 06 ...</font>
<font color="#00ff00">sec</font> <font color="#8080ff">; 8C91 38 8</font>
<font color="#00ff00">sbc</font> <font color="#ff6060">#$01</font> <font color="#8080ff">; 8C92 E9 01 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">WSYNC</font> <font color="#8080ff">; 8C94 8D 0A D4 ...</font>
@@ -2077,35 +2118,42 @@
<font color="#00ffff">zero_filler_8cb4</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">; 8CB4 00 00 00 00 00 00 00 00 ........</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; also adds extra life every 7500 points</font>
-<font color="#00ffff">update_score_display</font>:
+<font color="#8080ff">; should be called every time the score is updated, adds extra life every 7500 points. notice the score and threshold are both 3 bytes, and we compare from high byte to low.</font>
+<font color="#00ffff">check_extra_life</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="#8080ff">; number_of_users should be score-1 here. score+2 should be next_extra_life-1 also.</font>
+<font color="#00ffff">chk_next_byte</font>:
+ <font color="#00ff00">lda</font> <font color="#00ffff">number_of_users</font>,<font color="#00ffff">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>
- <font color="#00ff00">beq</font> <font color="#00ffff">L8CCB</font> <font color="#8080ff">; 8CC6 F0 03 ..</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">show_l_equals</font> <font color="#8080ff">; 8CC8 4C CE 8C L..</font>
+ <font color="#00ff00">bcc</font> <font color="#00ffff">chk_done</font> <font color="#8080ff">; 8CC4 90 34 .4</font>
+ <font color="#00ff00">beq</font> <font color="#00ffff">score_byte_ge</font> <font color="#8080ff">; 8CC6 F0 03 ..</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">add_extra_life</font> <font color="#8080ff">; 8CC8 4C CE 8C L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L8CCB</font>: <font color="#00ff00">dex</font> <font color="#8080ff">; 8CCB CA .</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L8CBE</font> <font color="#8080ff">; 8CCC D0 F0 ..</font>
-<font color="#8080ff">; L= (for lives display)</font>
-<font color="#00ffff">show_l_equals</font>:
+<font color="#8080ff">; if it's greater or equal and X!=0, keep looping</font>
+<font color="#00ffff">score_byte_ge</font>:
+ <font color="#00ff00">dex</font> <font color="#8080ff">; 8CCB CA .</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">chk_next_byte</font> <font color="#8080ff">; 8CCC D0 F0 ..</font>
+<font color="#8080ff">; first, calculate &amp; store the next 7500-point target</font>
+<font color="#00ffff">add_extra_life</font>:
<font color="#00ff00">ldx</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8CCE A2 00 ..</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; 8CD0 18 .</font>
-<font color="#00ffff">L8CD1</font>: <font color="#00ff00">lda</font> <font color="#00ffff">l_equals</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8CD1 BD FD 8C ...</font>
- <font color="#00ff00">adc</font> <font color="#ff40ff"> $0703,x </font> <font color="#8080ff">; 8CD4 7D 03 07 }..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $0703,x </font> <font color="#8080ff">; 8CD7 9D 03 07 ...</font>
+<font color="#00ffff">add_next_byte</font>:
+ <font color="#00ff00">lda</font> <font color="#00ffff">extra_life_points</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8CD1 BD FD 8C ...</font>
+ <font color="#00ff00">adc</font> <font color="#00ffff">next_extra_life</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8CD4 7D 03 07 }..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">next_extra_life</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 8CD7 9D 03 07 ...</font>
<font color="#00ff00">inx</font> <font color="#8080ff">; 8CDA E8 .</font>
+<font color="#8080ff">; we have to preserve the carry flag!</font>
+<font color="#00ffff">save_flags</font>:
<font color="#00ff00">php</font> <font color="#8080ff">; 8CDB 08 .</font>
<font color="#00ff00">cpx</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; 8CDC E0 03 ..</font>
- <font color="#00ff00">beq</font> <font color="#00ffff">add_extra_life</font> <font color="#8080ff">; 8CDE F0 04 ..</font>
+ <font color="#00ff00">beq</font> <font color="#00ffff">inc_lives</font> <font color="#8080ff">; 8CDE F0 04 ..</font>
<font color="#00ff00">plp</font> <font color="#8080ff">; 8CE0 28 (</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">L8CD1</font> <font color="#8080ff">; 8CE1 4C D1 8C L..</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">add_next_byte</font> <font color="#8080ff">; 8CE1 4C D1 8C L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; plays sfx_extra_life</font>
-<font color="#00ffff">add_extra_life</font>:
+<font color="#8080ff">; add 1 life, play sfx_extra_life</font>
+<font color="#00ffff">inc_lives</font>:
<font color="#00ff00">plp</font> <font color="#8080ff">; 8CE4 28 (</font>
<font color="#00ff00">inc</font> <font color="#00ffff">lives</font> <font color="#8080ff">; 8CE5 EE 0A 07 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$79</font> <font color="#8080ff">; 8CE8 A9 79 .y</font>
@@ -2115,11 +2163,12 @@
<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">score_mod_1m</font> <font color="#8080ff">; 8CFA 4C C0 B7 L..</font>
+<font color="#00ffff">chk_done</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>
-<font color="#00ffff">l_equals</font>:
+<font color="#8080ff">; 3 bytes, value 7500 decimal, give an extra life after this many points. not copied to RAM, meaning no level can change this.</font>
+<font color="#00ffff">extra_life_points</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$4C</font>,<font color="#ff6060">$1D</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 8CFD 4C 1D 00 L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; just lost your last life</font>
@@ -2166,7 +2215,7 @@
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8D52 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">AUDF1</font> <font color="#8080ff">; 8D54 8D 00 D2 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">AUDC1</font> <font color="#8080ff">; 8D57 8D 01 D2 ...</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">player_scores_screen</font> <font color="#8080ff">; 8D5A 20 80 8B ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">scores_screen</font> <font color="#8080ff">; 8D5A 20 80 8B ..</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">afterlife</font> <font color="#8080ff">; 8D5D 4C 00 96 L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
@@ -2174,15 +2223,15 @@
<font color="#00ff00">adc</font> <font color="#ff6060">#$70</font> <font color="#8080ff">; 8D61 69 70 ip</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $AC </font> <font color="#8080ff">; 8D63 85 AC ..</font>
<font color="#00ff00">adc</font> <font color="#ff6060">#$28</font> <font color="#8080ff">; 8D65 69 28 i(</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $AE </font> <font color="#8080ff">; 8D67 85 AE ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">zp_temp2</font> <font color="#8080ff">; 8D67 85 AE ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$3D</font> <font color="#8080ff">; 8D69 A9 3D .=</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $AD </font> <font color="#8080ff">; 8D6B 85 AD ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $AF </font> <font color="#8080ff">; 8D6D 85 AF ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">zp_temp2</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8D6D 85 AF ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$57</font> <font color="#8080ff">; 8D6F A9 57 .W</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $AB </font> <font color="#8080ff">; 8D71 85 AB ..</font>
<font color="#00ff00">ldy</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8D73 A0 00 ..</font>
<font color="#00ffff">L8D75</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> ($AC),y </font> <font color="#8080ff">; 8D75 B1 AC ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> ($AE),y </font> <font color="#8080ff">; 8D77 91 AE ..</font>
+ <font color="#00ff00">sta</font> (<font color="#00ffff">zp_temp2</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 8D77 91 AE ..</font>
<font color="#00ff00">sec</font> <font color="#8080ff">; 8D79 38 8</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $AC </font> <font color="#8080ff">; 8D7A A5 AC ..</font>
<font color="#00ff00">sbc</font> <font color="#ff6060">#$28</font> <font color="#8080ff">; 8D7C E9 28 .(</font>
@@ -2190,15 +2239,15 @@
<font color="#00ff00">bcs</font> <font color="#00ffff">L8D84</font> <font color="#8080ff">; 8D80 B0 02 ..</font>
<font color="#00ff00">dec</font> <font color="#ff40ff"> $AD </font> <font color="#8080ff">; 8D82 C6 AD ..</font>
<font color="#00ffff">L8D84</font>: <font color="#00ff00">sec</font> <font color="#8080ff">; 8D84 38 8</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $AE </font> <font color="#8080ff">; 8D85 A5 AE ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">zp_temp2</font> <font color="#8080ff">; 8D85 A5 AE ..</font>
<font color="#00ff00">sbc</font> <font color="#ff6060">#$28</font> <font color="#8080ff">; 8D87 E9 28 .(</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $AE </font> <font color="#8080ff">; 8D89 85 AE ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">zp_temp2</font> <font color="#8080ff">; 8D89 85 AE ..</font>
<font color="#00ff00">bcs</font> <font color="#00ffff">L8D8F</font> <font color="#8080ff">; 8D8B B0 02 ..</font>
- <font color="#00ff00">dec</font> <font color="#ff40ff"> $AF </font> <font color="#8080ff">; 8D8D C6 AF ..</font>
+ <font color="#00ff00">dec</font> <font color="#00ffff">zp_temp2</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8D8D C6 AF ..</font>
<font color="#00ffff">L8D8F</font>: <font color="#00ff00">dec</font> <font color="#ff40ff"> $AB </font> <font color="#8080ff">; 8D8F C6 AB ..</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L8D75</font> <font color="#8080ff">; 8D91 D0 E2 ..</font>
<font color="#00ff00">tya</font> <font color="#8080ff">; 8D93 98 .</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> ($AE),y </font> <font color="#8080ff">; 8D94 91 AE ..</font>
+ <font color="#00ff00">sta</font> (<font color="#00ffff">zp_temp2</font>),<font color="#00ffff">y</font> <font color="#8080ff">; 8D94 91 AE ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 8D96 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
@@ -2215,7 +2264,7 @@
<font color="#00ffff">L8DAA</font>: <font color="#00ff00">jsr</font> <font color="#00ffff">well_done_screen</font> <font color="#8080ff">; 8DAA 20 00 BC ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$04</font> <font color="#8080ff">; 8DAD A9 04 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0688 </font> <font color="#8080ff">; 8DAF 8D 88 06 ...</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">player_scores_screen</font> <font color="#8080ff">; 8DB2 20 80 8B ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">scores_screen</font> <font color="#8080ff">; 8DB2 20 80 8B ..</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">afterlife</font> <font color="#8080ff">; 8DB5 4C 00 96 L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
@@ -2239,7 +2288,7 @@
<font color="#00ffff">zero_filler_8dcd</font>:
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $00 </font> <font color="#8080ff">; 8DCD 00 .</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; bonus -= 100;</font>
+<font color="#8080ff">; bonus -= 100, play sfx_bonus_tick</font>
<font color="#00ffff">decrement_time_bonus</font>:
<font color="#00ff00">lda</font> <font color="#00ffff">work_level_time_bonus</font> <font color="#8080ff">; 8DCE AD 91 07 ...</font>
<font color="#00ff00">ora</font> <font color="#00ffff">work_level_time_bonus</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8DD1 0D 92 07 ...</font>
@@ -2254,7 +2303,7 @@
<font color="#00ff00">bcs</font> <font color="#00ffff">bonus_lt_256</font> <font color="#8080ff">; 8DE2 B0 03 ..</font>
<font color="#00ff00">dec</font> <font color="#00ffff">work_level_time_bonus</font>+<font color="#ff6060">1</font> <font color="#8080ff">; 8DE4 CE 92 07 ...</font>
<font color="#00ffff">bonus_lt_256</font>:
- <font color="#00ff00">jsr</font> <font color="#00ffff">L800F</font> <font color="#8080ff">; 8DE7 20 0F 80 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_bonus_jv</font> <font color="#8080ff">; 8DE7 20 0F 80 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$FA</font> <font color="#8080ff">; 8DEA A9 FA ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_tempo</font> <font color="#8080ff">; 8DEC 8D 3E 06 .&gt;.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$8D</font> <font color="#8080ff">; 8DEF A9 8D ..</font>
@@ -2265,16 +2314,17 @@
<font color="#00ff00">rts</font> <font color="#8080ff">; 8DF9 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">data_8dfa</font>:
+<font color="#8080ff">; played when bonus timer is decremented</font>
+<font color="#00ffff">sfx_bonus_tick</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">$03</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 8DFA 01 A5 00 18 03 00 ......</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">level_finished</font>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; 8E00 A9 09 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; 8E02 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; 8E02 8D 24 06 .$.</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $067F </font> <font color="#8080ff">; 8E05 8D 7F 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$80</font> <font color="#8080ff">; 8E08 A9 80 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D5 </font> <font color="#8080ff">; 8E0A 85 D5 ..</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">L800F</font> <font color="#8080ff">; 8E0C 20 0F 80 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_color</font> <font color="#8080ff">; 8E0A 85 D5 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_bonus_jv</font> <font color="#8080ff">; 8E0C 20 0F 80 ..</font>
<font color="#8080ff">; score += time_bonus;</font>
<font color="#00ffff">add_time_bonus</font>:
<font color="#00ff00">clc</font> <font color="#8080ff">; 8E0F 18 .</font>
@@ -2288,11 +2338,11 @@
<font color="#00ff00">inc</font> <font color="#00ffff">score</font>+<font color="#ff6060">2</font> <font color="#8080ff">; 8E24 EE 02 07 ...</font>
<font color="#00ffff">lt_64k</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 8E27 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">AUDF1</font> <font color="#8080ff">; 8E29 8D 00 D2 ...</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D5 </font> <font color="#8080ff">; 8E2C 85 D5 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_color</font> <font color="#8080ff">; 8E2C 85 D5 ..</font>
<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">update_score_display_jv</font> <font color="#8080ff">; 8E37 20 0C 80 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">check_extra_life_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>
@@ -2938,7 +2988,7 @@
<font color="#00ff00">ldx</font> <font color="#ff6060">#$2C</font> <font color="#8080ff">; 9416 A2 2C .,</font>
<font color="#8080ff">; copy NUMBER OF PLAYERS to screen RAM</font>
<font color="#00ffff">anp_copy_loop</font>:
- <font color="#00ff00">lda</font> <font color="#00ffff">numplayer_screen_data_minus_one</font>,<font color="#00ffff">x</font><font color="#8080ff">; 9418 BD 9A 95 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">numplayers_screen_data_minus_one</font>,<font color="#00ffff">x</font><font color="#8080ff">; 9418 BD 9A 95 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $37FF,x </font> <font color="#8080ff">; 941B 9D FF 37 ..7</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; 941E CA .</font>
<font color="#00ff00">bne</font> <font color="#00ffff">anp_copy_loop</font> <font color="#8080ff">; 941F D0 F7 ..</font>
@@ -2957,7 +3007,7 @@
<font color="#00ff00">sta</font> <font color="#ff40ff">COLOR2</font> <font color="#8080ff">; 9439 8D C6 02 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$C6</font> <font color="#8080ff">; 943C A9 C6 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLOR1</font> <font color="#8080ff">; 943E 8D C5 02 ...</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">init_page_7_jv</font> <font color="#8080ff">; 9441 20 24 80 $.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">init_struct_users_jv</font> <font color="#8080ff">; 9441 20 24 80 $.</font>
<font color="#8080ff">; set dlist shadow to point to numplayer_display_list</font>
<font color="#00ffff">setup_numplayer_dlist</font>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$5F</font> <font color="#8080ff">; 9444 A9 5F ._</font>
@@ -3045,8 +3095,8 @@
<font color="#00ffff">get_player_speeds</font>:
<font color="#00ff00">lda</font> <font color="#ff40ff"> $B8 </font> <font color="#8080ff">; 94DE A5 B8 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $B9 </font> <font color="#8080ff">; 94E0 85 B9 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $06FF </font> <font color="#8080ff">; 94E2 8D FF 06 ...</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">number_of_players</font> <font color="#8080ff">; 94E5 8D F4 06 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">number_of_users</font> <font color="#8080ff">; 94E2 8D FF 06 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">users_still_alive</font> <font color="#8080ff">; 94E5 8D F4 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 94E8 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $B8 </font> <font color="#8080ff">; 94EA 85 B8 ..</font>
<font color="#8080ff">; disable start and option keys</font>
@@ -3068,7 +3118,7 @@
<font color="#00ff00">cpx</font> <font color="#ff6060">#$14</font> <font color="#8080ff">; 9503 E0 14 ..</font>
<font color="#00ff00">bne</font> <font color="#00ffff">psprompt_loop</font> <font color="#8080ff">; 9505 D0 F4 ..</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $BA </font> <font color="#8080ff">; 9507 A5 BA ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9509 8D FE 06 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 9509 8D FE 06 ...</font>
<font color="#00ff00">ora</font> <font color="#ff6060">#$90</font> <font color="#8080ff">; 950C 09 90 ..</font>
<font color="#00ff00">inc</font> <font color="#ff40ff"> $BA </font> <font color="#8080ff">; 950E E6 BA ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $3821,y </font> <font color="#8080ff">; 9510 99 21 38 .!8</font>
@@ -3096,7 +3146,7 @@
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0714,x </font> <font color="#8080ff">; 9536 9D 14 07 ...</font>
<font color="#00ff00">pha</font> <font color="#8080ff">; 9539 48 H</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; 953A 18 .</font>
-<font color="#8080ff">; 11-byte per-player struct?</font>
+<font color="#8080ff">; 11-byte per-user struct?</font>
<font color="#00ffff">add_11_to_x</font>:
<font color="#00ff00">txa</font> <font color="#8080ff">; 953B 8A .</font>
<font color="#00ff00">adc</font> <font color="#ff6060">#$0B</font> <font color="#8080ff">; 953C 69 0B i.</font>
@@ -3115,10 +3165,10 @@
<font color="#00ff00">inc</font> <font color="#ff40ff"> $B8 </font> <font color="#8080ff">; 954A E6 B8 ..</font>
<font color="#00ff00">dec</font> <font color="#ff40ff"> $BA </font> <font color="#8080ff">; 954C C6 BA ..</font>
<font color="#00ff00">bne</font> <font color="#00ffff">init_speed</font> <font color="#8080ff">; 954E D0 DA ..</font>
- <font color="#00ff00">inc</font> <font color="#ff40ff"> $06FF </font> <font color="#8080ff">; 9550 EE FF 06 ...</font>
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $06FF </font> <font color="#8080ff">; 9553 AD FF 06 ...</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9556 8D FE 06 ...</font>
- <font color="#00ff00">inc</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9559 EE FE 06 ...</font>
+ <font color="#00ff00">inc</font> <font color="#00ffff">number_of_users</font> <font color="#8080ff">; 9550 EE FF 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">number_of_users</font> <font color="#8080ff">; 9553 AD FF 06 ...</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 9556 8D FE 06 ...</font>
+ <font color="#00ff00">inc</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 9559 EE FE 06 ...</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">afterlife</font> <font color="#8080ff">; 955C 4C 00 96 L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
@@ -3130,7 +3180,7 @@
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $95 </font> <font color="#8080ff">; 9577 95 .</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; DLI service routine, changes COLPF2, address gets stored in $6ae/$6af by code at $944e</font>
-<font color="#00ffff">num_player_dli_service</font>:
+<font color="#00ffff">num_players_dli_service</font>:
<font color="#00ff00">pha</font> <font color="#8080ff">; 9578 48 H</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $B7 </font> <font color="#8080ff">; 9579 A5 B7 ..</font>
<font color="#00ff00">cmp</font> <font color="#ff40ff"> $B8 </font> <font color="#8080ff">; 957B C5 B8 ..</font>
@@ -3148,12 +3198,12 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">L9592</font>: <font color="#00ff00">lda</font> <font color="#ff40ff">COLOR2</font> <font color="#8080ff">; 9592 AD C6 02 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLPF2</font> <font color="#8080ff">; 9595 8D 18 D0 ...</font>
-<font color="#00ffff">numplayer_screen_data_minus_one</font>:= * + <font color="#ff6060">2</font> <font color="#8080ff">; 1-indexed loop copies from here+1</font>
+<font color="#00ffff">numplayers_screen_data_minus_one</font>:= * + <font color="#ff6060">2</font> <font color="#8080ff">; 1-indexed loop copies from here+1</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">L9588</font> <font color="#8080ff">; 9598 4C 88 95 L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; 'number of players?', gets copied to $3800, see option_key_handler</font>
-<font color="#00ffff">numplayer_screen_data</font>:
+<font color="#00ffff">numplayers_screen_data</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$6E</font>,<font color="#ff6060">$75</font>,<font color="#ff6060">$6D</font>,<font color="#ff6060">$62</font>,<font color="#ff6060">$65</font>,<font color="#ff6060">$72</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; 959B 00 6E 75 6D 62 65 72 00 .number.</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$6F</font>,<font color="#ff6060">$66</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$70</font>,<font color="#ff6060">$6C</font>,<font color="#ff6060">$61</font>,<font color="#ff6060">$79</font>,<font color="#ff6060">$65</font> <font color="#8080ff">; 95A3 6F 66 00 70 6C 61 79 65 of.playe</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$72</font>,<font color="#ff6060">$73</font>,<font color="#ff6060">$5F</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">; 95AB 72 73 5F 00 00 00 00 00 rs_.....</font>
@@ -3209,7 +3259,7 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; only in multiplayer games</font>
<font color="#00ffff">show_get_ready_prompt</font>:
- <font color="#00ff00">ldx</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 9624 AE FE 06 ...</font>
+ <font color="#00ff00">ldx</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 9624 AE FE 06 ...</font>
<font color="#00ff00">lda</font> <font color="#00ffff">color0_table_minus_one</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 9627 BD 27 97 .'.</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLOR4</font> <font color="#8080ff">; 962A 8D C8 02 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLOR0</font> <font color="#8080ff">; 962D 8D C4 02 ...</font>
@@ -3218,7 +3268,7 @@
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0741,y </font> <font color="#8080ff">; 9635 99 41 07 .A.</font>
<font color="#00ff00">dey</font> <font color="#8080ff">; 9638 88 .</font>
<font color="#00ff00">bne</font> <font color="#00ffff">L9632</font> <font color="#8080ff">; 9639 D0 F7 ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 963B AD FE 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 963B AD FE 06 ...</font>
<font color="#00ff00">ora</font> <font color="#ff6060">#$10</font> <font color="#8080ff">; 963E 09 10 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $074A </font> <font color="#8080ff">; 9640 8D 4A 07 .J.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9643 A9 00 ..</font>
@@ -3253,9 +3303,9 @@
<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">lda</font> <font color="#00ffff">work_level_init</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">lda</font> <font color="#00ffff">work_level_init</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>
@@ -3302,7 +3352,7 @@
<font color="#00ff00">iny</font> <font color="#8080ff">; 96DD C8 .</font>
<font color="#00ff00">cpy</font> <font color="#ff6060">#$40</font> <font color="#8080ff">; 96DE C0 40 .@</font>
<font color="#00ff00">bne</font> <font color="#00ffff">sl_loop</font> <font color="#8080ff">; 96E0 D0 F6 ..</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">L802A</font> <font color="#8080ff">; 96E2 20 2A 80 *.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">draw_level_jv</font> <font color="#8080ff">; 96E2 20 2A 80 *.</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 96E5 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
@@ -3322,7 +3372,7 @@
<font color="#00ff00">rts</font> <font color="#8080ff">; 96FE 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L96FF</font>: <font color="#00ff00">ldx</font> <font color="#00ffff">current_player</font> <font color="#8080ff">; 96FF AE FE 06 ...</font>
+<font color="#00ffff">L96FF</font>: <font color="#00ff00">ldx</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 96FF AE FE 06 ...</font>
<font color="#00ff00">lda</font> <font color="#00ffff">color0_table_minus_one</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 9702 BD 27 97 .'.</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLOR0</font> <font color="#8080ff">; 9705 8D C4 02 ...</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 9708 60 `</font>
@@ -3437,7 +3487,7 @@
<font color="#00ff00">sta</font> <font color="#ff40ff">AUDC4</font> <font color="#8080ff">; 97E0 8D 07 D2 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0623 </font> <font color="#8080ff">; 97E3 8D 23 06 .#.</font>
<font color="#00ff00">lda</font> <font color="#00ffff">initial_speed</font> <font color="#8080ff">; 97E6 AD 25 06 .%.</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; 97E9 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; 97E9 8D 24 06 .$.</font>
<font color="#00ff00">inc</font> <font color="#00ffff">playing_level</font> <font color="#8080ff">; 97EC EE 27 06 .'.</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 97EF 60 `</font>
@@ -3776,28 +3826,31 @@
.<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="#8080ff">; work_user and struct_user_{1..4}, 11 * 5 (55 aka $37) bytes</font>
+<font color="#00ffff">init_struct_users</font>:
<font color="#00ff00">ldy</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9A5C A0 00 ..</font>
-<font color="#00ffff">L9A5E</font>: <font color="#00ff00">ldx</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9A5E A2 00 ..</font>
-<font color="#00ffff">L9A60</font>: <font color="#00ff00">lda</font> <font color="#00ffff">data_9a71</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 9A60 BD 71 9A .q.</font>
+<font color="#00ffff">isu_next_su</font>:
+ <font color="#00ff00">ldx</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9A5E A2 00 ..</font>
+<font color="#00ffff">isu_next_byte</font>:
+ <font color="#00ff00">lda</font> <font color="#00ffff">struct_users_init_contents</font>,<font color="#00ffff">x</font> <font color="#8080ff">; 9A60 BD 71 9A .q.</font>
<font color="#00ff00">sta</font> <font color="#00ffff">score</font>,<font color="#00ffff">y</font> <font color="#8080ff">; 9A63 99 00 07 ...</font>
<font color="#00ff00">inx</font> <font color="#8080ff">; 9A66 E8 .</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; 9A67 C8 .</font>
<font color="#00ff00">cpx</font> <font color="#ff6060">#$0B</font> <font color="#8080ff">; 9A68 E0 0B ..</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L9A60</font> <font color="#8080ff">; 9A6A D0 F4 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">isu_next_byte</font> <font color="#8080ff">; 9A6A D0 F4 ..</font>
<font color="#00ff00">cpy</font> <font color="#ff6060">#$37</font> <font color="#8080ff">; 9A6C C0 37 .7</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">L9A5E</font> <font color="#8080ff">; 9A6E D0 EE ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">isu_next_su</font> <font color="#8080ff">; 9A6E D0 EE ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; 9A70 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; used by code above</font>
-<font color="#00ffff">data_9a71</font>:
+<font color="#8080ff">; work_user and struct_user_1 to _4 are initialized to this</font>
+<font color="#00ffff">struct_users_init_contents</font>:
.<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="#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">ldx</font> <font color="#00ffff">current_user</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">add_11</font>: <font color="#00ff00">dex</font> <font color="#8080ff">; 9A82 CA .</font>
@@ -3811,11 +3864,11 @@
<font color="#00ff00">rts</font> <font color="#8080ff">; 9A8B 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">save_struct_player</font>:
+<font color="#00ffff">save_struct_user</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">sta</font> <font color="#00ffff">struct_user_1</font>,<font color="#00ffff">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>
@@ -3823,10 +3876,10 @@
<font color="#00ff00">rts</font> <font color="#8080ff">; 9A9A 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">load_struct_player</font>:
+<font color="#00ffff">load_struct_user</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">lda</font> <font color="#00ffff">struct_user_1</font>,<font color="#00ffff">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>
@@ -3838,24 +3891,24 @@
<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">jsr</font> <font color="#00ffff">save_struct_user</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="#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="#8080ff">; wraparound to 1 if &gt; total users</font>
+<font color="#00ffff">next_user_num</font>:
+ <font color="#00ff00">inc</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 9AB8 EE FE 06 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">number_of_users</font> <font color="#8080ff">; 9ABB AD FF 06 ...</font>
+ <font color="#00ff00">cmp</font> <font color="#00ffff">current_user</font> <font color="#8080ff">; 9ABE CD FE 06 ...</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="#00ffff">current_user</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">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">ldx</font> <font color="#00ffff">users_still_alive</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">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="#00ffff">is_user_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">check_lives</font> <font color="#8080ff">; 9AD7 D0 0C ..</font>
@@ -3864,21 +3917,21 @@
<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">is_player_dead</font> <font color="#8080ff">; 9ADF D0 F1 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">is_user_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="#8080ff">; if player hasn't been eliminated, but is out of lives, eliminate him</font>
+<font color="#8080ff">; if user 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">stx</font> <font color="#00ffff">number_of_users</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">jsr</font> <font color="#00ffff">load_struct_user</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">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">beq</font> <font color="#00ffff">next_user_num</font> <font color="#8080ff">; 9AF3 F0 C3 ..</font>
+<font color="#8080ff">; found the next user that isn't dead</font>
+<font color="#00ffff">user_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="#8080ff">; 1-indexed</font>
@@ -4009,7 +4062,7 @@
<font color="#00ffff">zero_filler_9bcc</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">; 9BCC 00 00 00 00 ....</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">L9BD0</font>: <font color="#00ff00">lda</font> <font color="#00ffff">number_of_players</font> <font color="#8080ff">; 9BD0 AD F4 06 ...</font>
+<font color="#00ffff">L9BD0</font>: <font color="#00ff00">lda</font> <font color="#00ffff">users_still_alive</font> <font color="#8080ff">; 9BD0 AD F4 06 ...</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; 9BD3 C9 00 ..</font>
<font color="#00ff00">beq</font> <font color="#00ffff">L9BDA</font> <font color="#8080ff">; 9BD5 F0 03 ..</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">show_get_ready_prompt</font> <font color="#8080ff">; 9BD7 4C 24 96 L$.</font>
@@ -4042,7 +4095,7 @@
<font color="#00ffff">zero_filler_9bff</font>:
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $00 </font> <font color="#8080ff">; 9BFF 00 .</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; only use of keyboard is to enter player speed before starting game</font>
+<font color="#8080ff">; only use of keyboard is to enter player speed(s) before starting game</font>
<font color="#00ffff">keyboard_isr</font>:
<font color="#00ff00">txa</font> <font color="#8080ff">; 9C00 8A .</font>
<font color="#00ff00">pha</font> <font color="#8080ff">; 9C01 48 H</font>
@@ -4299,7 +4352,7 @@
<font color="#00ffff">level01_sub_bomb</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A020 E6 06 ..</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">level01_init</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">level01_sub6</font>:
@@ -4406,7 +4459,7 @@
<font color="#00ffff">level02_sub_bomb</font>:
.<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">level02_init</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>:
@@ -4513,7 +4566,7 @@
<font color="#00ffff">level03_sub_bomb</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A0A0 E6 06 ..</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">level03_init</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">dumbwaiter_setup</font> <font color="#8080ff">; A0A2 8C A6 ..</font>
<font color="#8080ff">; always $9740 aka game_main_loop</font>
<font color="#00ffff">level03_sub6</font>:
@@ -4620,7 +4673,7 @@
<font color="#00ffff">level04_sub_bomb</font>:
.<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">level04_init</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>:
@@ -4727,7 +4780,7 @@
<font color="#00ffff">level05_sub_bomb</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">L06E6</font> <font color="#8080ff">; A120 E6 06 ..</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">level05_init</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">level05_sub6</font>:
@@ -4834,7 +4887,7 @@
<font color="#00ffff">level06_sub_bomb</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">walls_bomb_sub</font> <font color="#8080ff">; A160 73 AA s.</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">level06_init</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">walls_init</font> <font color="#8080ff">; A162 C6 A9 ..</font>
<font color="#8080ff">; always $9740 aka game_main_loop</font>
<font color="#00ffff">level06_sub6</font>:
@@ -4941,7 +4994,7 @@
<font color="#00ffff">level07_sub_bomb</font>:
.<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">level07_init</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>:
@@ -5048,7 +5101,7 @@
<font color="#00ffff">level08_sub_bomb</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">spellbound_bomb_sub</font> <font color="#8080ff">; A1E0 23 AF #.</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">level08_init</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">spellbound_init</font> <font color="#8080ff">; A1E2 9B AE ..</font>
<font color="#8080ff">; always $9740 aka game_main_loop</font>
<font color="#00ffff">level08_sub6</font>:
@@ -5155,7 +5208,7 @@
<font color="#00ffff">level09_sub_bomb</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">blackout_bomb_sub</font> <font color="#8080ff">; A220 21 B1 !.</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">level09_init</font>:
.<font color="#00ffff">addr</font> <font color="#00ffff">blackout_init</font> <font color="#8080ff">; A222 C4 B0 ..</font>
<font color="#8080ff">; always $9740 aka game_main_loop</font>
<font color="#00ffff">level09_sub6</font>:
@@ -5262,7 +5315,7 @@
<font color="#00ffff">level10_sub_bomb</font>:
.<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">level10_init</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>:
@@ -5369,7 +5422,7 @@
<font color="#00ffff">level11_sub_bomb</font>:
.<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">level11_init</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>:
@@ -5476,7 +5529,7 @@
<font color="#00ffff">level12_sub_bomb</font>:
.<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">level12_init</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>:
@@ -5598,8 +5651,8 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; not sure what this actually does</font>
<font color="#00ffff">electrocution_bomb_pickup</font>:
- <font color="#00ff00">ldy</font> <font color="#ff40ff"> $B2 </font> <font color="#8080ff">; A498 A4 B2 ..</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">data_a542</font>,<font color="#00ffff">y</font> <font color="#8080ff">; A49A B9 42 A5 .B.</font>
+ <font color="#00ff00">ldy</font> <font color="#00ffff">bomb_idx</font> <font color="#8080ff">; A498 A4 B2 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">elec_bomb_table</font>,<font color="#00ffff">y</font> <font color="#8080ff">; A49A B9 42 A5 .B.</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; A49D 18 .</font>
<font color="#00ff00">adc</font> <font color="#ff6060">#$30</font> <font color="#8080ff">; A49E 69 30 i0</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0680 </font> <font color="#8080ff">; A4A0 8D 80 06 ...</font>
@@ -5646,7 +5699,7 @@
<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>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; A4FC 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; A4FC 8D 24 06 .$.</font>
<font color="#00ffff">LA4FF</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; A4FF A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; A501 8D 70 07 .p.</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; A504 60 `</font>
@@ -5667,7 +5720,7 @@
<font color="#00ff00">sta</font> <font color="#ff40ff">COLPM1</font>,<font color="#00ffff">x</font> <font color="#8080ff">; A512 9D 13 D0 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLPM0</font> <font color="#8080ff">; A515 8D 12 D0 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$08</font> <font color="#8080ff">; A518 A9 08 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; A51A 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; A51A 8D 24 06 .$.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$2D</font> <font color="#8080ff">; A51D A9 2D .-</font>
<font color="#00ff00">sta</font> <font color="#00ffff">sfx_slot_tempo</font> <font color="#8080ff">; A51F 8D 3E 06 .&gt;.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$A5</font> <font color="#8080ff">; A522 A9 A5 ..</font>
@@ -5687,8 +5740,8 @@
<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>
-<font color="#00ffff">data_a542</font>:
+<font color="#8080ff">; dunno exactly how it's used yet, referenced by electrocution_bomb_pickup</font>
+<font color="#00ffff">elec_bomb_table</font>:
.<font color="#ffff00">byte</font> <font color="#ff40ff"> $0C </font> <font color="#8080ff">; A542 0C .</font>
<font color="#00ffff">LA543</font>: .<font color="#ffff00">byte</font> <font color="#ff6060">$05</font>,<font color="#ff6060">$18</font>,<font color="#ff6060">$09</font>,<font color="#ff6060">$58</font>,<font color="#ff6060">$05</font>,<font color="#ff6060">$80</font>,<font color="#ff6060">$15</font>,<font color="#ff6060">$18</font> <font color="#8080ff">; A543 05 18 09 58 05 80 15 18 ...X....</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$09</font>,<font color="#ff6060">$28</font>,<font color="#ff6060">$25</font>,<font color="#ff6060">$4C</font>,<font color="#ff6060">$1D</font>,<font color="#ff6060">$80</font>,<font color="#ff6060">$09</font>,<font color="#ff6060">$18</font> <font color="#8080ff">; A54B 09 28 25 4C 1D 80 09 18 .(%L....</font>
@@ -5741,7 +5794,7 @@
.<font color="#ffff00">byte</font> <font color="#ff6060">$03</font>,<font color="#ff6060">$86</font>,<font color="#ff6060">$A6</font>,<font color="#ff6060">$06</font>,<font color="#ff6060">$4C</font>,<font color="#ff6060">$4A</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$66</font> <font color="#8080ff">; A675 03 86 A6 06 4C 4A 01 66 ....LJ.f</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$04</font>,<font color="#ff6060">$86</font>,<font color="#ff6060">$A6</font>,<font color="#ff6060">$06</font>,<font color="#ff6060">$A4</font>,<font color="#ff6060">$CA</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$66</font> <font color="#8080ff">; A67D 04 86 A6 06 A4 CA 01 66 .......f</font>
<font color="#8080ff">; horizontally moving platforms from level03</font>
-<font color="#00ffff">dw_platform_player</font>:
+<font color="#00ffff">dw_platform_sprite</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$FF</font>,<font color="#ff6060">$FF</font>,<font color="#ff6060">$FF</font>,<font color="#ff6060">$AA</font>,<font color="#ff6060">$55</font>,<font color="#ff6060">$FF</font>,<font color="#ff6060">$FF</font> <font color="#8080ff">; A685 FF FF FF AA 55 FF FF ....U..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; gets called at start of level</font>
@@ -5868,7 +5921,7 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; the dumbwaiters from level03. stored upside-down. trailing 00's might just be filler.</font>
-<font color="#00ffff">dumbwaiter_player</font>:
+<font color="#00ffff">dumbwaiter_sprite</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$18</font>,<font color="#ff6060">$3C</font>,<font color="#ff6060">$7E</font>,<font color="#ff6060">$FF</font>,<font color="#ff6060">$FF</font>,<font color="#ff6060">$FF</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A782 18 3C 7E FF FF FF 00 00 .&lt;~.....</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="#8080ff">; A78A 00 00 00 00 00 00 ......</font>
<font color="#8080ff">; level map data starts here</font>
@@ -5992,9 +6045,9 @@
<font color="#00ffff">LA8D4</font>: <font color="#00ff00">tay</font> <font color="#8080ff">; A8D4 A8 .</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; A8D5 18 .</font>
<font color="#00ff00">lda</font> <font color="#00ffff">bullet_x_pos</font>+<font color="#ff6060">3</font>,<font color="#00ffff">x</font> <font color="#8080ff">; A8D6 BD 9E 06 ...</font>
- <font color="#00ff00">adc</font> <font color="#00ffff">LA905</font>,<font color="#00ffff">y</font> <font color="#8080ff">; A8D9 79 05 A9 y..</font>
+ <font color="#00ff00">adc</font> <font color="#00ffff">hellstone_deltas_2</font>,<font color="#00ffff">y</font> <font color="#8080ff">; A8D9 79 05 A9 y..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">bullet_x_pos</font>+<font color="#ff6060">3</font>,<font color="#00ffff">x</font> <font color="#8080ff">; A8DC 9D 9E 06 ...</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">data_table_a8fd</font>,<font color="#00ffff">y</font> <font color="#8080ff">; A8DF B9 FD A8 ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">hellstone_deltas_1</font>,<font color="#00ffff">y</font> <font color="#8080ff">; A8DF B9 FD A8 ...</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; A8E2 A8 .</font>
<font color="#00ff00">beq</font> <font color="#00ffff">LA8EF</font> <font color="#8080ff">; A8E3 F0 0A ..</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; A8E5 A8 .</font>
@@ -6010,10 +6063,12 @@
<font color="#00ff00">jmp</font> <font color="#00ffff">LA845</font> <font color="#8080ff">; A8FA 4C 45 A8 LE.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; dunno, referenced hellstones_sub0</font>
-<font color="#00ffff">data_table_a8fd</font>:
+<font color="#8080ff">; dunno, look like movement deltas, referenced by hellstones_sub0</font>
+<font color="#00ffff">hellstone_deltas_1</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">$00</font> <font color="#8080ff">; A8FD 00 02 02 02 02 02 02 00 ........</font>
-<font color="#00ffff">LA905</font>: .<font color="#ffff00">byte</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="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font> <font color="#8080ff">; A905 FE FE FE 00 00 02 02 02 ........</font>
+<font color="#8080ff">; dunno, look like movement deltas, referenced by hellstones_sub0</font>
+<font color="#00ffff">hellstone_deltas_2</font>:
+ .<font color="#ffff00">byte</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="#ff6060">$02</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$02</font> <font color="#8080ff">; A905 FE FE FE 00 00 02 02 02 ........</font>
<font color="#00ffff">sfx_hellstone</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$01</font>,<font color="#ff6060">$83</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$0A</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font>,<font color="#ff6060">$00</font> <font color="#8080ff">; A90D 01 83 00 0A 03 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">; A915 00 00 00 00 00 00 00 00 ........</font>
@@ -6317,7 +6372,7 @@
<font color="#00ff00">beq</font> <font color="#00ffff">code_adb5</font> <font color="#8080ff">; ADA4 F0 0F ..</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$0F</font> <font color="#8080ff">; ADA6 29 0F ).</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; ADA8 A8 .</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">data_table_adc7</font>,<font color="#00ffff">y</font> <font color="#8080ff">; ADA9 B9 C7 AD ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">zigzag_deltas</font>,<font color="#00ffff">y</font> <font color="#8080ff">; ADA9 B9 C7 AD ...</font>
<font color="#00ff00">sta</font> <font color="#00ffff">bullet_x_delta</font>,<font color="#00ffff">x</font> <font color="#8080ff">; ADAC 9D 5A 07 .Z.</font>
<font color="#00ff00">inc</font> <font color="#ff40ff"> $0764,x </font> <font color="#8080ff">; ADAF FE 64 07 .d.</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">LAD70</font> <font color="#8080ff">; ADB2 4C 70 AD Lp.</font>
@@ -6327,15 +6382,15 @@
<font color="#00ff00">lda</font> <font color="#ff40ff"> $0768,x </font> <font color="#8080ff">; ADB5 BD 68 07 .h.</font>
<font color="#00ff00">and</font> <font color="#ff6060">#$0F</font> <font color="#8080ff">; ADB8 29 0F ).</font>
<font color="#00ff00">tay</font> <font color="#8080ff">; ADBA A8 .</font>
- <font color="#00ff00">lda</font> <font color="#00ffff">data_table_adc7</font>,<font color="#00ffff">y</font> <font color="#8080ff">; ADBB B9 C7 AD ...</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">zigzag_deltas</font>,<font color="#00ffff">y</font> <font color="#8080ff">; ADBB B9 C7 AD ...</font>
<font color="#00ff00">sta</font> <font color="#00ffff">bullet_y_delta</font>,<font color="#00ffff">x</font> <font color="#8080ff">; ADBE 9D 5E 07 .^.</font>
<font color="#00ffff">code_adc1</font>:
<font color="#00ff00">inc</font> <font color="#ff40ff"> $0768,x </font> <font color="#8080ff">; ADC1 FE 68 07 .h.</font>
<font color="#00ff00">jmp</font> <font color="#00ffff">LAD70</font> <font color="#8080ff">; ADC4 4C 70 AD Lp.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; dunno, referenced by routines at $AD9E and $ADB5</font>
-<font color="#00ffff">data_table_adc7</font>:
+<font color="#8080ff">; kind of a sine wave shape. used for either X or Y delta, depending on the direction the bullet is moving</font>
+<font color="#00ffff">zigzag_deltas</font>:
.<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$01</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$04</font>,<font color="#ff6060">$03</font>,<font color="#ff6060">$02</font>,<font color="#ff6060">$01</font> <font color="#8080ff">; ADC7 00 01 02 03 04 03 02 01 ........</font>
.<font color="#ffff00">byte</font> <font color="#ff6060">$00</font>,<font color="#ff6060">$FF</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FD</font>,<font color="#ff6060">$FC</font>,<font color="#ff6060">$FD</font>,<font color="#ff6060">$FE</font>,<font color="#ff6060">$FF</font> <font color="#8080ff">; ADCF 00 FF FE FD FC FD FE FF ........</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">; ADD7 00 00 00 00 00 00 00 00 ........</font>
@@ -6378,8 +6433,8 @@
<font color="#00ff00">rts</font> <font color="#8080ff">; AEA3 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; dunno</font>
-<font color="#00ffff">data_table_aea4</font>:
+<font color="#8080ff">; used by spellbound, dunno exactly how yet</font>
+<font color="#00ffff">spellbound_table</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="#8080ff">; letters for level08, spellbound (not ASCII or screencodes though)</font>
@@ -6408,10 +6463,10 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">spellbound_bomb_sub</font>:
- <font color="#00ff00">lda</font> <font color="#ff40ff"> $B2 </font> <font color="#8080ff">; AF23 A5 B2 ..</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">bomb_idx</font> <font color="#8080ff">; AF23 A5 B2 ..</font>
<font color="#00ff00">lsr</font> <font color="#00ffff">a</font> <font color="#8080ff">; AF25 4A J</font>
<font color="#00ff00">tax</font> <font color="#8080ff">; AF26 AA .</font>
- <font color="#00ff00">ldy</font> <font color="#00ffff">data_table_aea4</font>,<font color="#00ffff">x</font> <font color="#8080ff">; AF27 BC A4 AE ...</font>
+ <font color="#00ff00">ldy</font> <font color="#00ffff">spellbound_table</font>,<font color="#00ffff">x</font> <font color="#8080ff">; AF27 BC A4 AE ...</font>
<font color="#00ff00">iny</font> <font color="#8080ff">; AF2A C8 .</font>
<font color="#00ff00">ldx</font> <font color="#ff40ff"> $0771 </font> <font color="#8080ff">; AF2B AE 71 07 .q.</font>
<font color="#00ff00">tya</font> <font color="#8080ff">; AF2E 98 .</font>
@@ -6445,12 +6500,13 @@
<font color="#8080ff">; got all the bombs</font>
<font color="#00ffff">spellbound_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">sta</font> <font color="#00ffff">current_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>
<font color="#00ff00">ldx</font> <font color="#ff6060">#$0C</font> <font color="#8080ff">; AF68 A2 0C ..</font>
<font color="#00ff00">stx</font> <font color="#ff40ff"> $066D </font> <font color="#8080ff">; AF6A 8E 6D 06 .m.</font>
-<font color="#00ffff">LAF6D</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; AF6D AD 70 07 .p.</font>
+<font color="#00ffff">ltr_loop</font>:
+ <font color="#00ff00">lda</font> <font color="#ff40ff"> $0770 </font> <font color="#8080ff">; AF6D AD 70 07 .p.</font>
<font color="#00ff00">clc</font> <font color="#8080ff">; AF70 18 .</font>
<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>
@@ -6459,16 +6515,20 @@
<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>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">ltr_skip</font> <font color="#8080ff">; AF83 4C 92 AF L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">LAF86</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; AF86 A9 00 ..</font>
+<font color="#8080ff">; wait approx 1/3 second so user can see what happened</font>
+<font color="#00ffff">ltr_delay</font>:
+ <font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; AF86 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">jiffy_timer_1</font> <font color="#8080ff">; AF88 8D 1A 06 ...</font>
-<font color="#00ffff">LAF8B</font>: <font color="#00ff00">lda</font> <font color="#00ffff">jiffy_timer_1</font> <font color="#8080ff">; AF8B AD 1A 06 ...</font>
+<font color="#00ffff">ltr_wait</font>:
+ <font color="#00ff00">lda</font> <font color="#00ffff">jiffy_timer_1</font> <font color="#8080ff">; AF8B AD 1A 06 ...</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$20</font> <font color="#8080ff">; AF8E C9 20 . </font>
- <font color="#00ff00">bne</font> <font color="#00ffff">LAF8B</font> <font color="#8080ff">; AF90 D0 F9 ..</font>
-<font color="#00ffff">LAF92</font>: <font color="#00ff00">dex</font> <font color="#8080ff">; AF92 CA .</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">LAF6D</font> <font color="#8080ff">; AF93 D0 D8 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">ltr_wait</font> <font color="#8080ff">; AF90 D0 F9 ..</font>
+<font color="#00ffff">ltr_skip</font>:
+ <font color="#00ff00">dex</font> <font color="#8080ff">; AF92 CA .</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">ltr_loop</font> <font color="#8080ff">; AF93 D0 D8 ..</font>
<font color="#00ff00">rts</font> <font color="#8080ff">; AF95 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
@@ -6482,13 +6542,14 @@
<font color="#00ff00">lda</font> <font color="#00ffff">score</font> <font color="#8080ff">; AFA2 AD 00 07 ...</font>
<font color="#00ff00">adc</font> <font color="#ff6060">#$FA</font> <font color="#8080ff">; AFA5 69 FA i.</font>
<font color="#00ff00">sta</font> <font color="#00ffff">score</font> <font color="#8080ff">; AFA7 8D 00 07 ...</font>
- <font color="#00ff00">bcc</font> <font color="#00ffff">LAFB4</font> <font color="#8080ff">; AFAA 90 08 ..</font>
+ <font color="#00ff00">bcc</font> <font color="#00ffff">b250_hi_ok</font> <font color="#8080ff">; AFAA 90 08 ..</font>
<font color="#00ff00">inc</font> <font color="#00ffff">score</font>+<font color="#ff6060">1</font> <font color="#8080ff">; AFAC EE 01 07 ...</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">LAFB4</font> <font color="#8080ff">; AFAF D0 03 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">b250_hi_ok</font> <font color="#8080ff">; AFAF D0 03 ..</font>
<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="#00ffff">b250_hi_ok</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">update_score_display_jv</font> <font color="#8080ff">; AFB6 20 0C 80 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">check_extra_life_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>
@@ -6498,10 +6559,10 @@
<font color="#00ff00">jsr</font> <font color="#00ffff">cue_sfx_jv</font> <font color="#8080ff">; AFC3 20 06 80 ..</font>
<font color="#00ff00">pla</font> <font color="#8080ff">; AFC6 68 h</font>
<font color="#00ff00">tax</font> <font color="#8080ff">; AFC7 AA .</font>
- <font color="#00ff00">jmp</font> <font color="#00ffff">LAF86</font> <font color="#8080ff">; AFC8 4C 86 AF L..</font>
+ <font color="#00ff00">jmp</font> <font color="#00ffff">ltr_delay</font> <font color="#8080ff">; AFC8 4C 86 AF L..</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#8080ff">; played once per correct letter at end of level08 (spellbound)</font>
+<font color="#8080ff">; played once per correct letter at end of level08 (spellbound). trailing 00's are filler.</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>
@@ -7036,7 +7097,7 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">hurr_sub1</font>:
- <font color="#00ff00">lda</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; B69B AD 24 06 .$.</font>
+ <font color="#00ff00">lda</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; B69B AD 24 06 .$.</font>
<font color="#00ff00">cmp</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; B69E C9 09 ..</font>
<font color="#00ff00">bcs</font> <font color="#00ffff">LB6A9</font> <font color="#8080ff">; B6A0 B0 07 ..</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $0623 </font> <font color="#8080ff">; B6A2 AD 23 06 .#.</font>
@@ -7170,7 +7231,7 @@
<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">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="#00ff00">jmp</font> <font color="#00ffff">print_score</font> <font color="#8080ff">; B7EE 4C 68 86 Lh.</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#00ffff">zero_filler_b7f1</font>:
@@ -7189,21 +7250,21 @@
<font color="#00ff00">sta</font> <font color="#ff40ff"> $A6 </font> <font color="#8080ff">; B812 85 A6 ..</font>
<font color="#00ff00">inc</font> <font color="#ff40ff"> $A6 </font> <font color="#8080ff">; B814 E6 A6 ..</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $A4 </font> <font color="#8080ff">; B816 A5 A4 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D0 </font> <font color="#8080ff">; B818 85 D0 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_in</font> <font color="#8080ff">; B818 85 D0 ..</font>
<font color="#00ff00">lda</font> <font color="#ff40ff"> $A5 </font> <font color="#8080ff">; B81A A5 A5 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D1 </font> <font color="#8080ff">; B81C 85 D1 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">1</font> <font color="#8080ff">; B81C 85 D1 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; B81E A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">work_level_time_bonus</font> <font color="#8080ff">; B820 8D 91 07 ...</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D2 </font> <font color="#8080ff">; B823 85 D2 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_in</font>+<font color="#ff6060">2</font> <font color="#8080ff">; B823 85 D2 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">work_level_time_bonus</font>+<font color="#ff6060">1</font> <font color="#8080ff">; B825 8D 92 07 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$E9</font> <font color="#8080ff">; B828 A9 E9 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D3 </font> <font color="#8080ff">; B82A 85 D3 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font> <font color="#8080ff">; B82A 85 D3 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$3D</font> <font color="#8080ff">; B82C A9 3D .=</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D4 </font> <font color="#8080ff">; B82E 85 D4 ..</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">xxx_level_something_jv</font> <font color="#8080ff">; B830 20 09 80 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font>+<font color="#ff6060">1</font> <font color="#8080ff">; B82E 85 D4 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_number_jv</font> <font color="#8080ff">; B830 20 09 80 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$78</font> <font color="#8080ff">; B833 A9 78 .x</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $3DE9 </font> <font color="#8080ff">; B835 8D E9 3D ..=</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">L800F</font> <font color="#8080ff">; B838 20 0F 80 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_bonus_jv</font> <font color="#8080ff">; B838 20 0F 80 ..</font>
<font color="#00ffff">add_life_bonus</font>:
<font color="#00ff00">clc</font> <font color="#8080ff">; B83B 18 .</font>
<font color="#00ff00">lda</font> <font color="#00ffff">score</font> <font color="#8080ff">; B83C AD 00 07 ...</font>
@@ -7221,8 +7282,8 @@
<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">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="#00ff00">jsr</font> <font color="#00ffff">check_extra_life_jv</font> <font color="#8080ff">; B862 20 0C 80 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_bonus_jv</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>:
<font color="#00ff00">lda</font> <font color="#ff6060">#$96</font> <font color="#8080ff">; B868 A9 96 ..</font>
@@ -7363,7 +7424,9 @@
<font color="#00ff00">rts</font> <font color="#8080ff">; B9FF 60 `</font>
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
-<font color="#00ffff">LBA00</font>: <font color="#00ff00">lda</font> <font color="#ff6060">#$40</font> <font color="#8080ff">; BA00 A9 40 .@</font>
+<font color="#8080ff">; calls draw_map, plays level intro music, shows level name</font>
+<font color="#00ffff">draw_level</font>:
+ <font color="#00ff00">lda</font> <font color="#ff6060">#$40</font> <font color="#8080ff">; BA00 A9 40 .@</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">NMIEN</font> <font color="#8080ff">; BA02 8D 0E D4 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; BA05 A9 00 ..</font>
<font color="#00ff00">sta</font> <font color="#ff40ff">COLOR3</font> <font color="#8080ff">; BA07 8D C7 02 ...</font>
@@ -7503,7 +7566,7 @@
<font color="#8080ff">; ----------------------------------------------------------------------------</font>
<font color="#8080ff">; the WELL DONE screen, when you beat all the levels. after this, the game plays random levels.</font>
<font color="#00ffff">well_done_screen</font>:
- <font color="#00ff00">jsr</font> <font color="#00ffff">L803C</font> <font color="#8080ff">; BC00 20 3C 80 &lt;.</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">setup_blank_dlist_jv</font> <font color="#8080ff">; BC00 20 3C 80 &lt;.</font>
<font color="#00ff00">jsr</font> <font color="#00ffff">enable_joystick_jv</font> <font color="#8080ff">; BC03 20 1B 80 ..</font>
<font color="#00ff00">jsr</font> <font color="#00ffff">clear_screen_mem_jv</font> <font color="#8080ff">; BC06 20 1E 80 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; BC09 A9 00 ..</font>
@@ -7552,7 +7615,7 @@
<font color="#00ff00">lda</font> <font color="#ff6060">#$BC</font> <font color="#8080ff">; BC6F A9 BC ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">work_level_sub0</font>+<font color="#ff6060">1</font> <font color="#8080ff">; BC71 8D 83 07 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$05</font> <font color="#8080ff">; BC74 A9 05 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; BC76 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; BC76 8D 24 06 .$.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$0D</font> <font color="#8080ff">; BC79 A9 0D ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">joystick_disabled</font> <font color="#8080ff">; BC7B 8D 32 06 .2.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; BC7E A9 00 ..</font>
@@ -7577,15 +7640,16 @@
<font color="#00ff00">dex</font> <font color="#8080ff">; BCA9 CA .</font>
<font color="#00ff00">bne</font> <font color="#00ffff">LBCA3</font> <font color="#8080ff">; BCAA D0 F7 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$3D</font> <font color="#8080ff">; BCAC A9 3D .=</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D4 </font> <font color="#8080ff">; BCAE 85 D4 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font>+<font color="#ff6060">1</font> <font color="#8080ff">; BCAE 85 D4 ..</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$F5</font> <font color="#8080ff">; BCB0 A9 F5 ..</font>
- <font color="#00ff00">sta</font> <font color="#ff40ff"> $D3 </font> <font color="#8080ff">; BCB2 85 D3 ..</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">num_out</font> <font color="#8080ff">; BCB2 85 D3 ..</font>
<font color="#00ff00">ldx</font> <font color="#ff6060">#$03</font> <font color="#8080ff">; BCB4 A2 03 ..</font>
-<font color="#00ffff">LBCB6</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $06FF,x </font> <font color="#8080ff">; BCB6 BD FF 06 ...</font>
+<font color="#8080ff">; display current user's score, number_of_users should be score-1 here.</font>
+<font color="#00ffff">wd_xxx</font>: <font color="#00ff00">lda</font> <font color="#00ffff">number_of_users</font>,<font color="#00ffff">x</font> <font color="#8080ff">; BCB6 BD FF 06 ...</font>
<font color="#00ff00">sta</font> <font color="#ff40ff"> $CF,x </font> <font color="#8080ff">; BCB9 95 CF ..</font>
<font color="#00ff00">dex</font> <font color="#8080ff">; BCBB CA .</font>
- <font color="#00ff00">bne</font> <font color="#00ffff">LBCB6</font> <font color="#8080ff">; BCBC D0 F8 ..</font>
- <font color="#00ff00">jsr</font> <font color="#00ffff">xxx_level_something_jv</font> <font color="#8080ff">; BCBE 20 09 80 ..</font>
+ <font color="#00ff00">bne</font> <font color="#00ffff">wd_xxx</font> <font color="#8080ff">; BCBC D0 F8 ..</font>
+ <font color="#00ff00">jsr</font> <font color="#00ffff">print_number_jv</font> <font color="#8080ff">; BCBE 20 09 80 ..</font>
<font color="#00ffff">LBCC1</font>: <font color="#00ff00">lda</font> <font color="#ff40ff"> $0663 </font> <font color="#8080ff">; BCC1 AD 63 06 .c.</font>
<font color="#00ff00">bne</font> <font color="#00ffff">LBCC1</font> <font color="#8080ff">; BCC4 D0 FB ..</font>
<font color="#00ff00">lda</font> <font color="#00ffff">level</font> <font color="#8080ff">; BCC6 AD F6 06 ...</font>
@@ -7652,7 +7716,7 @@
<font color="#00ff00">lda</font> <font color="#ff6060">#$06</font> <font color="#8080ff">; BD86 A9 06 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">work_level_sub1</font>+<font color="#ff6060">1</font> <font color="#8080ff">; BD88 8D 85 07 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$09</font> <font color="#8080ff">; BD8B A9 09 ..</font>
- <font color="#00ff00">sta</font> <font color="#00ffff">player_speed</font> <font color="#8080ff">; BD8D 8D 24 06 .$.</font>
+ <font color="#00ff00">sta</font> <font color="#00ffff">current_speed</font> <font color="#8080ff">; BD8D 8D 24 06 .$.</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$C6</font> <font color="#8080ff">; BD90 A9 C6 ..</font>
<font color="#00ff00">sta</font> <font color="#00ffff">player_y_pos</font> <font color="#8080ff">; BD92 8D 83 06 ...</font>
<font color="#00ff00">lda</font> <font color="#ff6060">#$00</font> <font color="#8080ff">; BD95 A9 00 ..</font>