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