------+---------------------------------------+-------------+----+---------+------+-----------------------+----------------------------------------------------------------------
 Line | # File                           Line | Line Type   | MX |  Reloc  | Size | Address   Object Code |  Source Code
------+---------------------------------------+-------------+----+---------+------+-----------------------+----------------------------------------------------------------------
    1 |  1                    bagman.s      1 | Comment     | 11 |         |    0 | 00/8000               | *
    2 |  1                    bagman.s      2 | Comment     | 11 |         |    0 | 00/8000               | * Bagman - Apple //e 128K
    3 |  1                    bagman.s      3 | Comment     | 11 |         |    0 | 00/8000               | *
    4 |  1                    bagman.s      4 | Comment     | 11 |         |    0 | 00/8000               | * Main assembly file
    5 |  1                    bagman.s      5 | Comment     | 11 |         |    0 | 00/8000               | *
    6 |  1                    bagman.s      6 | Empty       | 11 |         |    0 | 00/8000               |                                                       
    7 |  1                    bagman.s      7 | Directive   | 11 |         |    0 | 00/8000               |                          DSK     bagman               
    8 |  1                    bagman.s      8 | Directive   | 11 |         |    0 | 00/8000               |                          TYP     $FF                  
    9 |  1                    bagman.s      9 | Directive   | 11 |         |    0 | 00/8000               |                          MX      %11                  
   10 |  1                    bagman.s     10 | Directive   | 11 |         |    0 | 00/8000               |                          ORG     $2000                
   11 |  1                    bagman.s     11 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   12 |  1                    bagman.s     12 | Directive   | 11 |         |    0 | 00/2000               |                          PUT     dp.s                 
   13 |  2                        dp.s      1 | Comment     | 11 |         |    0 | 00/2000               | *
   14 |  2                        dp.s      2 | Comment     | 11 |         |    0 | 00/2000               | * Bagman - Zero/Direct Page Variables
   15 |  2                        dp.s      3 | Comment     | 11 |         |    0 | 00/2000               | *
   16 |  2                        dp.s      4 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   17 |  2                        dp.s      5 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   18 |  2                        dp.s      6 | Comment     | 11 |         |    0 | 00/2000               | * General purpose pointers
   19 |  2                        dp.s      7 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   20 |  2                        dp.s      8 | Equivalence | 11 |         |    0 | 00/2000               | ScreenPtr                =       $00                  ; 2 bytes - pointer to screen memory
   21 |  2                        dp.s      9 | Equivalence | 11 |         |    0 | 00/2000               | TempPtr                  =       $02                  ; 2 bytes - general temp pointer
   22 |  2                        dp.s     10 | Equivalence | 11 |         |    0 | 00/2000               | SrcPtr                   =       $04                  ; 2 bytes - source pointer for copies
   23 |  2                        dp.s     11 | Equivalence | 11 |         |    0 | 00/2000               | DstPtr                   =       $06                  ; 2 bytes - destination pointer for copies
   24 |  2                        dp.s     12 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   25 |  2                        dp.s     13 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   26 |  2                        dp.s     14 | Comment     | 11 |         |    0 | 00/2000               | * Relocation variables (free after init)
   27 |  2                        dp.s     15 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   28 |  2                        dp.s     16 | Equivalence | 11 |         |    0 | 00/2000               | RelocSrc                 =       $08                  ; 2 bytes - relocation source
   29 |  2                        dp.s     17 | Equivalence | 11 |         |    0 | 00/2000               | RelocDst                 =       $0A                  ; 2 bytes - relocation destination
   30 |  2                        dp.s     18 | Equivalence | 11 |         |    0 | 00/2000               | RelocLen                 =       $0C                  ; 2 bytes - relocation byte count
   31 |  2                        dp.s     19 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   32 |  2                        dp.s     20 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   33 |  2                        dp.s     21 | Comment     | 11 |         |    0 | 00/2000               | * Tile renderer variables (reuse reloc after init)
   34 |  2                        dp.s     22 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   35 |  2                        dp.s     23 | Equivalence | 11 |         |    0 | 00/2000               | MapPtr                   =       $08                  ; 2 bytes - pointer to current tile map row
   36 |  2                        dp.s     24 | Equivalence | 11 |         |    0 | 00/2000               | TilePtr                  =       $0A                  ; 2 bytes - pointer to tile data
   37 |  2                        dp.s     25 | Equivalence | 11 |         |    0 | 00/2000               | TileRow                  =       $0C                  ; 1 byte - tile row counter (0-31)
   38 |  2                        dp.s     26 | Equivalence | 11 |         |    0 | 00/2000               | SubRow                   =       $0D                  ; 1 byte - sub-row (tiles: offset 0,4..20; sprites: counter 0-11)
   39 |  2                        dp.s     27 | Equivalence | 11 |         |    0 | 00/2000               | TileCol                  =       $0E                  ; 1 byte - tile column counter (0-19)
   40 |  2                        dp.s     28 | Equivalence | 11 |         |    0 | 00/2000               | CurScan                  =       $0F                  ; 1 byte - current scanline (0-191)
   41 |  2                        dp.s     29 | Equivalence | 11 |         |    0 | 00/2000               | PixByte0                 =       $12                  ; 1 byte - tile aux byte 0
   42 |  2                        dp.s     30 | Equivalence | 11 |         |    0 | 00/2000               | PixByte1                 =       $13                  ; 1 byte - tile main byte 0
   43 |  2                        dp.s     31 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   44 |  2                        dp.s     32 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   45 |  2                        dp.s     33 | Comment     | 11 |         |    0 | 00/2000               | * Game state
   46 |  2                        dp.s     34 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   47 |  2                        dp.s     35 | Equivalence | 11 |         |    0 | 00/2000               | GameState                =       $10                  ; 1 byte - current game state
   48 |  2                        dp.s     36 | Equivalence | 11 |         |    0 | 00/2000               | FrameCnt                 =       $11                  ; 1 byte - frame counter
   49 |  2                        dp.s     37 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   50 |  2                        dp.s     38 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   51 |  2                        dp.s     39 | Comment     | 11 |         |    0 | 00/2000               | * Sprite renderer variables
   52 |  2                        dp.s     40 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   53 |  2                        dp.s     41 | Equivalence | 11 |         |    0 | 00/2000               | SprX                     =       $14                  ; 1 byte - sprite pixel X (0-139)
   54 |  2                        dp.s     42 | Equivalence | 11 |         |    0 | 00/2000               | SprY                     =       $15                  ; 1 byte - sprite scanline Y (0-179)
   55 |  2                        dp.s     43 | Equivalence | 11 |         |    0 | 00/2000               | SprFrame                 =       $16                  ; 1 byte - sprite frame index
   56 |  2                        dp.s     44 | Equivalence | 11 |         |    0 | 00/2000               | SprDir                   =       $17                  ; 1 byte - sprite test direction (0=right, 1=left)
   57 |  2                        dp.s     45 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   58 |  2                        dp.s     46 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   59 |  2                        dp.s     47 | Comment     | 11 |         |    0 | 00/2000               | * Wheelbarrow state (between ReadAuxByte and SprBuf)
   60 |  2                        dp.s     48 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   61 |  2                        dp.s     49 | Equivalence | 11 |         |    0 | 00/2000               | WBX                      =       $33                  ; 1 byte - wheelbarrow pixel X
   62 |  2                        dp.s     50 | Equivalence | 11 |         |    0 | 00/2000               | WBY                      =       $34                  ; 1 byte - wheelbarrow pixel Y
   63 |  2                        dp.s     51 | Equivalence | 11 |         |    0 | 00/2000               | WBFrame                  =       $35                  ; 1 byte - sprite frame index
   64 |  2                        dp.s     52 | Equivalence | 11 |         |    0 | 00/2000               | WBState                  =       $36                  ; 1 byte - 0=idle, 1=grabbed
   65 |  2                        dp.s     53 | Equivalence | 11 |         |    0 | 00/2000               | WBDirty                  =       $37                  ; 1 byte - nonzero if WB needs redraw
   66 |  2                        dp.s     54 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   67 |  2                        dp.s     55 | Comment     | 11 |         |    0 | 00/2000               | * Second test sprite
   68 |  2                        dp.s     56 | Equivalence | 11 |         |    0 | 00/2000               | Spr2X                    =       $4A                  ; 1 byte
   69 |  2                        dp.s     57 | Equivalence | 11 |         |    0 | 00/2000               | Spr2Y                    =       $4B                  ; 1 byte
   70 |  2                        dp.s     58 | Equivalence | 11 |         |    0 | 00/2000               | Spr2Frame                =       $4C                  ; 1 byte
   71 |  2                        dp.s     59 | Equivalence | 11 |         |    0 | 00/2000               | Spr2Dir                  =       $4D                  ; 1 byte
   72 |  2                        dp.s     60 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   73 |  2                        dp.s     61 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   74 |  2                        dp.s     62 | Comment     | 11 |         |    0 | 00/2000               | * Temp working variables
   75 |  2                        dp.s     63 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   76 |  2                        dp.s     64 | Equivalence | 11 |         |    0 | 00/2000               | Temp1                    =       $18                  ; 1 byte
   77 |  2                        dp.s     65 | Equivalence | 11 |         |    0 | 00/2000               | Temp2                    =       $19                  ; 1 byte
   78 |  2                        dp.s     66 | Equivalence | 11 |         |    0 | 00/2000               | Temp3                    =       $1A                  ; 1 byte
   79 |  2                        dp.s     67 | Equivalence | 11 |         |    0 | 00/2000               | Temp4                    =       $1B                  ; 1 byte
   80 |  2                        dp.s     68 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   81 |  2                        dp.s     69 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   82 |  2                        dp.s     70 | Comment     | 11 |         |    0 | 00/2000               | * Double buffer page control
   83 |  2                        dp.s     71 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   84 |  2                        dp.s     72 | Equivalence | 11 |         |    0 | 00/2000               | PageOfs                  =       $1E                  ; 1 byte - $00=page1, $20=page2 (add to ScanAdrH)
   85 |  2                        dp.s     73 | Equivalence | 11 |         |    0 | 00/2000               | DrawPage                 =       $1F                  ; 1 byte - which page we're drawing TO (0 or 1)
   86 |  2                        dp.s     74 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   87 |  2                        dp.s     75 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   88 |  2                        dp.s     76 | Comment     | 11 |         |    0 | 00/2000               | * Collision detection (shared by player and enemies)
   89 |  2                        dp.s     77 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   90 |  2                        dp.s     78 | Equivalence | 11 |         |    0 | 00/2000               | SlopeListPtr             =       $20                  ; 2 bytes - pointer to current SlopeList
   91 |  2                        dp.s     79 | Equivalence | 11 |         |    0 | 00/2000               | CollRow                  =       $22                  ; 2 bytes - temp: pointer to map/collision row
   92 |  2                        dp.s     80 | Equivalence | 11 |         |    0 | 00/2000               | CollOff                  =       $24                  ; 1 byte - temp: pixel X remainder (col within tile)
   93 |  2                        dp.s     81 | Equivalence | 11 |         |    0 | 00/2000               | CollPtr                  =       $25                  ; 2 bytes - pointer to current CollMap base
   94 |  2                        dp.s     82 | Equivalence | 11 |         |    0 | 00/2000               | OldMapIdx                =       $1D                  ; 1 byte - previous map index (for delta draw)
   95 |  2                        dp.s     83 | Equivalence | 11 |         |    0 | 00/2000               | MapTransReq              =       $29                  ; 1 byte - map transition request (0=none, 1=right, 2=left)
   96 |  2                        dp.s     84 | Empty       | 11 |         |    0 | 00/2000               |                                                       
   97 |  2                        dp.s     85 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
   98 |  2                        dp.s     86 | Comment     | 11 |         |    0 | 00/2000               | * Wheelbarrow old position + grab offset ($69-$6F free range)
   99 |  2                        dp.s     87 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  100 |  2                        dp.s     88 | Equivalence | 11 |         |    0 | 00/2000               | OldWBX                   =       $69                  ; 1 byte - previous X for erase
  101 |  2                        dp.s     89 | Equivalence | 11 |         |    0 | 00/2000               | OldWBY                   =       $6A                  ; 1 byte - previous Y for erase
  102 |  2                        dp.s     90 | Equivalence | 11 |         |    0 | 00/2000               | OldWBFr                  =       $6B                  ; 1 byte - previous frame for erase
  103 |  2                        dp.s     91 | Equivalence | 11 |         |    0 | 00/2000               | WBGrabOfs                =       $6C                  ; 1 byte - signed X offset (WBX-PlayerX at grab)
  104 |  2                        dp.s     92 | Equivalence | 11 |         |    0 | 00/2000               | WBMapIdx                 =       $6D                  ; 1 byte - which map the WB is on (0-2)
  105 |  2                        dp.s     93 | Equivalence | 11 |         |    0 | 00/2000               | CarryIdx                 =       $6E                  ; 1 byte - loot item being carried ($FF=none)
  106 |  2                        dp.s     94 | Equivalence | 11 |         |    0 | 00/2000               | LootDirty                =       $6F                  ; 1 byte - nonzero if any loot needs redraw
  107 |  2                        dp.s     95 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  108 |  2                        dp.s     96 | Comment     | 11 |         |    0 | 00/2000               | * Loot state constants (shared by game.s and player.s)
  109 |  2                        dp.s     97 | Equivalence | 11 |         |    0 | 00/2000               | LST_FALLING              =       3                    ; loot falling through air
  110 |  2                        dp.s     98 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  111 |  2                        dp.s     99 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  112 |  2                        dp.s    100 | Comment     | 11 |         |    0 | 00/2000               | * Carried loot old position (reuse Spr2 test vars at runtime)
  113 |  2                        dp.s    101 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  114 |  2                        dp.s    102 | Equivalence | 11 |         |    0 | 00/2000               | OldLootX                 =       $4A                  ; 1 byte - previous carried loot X
  115 |  2                        dp.s    103 | Equivalence | 11 |         |    0 | 00/2000               | OldLootY                 =       $4B                  ; 1 byte - previous carried loot Y
  116 |  2                        dp.s    104 | Equivalence | 11 |         |    0 | 00/2000               | OldLootFr                =       $4C                  ; 1 byte - previous carried loot frame
  117 |  2                        dp.s    105 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  118 |  2                        dp.s    106 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  119 |  2                        dp.s    107 | Comment     | 11 |         |    0 | 00/2000               | * Player state
  120 |  2                        dp.s    108 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  121 |  2                        dp.s    109 | Equivalence | 11 |         |    0 | 00/2000               | PlayerX                  =       $70                  ; 1 byte - pixel X (0-133)
  122 |  2                        dp.s    110 | Equivalence | 11 |         |    0 | 00/2000               | PlayerY                  =       $71                  ; 1 byte - pixel Y (0-180)
  123 |  2                        dp.s    111 | Equivalence | 11 |         |    0 | 00/2000               | PlayerFr                 =       $72                  ; 1 byte - current sprite frame
  124 |  2                        dp.s    112 | Equivalence | 11 |         |    0 | 00/2000               | PlayerDir                =       $73                  ; 1 byte - 0=right, 1=left
  125 |  2                        dp.s    113 | Equivalence | 11 |         |    0 | 00/2000               | PlayerSt                 =       $74                  ; 1 byte - state (0=stand,1=walk,2=climb,3=fall)
  126 |  2                        dp.s    114 | Equivalence | 11 |         |    0 | 00/2000               | PlayerAnim               =       $75                  ; 1 byte - animation counter
  127 |  2                        dp.s    115 | Equivalence | 11 |         |    0 | 00/2000               | InputFlags               =       $76                  ; 1 byte - input bits: 0=R,1=L,2=U,3=D
  128 |  2                        dp.s    116 | Equivalence | 11 |         |    0 | 00/2000               | OldPlayerX               =       $77                  ; 1 byte - previous X for erase
  129 |  2                        dp.s    117 | Equivalence | 11 |         |    0 | 00/2000               | OldPlayerY               =       $78                  ; 1 byte - previous Y for erase
  130 |  2                        dp.s    118 | Equivalence | 11 |         |    0 | 00/2000               | OldPlayerFr              =       $79                  ; 1 byte - previous frame for erase
  131 |  2                        dp.s    119 | Equivalence | 11 |         |    0 | 00/2000               | FallCount                =       $7A                  ; 1 byte - fall distance counter
  132 |  2                        dp.s    120 | Equivalence | 11 |         |    0 | 00/2000               | LastKey                  =       $7B                  ; 1 byte - raw keycode from last poll
  133 |  2                        dp.s    121 | Equivalence | 11 |         |    0 | 00/2000               | PlayerDirty              =       $7C                  ; 1 byte - nonzero if player needs redraw
  134 |  2                        dp.s    122 | Equivalence | 11 |         |    0 | 00/2000               | InputTimer               =       $7D                  ; 1 byte - frames until input clears
  135 |  2                        dp.s    123 | Equivalence | 11 |         |    0 | 00/2000               | FrameBudget              =       $7E                  ; 1 byte - delay loops remaining this frame
  136 |  2                        dp.s    124 | Equivalence | 11 |         |    0 | 00/2000               | NewKey                   =       $7F                  ; 1 byte - nonzero if a new key arrived this frame
  137 |  2                        dp.s    125 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  138 |  2                        dp.s    126 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  139 |  2                        dp.s    127 | Comment     | 11 |         |    0 | 00/2000               | * Zero page trampolines (executable code in ZP)
  140 |  2                        dp.s    128 | Comment     | 11 |         |    0 | 00/2000               | * Safe from RAMRD/RAMWRT (those only affect $0200-$BFFF).
  141 |  2                        dp.s    129 | Comment     | 11 |         |    0 | 00/2000               | * ZP fetches always come from main RAM.
  142 |  2                        dp.s    130 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  143 |  2                        dp.s    131 | Equivalence | 11 |         |    0 | 00/2000               | ReadAuxByte              =       $2A                  ; 9 bytes ($2A-$32) - read 1 aux byte at (ScreenPtr),Y
  144 |  2                        dp.s    132 | Equivalence | 11 |         |    0 | 00/2000               | ReadAux                  =       $50                  ; 25 bytes ($50-$68) - aux RAM read trampoline
  145 |  2                        dp.s    133 | Equivalence | 11 |         |    0 | 00/2000               | ZPComposite              =       $80                  ; ~95 bytes ($80-$DE) - sprite composite routine
  146 |  2                        dp.s    134 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  147 |  2                        dp.s    135 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  148 |  2                        dp.s    136 | Comment     | 11 |         |    0 | 00/2000               | * Mine cart state
  149 |  2                        dp.s    137 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  150 |  2                        dp.s    138 | Equivalence | 11 |         |    0 | 00/2000               | CartDirty                =       $E9                  ; 1 byte - nonzero if any cart needs redraw
  151 |  2                        dp.s    139 | Equivalence | 11 |         |    0 | 00/2000               | StunTimer                =       $EA                  ; 1 byte - stun countdown (frames)
  152 |  2                        dp.s    140 | Equivalence | 11 |         |    0 | 00/2000               | RideCartIdx              =       $EB                  ; 1 byte - cart index player is riding ($FF = none)
  153 |  2                        dp.s    141 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  154 |  2                        dp.s    142 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  155 |  2                        dp.s    143 | Comment     | 11 |         |    0 | 00/2000               | * Sprite sleep system
  156 |  2                        dp.s    144 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  157 |  2                        dp.s    145 | Equivalence | 11 |         |    0 | 00/2000               | LootWakeCnt              =       $EC                  ; 1 byte - frames before ground loot can sleep
  158 |  2                        dp.s    146 | Equivalence | 11 |         |    0 | 00/2000               | WBWakeCnt                =       $ED                  ; 1 byte - frames before WB can sleep
  159 |  2                        dp.s    147 | Equivalence | 11 |         |    0 | 00/2000               | LootDrawOnly             =       $EE                  ; 1 byte - bitfield: bit N = loot item N draw-only
  160 |  2                        dp.s    148 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  161 |  2                        dp.s    149 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  162 |  2                        dp.s    150 | Comment     | 11 |         |    0 | 00/2000               | * Elevator state
  163 |  2                        dp.s    151 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  164 |  2                        dp.s    152 | Equivalence | 11 |         |    0 | 00/2000               | ElevY                    =       $EF                  ; 1 byte - car Y (top scanline of platform)
  165 |  2                        dp.s    153 | Equivalence | 11 |         |    0 | 00/2000               | ElevDir                  =       $F0                  ; 1 byte - 0=down, 1=up
  166 |  2                        dp.s    154 | Equivalence | 11 |         |    0 | 00/2000               | ElevTimer                =       $F1                  ; 1 byte - stop-pause countdown (0=moving)
  167 |  2                        dp.s    155 | Equivalence | 11 |         |    0 | 00/2000               | OnElevator               =       $F2                  ; 1 byte - 0=not on car, 1=riding
  168 |  2                        dp.s    156 | Equivalence | 11 |         |    0 | 00/2000               | ElevDirty                =       $F3                  ; 1 byte - nonzero = needs redraw
  169 |  2                        dp.s    157 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  170 |  2                        dp.s    158 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  171 |  2                        dp.s    159 | Comment     | 11 |         |    0 | 00/2000               | * Guard state
  172 |  2                        dp.s    160 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  173 |  2                        dp.s    161 | Equivalence | 11 |         |    0 | 00/2000               | GuardDirty               =       $48                  ; 1 byte - nonzero if any guard needs redraw
  174 |  2                        dp.s    162 | Equivalence | 11 |         |    0 | 00/2000               | GuardWakeCnt             =       $49                  ; 1 byte - frames before guards can sleep
  175 |  2                        dp.s    163 | Equivalence | 11 |         |    0 | 00/2000               | GuardIdx                 =       $F4                  ; 1 byte - current guard index in update loop
  176 |  2                        dp.s    164 | Equivalence | 11 |         |    0 | 00/2000               | AITemp                   =       $F5                  ; 1 byte - AI scratch variable
  177 |  2                        dp.s    165 | Equivalence | 11 |         |    0 | 00/2000               | EntX                     =       $F6                  ; 1 byte - entity cursor X (parameterized movement)
  178 |  2                        dp.s    166 | Equivalence | 11 |         |    0 | 00/2000               | EntY                     =       $F7                  ; 1 byte - entity cursor Y
  179 |  2                        dp.s    167 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  180 |  2                        dp.s    168 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  181 |  2                        dp.s    169 | Comment     | 11 |         |    0 | 00/2000               | * Electric Duet music player (Alex Patalenski)
  182 |  2                        dp.s    170 | Comment     | 11 |         |    0 | 00/2000               | * Uses $E0-$E8 (after ZPComposite)
  183 |  2                        dp.s    171 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  184 |  2                        dp.s    172 | Equivalence | 11 |         |    0 | 00/2000               | MusicPtr                 =       $E0                  ; 2 bytes - pointer to current music data
  185 |  2                        dp.s    173 | Equivalence | 11 |         |    0 | 00/2000               | MusicDur                 =       $E2                  ; 1 byte - duration counter
  186 |  2                        dp.s    174 | Equivalence | 11 |         |    0 | 00/2000               | MusicLoop                =       $E3                  ; 1 byte - inner loop counter
  187 |  2                        dp.s    175 | Equivalence | 11 |         |    0 | 00/2000               | MusicFrq1                =       $E4                  ; 1 byte - voice 1 raw frequency
  188 |  2                        dp.s    176 | Equivalence | 11 |         |    0 | 00/2000               | MusicFrq2                =       $E5                  ; 1 byte - voice 2 raw frequency
  189 |  2                        dp.s    177 | Equivalence | 11 |         |    0 | 00/2000               | MusicDty1                =       $E6                  ; 1 byte - voice 1 duty cycle threshold
  190 |  2                        dp.s    178 | Equivalence | 11 |         |    0 | 00/2000               | MusicDty2                =       $E7                  ; 1 byte - voice 2 duty cycle threshold
  191 |  2                        dp.s    179 | Equivalence | 11 |         |    0 | 00/2000               | MusicSpkr                =       $E8                  ; 1 byte - current speaker state
  192 |  2                        dp.s    180 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  193 |  2                        dp.s    181 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  194 |  2                        dp.s    182 | Comment     | 11 |         |    0 | 00/2000               | * Attract / demo mode state
  195 |  2                        dp.s    183 | Comment     | 11 |         |    0 | 00/2000               | * Absolute addresses in page 3 scratch (PrvElevOldP1 ends at $03A5).
  196 |  2                        dp.s    184 | Comment     | 11 |         |    0 | 00/2000               | * Using absolute (not ZP) because the music player reads NotesLeft
  197 |  2                        dp.s    185 | Comment     | 11 |         |    0 | 00/2000               | * from aux-LC context via absolute addressing that targets main RAM
  198 |  2                        dp.s    186 | Comment     | 11 |         |    0 | 00/2000               | * regardless of ALTZP (RAMRD/RAMWRT default off for $0200-$BFFF).
  199 |  2                        dp.s    187 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  200 |  2                        dp.s    188 | Equivalence | 11 |         |    0 | 00/2000               | AttractState             =       $03A6                ; 0=normal, 1=title wait, 2=hiscore wait, 3=demo
  201 |  2                        dp.s    189 | Equivalence | 11 |         |    0 | 00/2000               | DemoActive               =       $03A7                ; 1 while the scripted demo is running
  202 |  2                        dp.s    190 | Equivalence | 11 |         |    0 | 00/2000               | DemoHoldCnt              =       $03A8                ; frames left on current RLE entry
  203 |  2                        dp.s    191 | Equivalence | 11 |         |    0 | 00/2000               | DemoBtn                  =       $03A9                ; synthesized Open-Apple state (bit 7 = pressed)
  204 |  2                        dp.s    192 | Equivalence | 11 |         |    0 | 00/2000               | DemoIdx                  =       $03AA                ; byte index into DemoData
  205 |  2                        dp.s    193 | Equivalence | 11 |         |    0 | 00/2000               | DemoInp                  =       $03AB                ; cached current RLE input byte
  206 |  2                        dp.s    194 | Equivalence | 11 |         |    0 | 00/2000               | NotesLeft                =       $03AC                ; music early-exit: notes remaining (0 = no limit)
  207 |  2                        dp.s    195 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  208 |  2                        dp.s    196 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  209 |  2                        dp.s    197 | Comment     | 11 |         |    0 | 00/2000               | * Debug flags (assembly-time)
  210 |  2                        dp.s    198 | Comment     | 11 |         |    0 | 00/2000               | *----------------------------------------------
  211 |  2                        dp.s    199 | Equivalence | 11 |         |    0 | 00/2000               | DEBUG_COLL               =       0                    ; 1 = draw collision tile outlines
  212 |  2                        dp.s    200 | Equivalence | 11 |         |    0 | 00/2000               | DEBUG_TILE               =       0                    ; 1 = show tile ID + player XY
  213 |  2                        dp.s    201 | Equivalence | 11 |         |    0 | 00/2000               | DEBUG_FONTTEST           =       1                    ; 1 = include ShowFontTest/ShowSpriteCatalog at boot
  214 |  2                        dp.s    202 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  215 |  2                        dp.s    203 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  216 |  1                    bagman.s     13 | Directive   | 11 |         |    0 | 00/2000               |                          PUT     Speed.s              
  217 |  3                     Speed.s      1 | Comment     | 11 |         |    0 | 00/2000               | *
  218 |  3                     Speed.s      2 | Comment     | 11 |         |    0 | 00/2000               | * Bagman - Movement speed constants (8.8 fixed point)
  219 |  3                     Speed.s      3 | Comment     | 11 |         |    0 | 00/2000               | *
  220 |  3                     Speed.s      4 | Comment     | 11 |         |    0 | 00/2000               | * Each movable actor (player walk/climb/fall, mine carts, elevator)
  221 |  3                     Speed.s      5 | Comment     | 11 |         |    0 | 00/2000               | * carries a 16-bit accumulator. Every frame:
  222 |  3                     Speed.s      6 | Comment     | 11 |         |    0 | 00/2000               | *   acc += speed       ; 16-bit add
  223 |  3                     Speed.s      7 | Comment     | 11 |         |    0 | 00/2000               | *   pixels = acc.hi    ; integer part = pixels to move this frame
  224 |  3                     Speed.s      8 | Comment     | 11 |         |    0 | 00/2000               | *   acc.hi = 0         ; keep only fractional part
  225 |  3                     Speed.s      9 | Comment     | 11 |         |    0 | 00/2000               | * The inner per-pixel step runs 0/1/2 times based on the integer part,
  226 |  3                     Speed.s     10 | Comment     | 11 |         |    0 | 00/2000               | * so all existing collision / walkability / ground / ladder logic is
  227 |  3                     Speed.s     11 | Comment     | 11 |         |    0 | 00/2000               | * preserved.
  228 |  3                     Speed.s     12 | Comment     | 11 |         |    0 | 00/2000               | *
  229 |  3                     Speed.s     13 | Comment     | 11 |         |    0 | 00/2000               | * Guards keep their existing 8-bit accumulator scheme (max 1.0x) but
  230 |  3                     Speed.s     14 | Comment     | 11 |         |    0 | 00/2000               | * GuardBaseSpeed now moves in five tiers driven by cumulative score.
  231 |  3                     Speed.s     15 | Comment     | 11 |         |    0 | 00/2000               | *
  232 |  3                     Speed.s     16 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  233 |  3                     Speed.s     17 | Comment     | 11 |         |    0 | 00/2000               | * Player / cart / elevator / fall speeds (8.8 fixed point)
  234 |  3                     Speed.s     18 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_NORMAL_LO          =       $00                  ; 1.00x  ($0100) - baseline player
  235 |  3                     Speed.s     19 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_NORMAL_HI          =       $01                  
  236 |  3                     Speed.s     20 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_YELLOW_LO          =       $80                  ; 0.50x  ($0080) - carrying yellow bag
  237 |  3                     Speed.s     21 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_YELLOW_HI          =       $00                  
  238 |  3                     Speed.s     22 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_BLUE_LO            =       $55                  ; 0.332x ($0055) - carrying blue bag (85/256)
  239 |  3                     Speed.s     23 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_BLUE_HI            =       $00                  
  240 |  3                     Speed.s     24 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_FALL_LO            =       $80                  ; 1.50x  ($0180) - player falling
  241 |  3                     Speed.s     25 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_FALL_HI            =       $01                  
  242 |  3                     Speed.s     26 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_ELEV_LO            =       $80                  ; 1.50x  ($0180) - elevator car
  243 |  3                     Speed.s     27 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_ELEV_HI            =       $01                  
  244 |  3                     Speed.s     28 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_CART_LO            =       $00                  ; 2.00x  ($0200) - mine cart
  245 |  3                     Speed.s     29 | Equivalence | 11 |         |    0 | 00/2000               | SPEED_CART_HI            =       $02                  
  246 |  3                     Speed.s     30 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  247 |  3                     Speed.s     31 | Comment     | 11 |         |    0 | 00/2000               | * Guard base-speed tiers (unsigned 8-bit, added to GuardSpeedAcc each
  248 |  3                     Speed.s     32 | Comment     | 11 |         |    0 | 00/2000               | * tick; guard moves 1 px only on accumulator overflow). See
  249 |  3                     Speed.s     33 | Comment     | 11 |         |    0 | 00/2000               | * guard_lc.s GuardWander for the existing fractional logic.
  250 |  3                     Speed.s     34 | Equivalence | 11 |         |    0 | 00/2000               | GSPD_T0                  =       102                  ; 0.40x (score 0)       - slower than encumbered player
  251 |  3                     Speed.s     35 | Equivalence | 11 |         |    0 | 00/2000               | GSPD_T1                  =       141                  ; 0.55x (score >= 10k)
  252 |  3                     Speed.s     36 | Equivalence | 11 |         |    0 | 00/2000               | GSPD_T2                  =       179                  ; 0.70x (score >= 20k)
  253 |  3                     Speed.s     37 | Equivalence | 11 |         |    0 | 00/2000               | GSPD_T3                  =       217                  ; 0.85x (score >= 30k)
  254 |  3                     Speed.s     38 | Equivalence | 11 |         |    0 | 00/2000               | GSPD_T4                  =       255                  ; 1.00x (score >= 40k)  - matches unencumbered player
  255 |  3                     Speed.s     39 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  256 |  1                    bagman.s     14 | Directive   | 11 |         |    0 | 00/2000               |                          PUT     init.s               
  257 |  4                      init.s      1 | Comment     | 11 |         |    0 | 00/2000               | *
  258 |  4                      init.s      2 | Comment     | 11 |         |    0 | 00/2000               | * Bagman - Initialization
  259 |  4                      init.s      3 | Comment     | 11 |         |    0 | 00/2000               | *
  260 |  4                      init.s      4 | Comment     | 11 |         |    0 | 00/2000               | * Relocates resident code/data out of the boot load area ($2000+)
  261 |  4                      init.s      5 | Comment     | 11 |         |    0 | 00/2000               | * to its runtime home before the stub gets trampled by DHGRClear.
  262 |  4                      init.s      6 | Comment     | 11 |         |    0 | 00/2000               | *
  263 |  4                      init.s      7 | Empty       | 11 |         |    0 | 00/2000               |                                                       
  264 |  4                      init.s      8 | Empty       | 11 |         |    0 | 00/2000               | Entry                                                 
  265 |  4                      init.s      9 | Code        | 11 |         |    1 | 00/2000 : D8          |                          CLD                          
  266 |  4                      init.s     10 | Code        | 11 |         |    3 | 00/2001 : 20 58 FC    |                          JSR     $FC58                ; HOME — clear TEXT page 1, home cursor
  267 |  4                      init.s     11 | Empty       | 11 |         |    0 | 00/2004               |                                                       
  268 |  4                      init.s     12 | Comment     | 11 |         |    0 | 00/2004               | * Stamp build info (BAGMAN + date + time) at text page 1 ($0400)
  269 |  4                      init.s     13 | Comment     | 11 |         |    0 | 00/2004               | * so the running binary carries its build stamp for the debugger.
  270 |  4                      init.s     14 | Code        | 11 |         |    2 | 00/2004 : A2 19       |                          LDX     #BuildInfoEnd-BuildInfo-1
  271 |  4                      init.s     15 | Code        | 11 |         |    3 | 00/2006 : BD 60 3C    | _biCopy                  LDA     BuildInfo,X          
  272 |  4                      init.s     16 | Code        | 11 |         |    3 | 00/2009 : 9D 00 04    |                          STA     $0400,X              
  273 |  4                      init.s     17 | Code        | 11 |         |    1 | 00/200C : CA          |                          DEX                          
  274 |  4                      init.s     18 | Code        | 11 |         |    2 | 00/200D : 10 F7       |                          BPL     _biCopy              
  275 |  4                      init.s     19 | Empty       | 11 |         |    0 | 00/200F               |                                                       
  276 |  4                      init.s     20 | Code        | 11 |         |    3 | 00/200F : AD 83 C0    |                          LDA     $C083                
  277 |  4                      init.s     21 | Code        | 11 |         |    3 | 00/2012 : AD 83 C0    |                          LDA     $C083                ; enable LC bank 2 read+write
  278 |  4                      init.s     22 | Empty       | 11 |         |    0 | 00/2015               |                                                       
  279 |  4                      init.s     23 | Comment     | 11 |         |    0 | 00/2015               | *----------------------------------------------
  280 |  4                      init.s     24 | Comment     | 11 |         |    0 | 00/2015               | * Copy low block (LZSA2 + trampoline + elevator + guards) to $0800 FIRST.
  281 |  4                      init.s     25 | Comment     | 11 |         |    0 | 00/2015               | * The LZSA2 decompressor must live at $0800 before we decompress the sprite
  282 |  4                      init.s     26 | Comment     | 11 |         |    0 | 00/2015               | * atlas below, so this copy moves ahead of GenShiftedSprites.
  283 |  4                      init.s     27 | Comment     | 11 |         |    0 | 00/2015               | * Forward copy: source (StubEnd) > dest ($0800), no overlap.
  284 |  4                      init.s     28 | Comment     | 11 |         |    0 | 00/2015               | *----------------------------------------------
  285 |  4                      init.s     29 | Code        | 11 |         |    2 | 00/2015 : A9 7A       |                          LDA     #<StubEnd            
  286 |  4                      init.s     30 | Code        | 11 |         |    2 | 00/2017 : 85 04       |                          STA     {$04}                
  287 |  4                      init.s     31 | Code        | 11 |         |    2 | 00/2019 : A9 3C       |                          LDA     #>StubEnd            
  288 |  4                      init.s     32 | Code        | 11 |         |    2 | 00/201B : 85 05       |                          STA     {$04}+1              
  289 |  4                      init.s     33 | Code        | 11 |         |    2 | 00/201D : A9 00       |                          LDA     #<$0800              
  290 |  4                      init.s     34 | Code        | 11 |         |    2 | 00/201F : 85 06       |                          STA     {$06}                
  291 |  4                      init.s     35 | Code        | 11 |         |    2 | 00/2021 : A9 08       |                          LDA     #>$0800              
  292 |  4                      init.s     36 | Code        | 11 |         |    2 | 00/2023 : 85 07       |                          STA     {$06}+1              
  293 |  4                      init.s     37 | Empty       | 11 |         |    0 | 00/2025               |                                                       
  294 |  4                      init.s     38 | Code        | 11 |         |    2 | 00/2025 : A9 DA       |                          LDA     #<{ozunid_88-$0800}  
  295 |  4                      init.s     39 | Code        | 11 |         |    2 | 00/2027 : 85 0C       |                          STA     {$0C}                
  296 |  4                      init.s     40 | Code        | 11 |         |    2 | 00/2029 : A9 0D       |                          LDA     #>{ozunid_88-$0800}  
  297 |  4                      init.s     41 | Code        | 11 |         |    2 | 00/202B : 85 0D       |                          STA     {$0C}+1              
  298 |  4                      init.s     42 | Empty       | 11 |         |    0 | 00/202D               |                                                       
  299 |  4                      init.s     43 | Code        | 11 |         |    2 | 00/202D : A0 00       | _cpLow0                  LDY     #0                   
  300 |  4                      init.s     44 | Code        | 11 |         |    2 | 00/202F : B1 04       |                          LDA     ({$04}),Y            
  301 |  4                      init.s     45 | Code        | 11 |         |    2 | 00/2031 : 91 06       |                          STA     ({$06}),Y            
  302 |  4                      init.s     46 | Empty       | 11 |         |    0 | 00/2033               |                                                       
  303 |  4                      init.s     47 | Code        | 11 |         |    2 | 00/2033 : E6 04       |                          INC     {$04}                
  304 |  4                      init.s     48 | Code        | 11 |         |    2 | 00/2035 : D0 02       |                          BNE     _cl0a                
  305 |  4                      init.s     49 | Code        | 11 |         |    2 | 00/2037 : E6 05       |                          INC     {$04}+1              
  306 |  4                      init.s     50 | Code        | 11 |         |    2 | 00/2039 : E6 06       | _cl0a                    INC     {$06}                
  307 |  4                      init.s     51 | Code        | 11 |         |    2 | 00/203B : D0 02       |                          BNE     _cl0b                
  308 |  4                      init.s     52 | Code        | 11 |         |    2 | 00/203D : E6 07       |                          INC     {$06}+1              
  309 |  4                      init.s     53 | Empty       | 11 |         |    0 | 00/203F               | _cl0b                                                 
  310 |  4                      init.s     54 | Code        | 11 |         |    2 | 00/203F : A5 0C       |                          LDA     {$0C}                
  311 |  4                      init.s     55 | Code        | 11 |         |    2 | 00/2041 : D0 02       |                          BNE     _cl0c                
  312 |  4                      init.s     56 | Code        | 11 |         |    2 | 00/2043 : C6 0D       |                          DEC     {$0C}+1              
  313 |  4                      init.s     57 | Code        | 11 |         |    2 | 00/2045 : C6 0C       | _cl0c                    DEC     {$0C}                
  314 |  4                      init.s     58 | Empty       | 11 |         |    0 | 00/2047               |                                                       
  315 |  4                      init.s     59 | Code        | 11 |         |    2 | 00/2047 : A5 0C       |                          LDA     {$0C}                
  316 |  4                      init.s     60 | Code        | 11 |         |    2 | 00/2049 : 05 0D       |                          ORA     {$0C}+1              
  317 |  4                      init.s     61 | Code        | 11 |         |    2 | 00/204B : D0 E0       |                          BNE     _cpLow0              
  318 |  4                      init.s     62 | Empty       | 11 |         |    0 | 00/204D               |                                                       
  319 |  4                      init.s     63 | Comment     | 11 |         |    0 | 00/204D               | *----------------------------------------------
  320 |  4                      init.s     64 | Comment     | 11 |         |    0 | 00/204D               | * Decompress SpriteAtlas (LZSA2) into free low RAM at $1600 before
  321 |  4                      init.s     65 | Comment     | 11 |         |    0 | 00/204D               | * GenShiftedSprites reads it. LZSA2 entry lives at $0800+ (just copied).
  322 |  4                      init.s     66 | Comment     | 11 |         |    0 | 00/204D               | * Source: SpriteAtlasCmp (in stub). Dest: SpriteAtlas ($1600).
  323 |  4                      init.s     67 | Comment     | 11 |         |    0 | 00/204D               | *----------------------------------------------
  324 |  4                      init.s     68 | Code        | 11 |         |    2 | 00/204D : A0 00       |                          LDY     #0                   
  325 |  4                      init.s     69 | Code        | 11 |         |    3 | 00/204F : 20 B2 22    |                          JSR     PrintStatus          
  326 |  4                      init.s     70 | Code        | 11 |         |    2 | 00/2052 : A9 9F       |                          LDA     #<SpriteAtlasCmp     
  327 |  4                      init.s     71 | Code        | 11 |         |    2 | 00/2054 : 85 FC       |                          STA     $FC                  
  328 |  4                      init.s     72 | Code        | 11 |         |    2 | 00/2056 : A9 28       |                          LDA     #>SpriteAtlasCmp     
  329 |  4                      init.s     73 | Code        | 11 |         |    2 | 00/2058 : 85 FD       |                          STA     $FD                  
  330 |  4                      init.s     74 | Code        | 11 |         |    2 | 00/205A : A9 00       |                          LDA     #<{$1600}            
  331 |  4                      init.s     75 | Code        | 11 |         |    2 | 00/205C : 85 FE       |                          STA     $FE                  
  332 |  4                      init.s     76 | Code        | 11 |         |    2 | 00/205E : A9 16       |                          LDA     #>{$1600}            
  333 |  4                      init.s     77 | Code        | 11 |         |    2 | 00/2060 : 85 FF       |                          STA     $FF                  
  334 |  4                      init.s     78 | Code        | 11 |         |    3 | 00/2062 : 20 00 08    |                          JSR     LZSA2Decomp          
  335 |  4                      init.s     79 | Empty       | 11 |         |    0 | 00/2065               |                                                       
  336 |  4                      init.s     80 | Comment     | 11 |         |    0 | 00/2065               | *----------------------------------------------
  337 |  4                      init.s     81 | Comment     | 11 |         |    0 | 00/2065               | * Run init-only code at load address before relocation
  338 |  4                      init.s     82 | Comment     | 11 |         |    0 | 00/2065               | * (saves space in the $6000+ game code area)
  339 |  4                      init.s     83 | Comment     | 11 |         |    0 | 00/2065               | *----------------------------------------------
  340 |  4                      init.s     84 | Code        | 11 |         |    2 | 00/2065 : A0 01       |                          LDY     #1                   
  341 |  4                      init.s     85 | Code        | 11 |         |    3 | 00/2067 : 20 B2 22    |                          JSR     PrintStatus          
  342 |  4                      init.s     86 | Code        | 11 |         |    3 | 00/206A : 20 03 36    |                          JSR     GenShiftedSprites    
  343 |  4                      init.s     87 | Empty       | 11 |         |    0 | 00/206D               |                                                       
  344 |  4                      init.s     88 | Comment     | 11 |         |    0 | 00/206D               | *----------------------------------------------
  345 |  4                      init.s     89 | Comment     | 11 |         |    0 | 00/206D               | * Copy guard overflow to LC bank 2 at $D000-$D0FF
  346 |  4                      init.s     90 | Comment     | 11 |         |    0 | 00/206D               | * LC bank 2 is still R/W from above.
  347 |  4                      init.s     91 | Comment     | 11 |         |    0 | 00/206D               | * Source is in binary at StubEnd + Low1800Len.
  348 |  4                      init.s     92 | Comment     | 11 |         |    0 | 00/206D               | *----------------------------------------------
  349 |  4                      init.s     93 | Code        | 11 |         |    1 | 00/206D : 18          |                          CLC                          
  350 |  4                      init.s     94 | Code        | 11 |         |    2 | 00/206E : A9 7A       |                          LDA     #<StubEnd            
  351 |  4                      init.s     95 | Code        | 11 |         |    2 | 00/2070 : 69 DA       |                          ADC     #<{ozunid_88-$0800}  
  352 |  4                      init.s     96 | Code        | 11 |         |    2 | 00/2072 : 85 04       |                          STA     {$04}                
  353 |  4                      init.s     97 | Code        | 11 |         |    2 | 00/2074 : A9 3C       |                          LDA     #>StubEnd            
  354 |  4                      init.s     98 | Code        | 11 |         |    2 | 00/2076 : 69 0D       |                          ADC     #>{ozunid_88-$0800}  
  355 |  4                      init.s     99 | Code        | 11 |         |    2 | 00/2078 : 85 05       |                          STA     {$04}+1              
  356 |  4                      init.s    100 | Empty       | 11 |         |    0 | 00/207A               |                                                       
  357 |  4                      init.s    101 | Code        | 11 |         |    2 | 00/207A : A9 00       |                          LDA     #<{$D000}            
  358 |  4                      init.s    102 | Code        | 11 |         |    2 | 00/207C : 85 06       |                          STA     {$06}                
  359 |  4                      init.s    103 | Code        | 11 |         |    2 | 00/207E : A9 D0       |                          LDA     #>{$D000}            
  360 |  4                      init.s    104 | Code        | 11 |         |    2 | 00/2080 : 85 07       |                          STA     {$06}+1              
  361 |  4                      init.s    105 | Empty       | 11 |         |    0 | 00/2082               |                                                       
  362 |  4                      init.s    106 | Code        | 11 |         |    2 | 00/2082 : A9 F9       |                          LDA     #<{ozunid_89-{$D000}}
  363 |  4                      init.s    107 | Code        | 11 |         |    2 | 00/2084 : 85 0C       |                          STA     {$0C}                
  364 |  4                      init.s    108 | Code        | 11 |         |    2 | 00/2086 : A9 00       |                          LDA     #>{ozunid_89-{$D000}}
  365 |  4                      init.s    109 | Code        | 11 |         |    2 | 00/2088 : 85 0D       |                          STA     {$0C}+1              
  366 |  4                      init.s    110 | Empty       | 11 |         |    0 | 00/208A               |                                                       
  367 |  4                      init.s    111 | Code        | 11 |         |    2 | 00/208A : A0 00       | _cpLC2                   LDY     #0                   
  368 |  4                      init.s    112 | Code        | 11 |         |    2 | 00/208C : B1 04       |                          LDA     ({$04}),Y            
  369 |  4                      init.s    113 | Code        | 11 |         |    2 | 00/208E : 91 06       |                          STA     ({$06}),Y            
  370 |  4                      init.s    114 | Empty       | 11 |         |    0 | 00/2090               |                                                       
  371 |  4                      init.s    115 | Code        | 11 |         |    2 | 00/2090 : E6 04       |                          INC     {$04}                
  372 |  4                      init.s    116 | Code        | 11 |         |    2 | 00/2092 : D0 02       |                          BNE     _l2a1                
  373 |  4                      init.s    117 | Code        | 11 |         |    2 | 00/2094 : E6 05       |                          INC     {$04}+1              
  374 |  4                      init.s    118 | Code        | 11 |         |    2 | 00/2096 : E6 06       | _l2a1                    INC     {$06}                
  375 |  4                      init.s    119 | Code        | 11 |         |    2 | 00/2098 : D0 02       |                          BNE     _l2a2                
  376 |  4                      init.s    120 | Code        | 11 |         |    2 | 00/209A : E6 07       |                          INC     {$06}+1              
  377 |  4                      init.s    121 | Empty       | 11 |         |    0 | 00/209C               | _l2a2                                                 
  378 |  4                      init.s    122 | Code        | 11 |         |    2 | 00/209C : A5 0C       |                          LDA     {$0C}                
  379 |  4                      init.s    123 | Code        | 11 |         |    2 | 00/209E : D0 02       |                          BNE     _l2a3                
  380 |  4                      init.s    124 | Code        | 11 |         |    2 | 00/20A0 : C6 0D       |                          DEC     {$0C}+1              
  381 |  4                      init.s    125 | Code        | 11 |         |    2 | 00/20A2 : C6 0C       | _l2a3                    DEC     {$0C}                
  382 |  4                      init.s    126 | Empty       | 11 |         |    0 | 00/20A4               |                                                       
  383 |  4                      init.s    127 | Code        | 11 |         |    2 | 00/20A4 : A5 0C       |                          LDA     {$0C}                
  384 |  4                      init.s    128 | Code        | 11 |         |    2 | 00/20A6 : 05 0D       |                          ORA     {$0C}+1              
  385 |  4                      init.s    129 | Code        | 11 |         |    2 | 00/20A8 : D0 E0       |                          BNE     _cpLC2               
  386 |  4                      init.s    130 | Empty       | 11 |         |    0 | 00/20AA               |                                                       
  387 |  4                      init.s    131 | Comment     | 11 |         |    0 | 00/20AA               | *----------------------------------------------
  388 |  4                      init.s    132 | Comment     | 11 |         |    0 | 00/20AA               | * Copy render_lc + guard_lc to LC bank 2 at $D400
  389 |  4                      init.s    133 | Comment     | 11 |         |    0 | 00/20AA               | * Source continues from where $D000 copy left off (SrcPtr).
  390 |  4                      init.s    134 | Comment     | 11 |         |    0 | 00/20AA               | *----------------------------------------------
  391 |  4                      init.s    135 | Code        | 11 |         |    2 | 00/20AA : A9 00       |                          LDA     #<{$D400}            
  392 |  4                      init.s    136 | Code        | 11 |         |    2 | 00/20AC : 85 06       |                          STA     {$06}                
  393 |  4                      init.s    137 | Code        | 11 |         |    2 | 00/20AE : A9 D4       |                          LDA     #>{$D400}            
  394 |  4                      init.s    138 | Code        | 11 |         |    2 | 00/20B0 : 85 07       |                          STA     {$06}+1              
  395 |  4                      init.s    139 | Empty       | 11 |         |    0 | 00/20B2               |                                                       
  396 |  4                      init.s    140 | Code        | 11 |         |    2 | 00/20B2 : A9 B7       |                          LDA     #<{ozunid_90-{$D400}}
  397 |  4                      init.s    141 | Code        | 11 |         |    2 | 00/20B4 : 85 0C       |                          STA     {$0C}                
  398 |  4                      init.s    142 | Code        | 11 |         |    2 | 00/20B6 : A9 0B       |                          LDA     #>{ozunid_90-{$D400}}
  399 |  4                      init.s    143 | Code        | 11 |         |    2 | 00/20B8 : 85 0D       |                          STA     {$0C}+1              
  400 |  4                      init.s    144 | Empty       | 11 |         |    0 | 00/20BA               |                                                       
  401 |  4                      init.s    145 | Code        | 11 |         |    2 | 00/20BA : A0 00       | _cpLC                    LDY     #0                   
  402 |  4                      init.s    146 | Code        | 11 |         |    2 | 00/20BC : B1 04       |                          LDA     ({$04}),Y            
  403 |  4                      init.s    147 | Code        | 11 |         |    2 | 00/20BE : 91 06       |                          STA     ({$06}),Y            
  404 |  4                      init.s    148 | Empty       | 11 |         |    0 | 00/20C0               |                                                       
  405 |  4                      init.s    149 | Code        | 11 |         |    2 | 00/20C0 : E6 04       |                          INC     {$04}                
  406 |  4                      init.s    150 | Code        | 11 |         |    2 | 00/20C2 : D0 02       |                          BNE     _la1                 
  407 |  4                      init.s    151 | Code        | 11 |         |    2 | 00/20C4 : E6 05       |                          INC     {$04}+1              
  408 |  4                      init.s    152 | Code        | 11 |         |    2 | 00/20C6 : E6 06       | _la1                     INC     {$06}                
  409 |  4                      init.s    153 | Code        | 11 |         |    2 | 00/20C8 : D0 02       |                          BNE     _la2                 
  410 |  4                      init.s    154 | Code        | 11 |         |    2 | 00/20CA : E6 07       |                          INC     {$06}+1              
  411 |  4                      init.s    155 | Empty       | 11 |         |    0 | 00/20CC               | _la2                                                  
  412 |  4                      init.s    156 | Code        | 11 |         |    2 | 00/20CC : A5 0C       |                          LDA     {$0C}                
  413 |  4                      init.s    157 | Code        | 11 |         |    2 | 00/20CE : D0 02       |                          BNE     _la3                 
  414 |  4                      init.s    158 | Code        | 11 |         |    2 | 00/20D0 : C6 0D       |                          DEC     {$0C}+1              
  415 |  4                      init.s    159 | Code        | 11 |         |    2 | 00/20D2 : C6 0C       | _la3                     DEC     {$0C}                
  416 |  4                      init.s    160 | Empty       | 11 |         |    0 | 00/20D4               |                                                       
  417 |  4                      init.s    161 | Code        | 11 |         |    2 | 00/20D4 : A5 0C       |                          LDA     {$0C}                
  418 |  4                      init.s    162 | Code        | 11 |         |    2 | 00/20D6 : 05 0D       |                          ORA     {$0C}+1              
  419 |  4                      init.s    163 | Code        | 11 |         |    2 | 00/20D8 : D0 E0       |                          BNE     _cpLC                
  420 |  4                      init.s    164 | Empty       | 11 |         |    0 | 00/20DA               |                                                       
  421 |  4                      init.s    165 | Comment     | 11 |         |    0 | 00/20DA               | *----------------------------------------------
  422 |  4                      init.s    166 | Comment     | 11 |         |    0 | 00/20DA               | * Copy AuxLC2 shadow (ReadAux2 at $D0C3) to AUX LC at $D000.
  423 |  4                      init.s    167 | Comment     | 11 |         |    0 | 00/20DA               | * SrcPtr continues from LCBlock copy above (chained).
  424 |  4                      init.s    168 | Comment     | 11 |         |    0 | 00/20DA               | * LC is still R/W; ALTZP routes writes to aux LC.
  425 |  4                      init.s    169 | Comment     | 11 |         |    0 | 00/20DA               | *----------------------------------------------
  426 |  4                      init.s    170 | Code        | 11 |         |    2 | 00/20DA : A9 00       |                          LDA     #<{$D000}            
  427 |  4                      init.s    171 | Code        | 11 |         |    3 | 00/20DC : 8D 00 03    |                          STA     $0300                
  428 |  4                      init.s    172 | Code        | 11 |         |    2 | 00/20DF : A9 D0       |                          LDA     #>{$D000}            
  429 |  4                      init.s    173 | Code        | 11 |         |    3 | 00/20E1 : 8D 01 03    |                          STA     $0301                
  430 |  4                      init.s    174 | Empty       | 11 |         |    0 | 00/20E4               |                                                       
  431 |  4                      init.s    175 | Code        | 11 |         |    2 | 00/20E4 : A2 01       |                          LDX     #{{ozunid_92-{$D000}}/256+1}
  432 |  4                      init.s    176 | Empty       | 11 |         |    0 | 00/20E6               |                                                       
  433 |  4                      init.s    177 | Code        | 11 |         |    3 | 00/20E6 : 8D 09 C0    | _cpA2Pg                  STA     {$C009}              
  434 |  4                      init.s    178 | Code        | 11 |         |    3 | 00/20E9 : AD 00 03    |                          LDA     $0300                
  435 |  4                      init.s    179 | Code        | 11 |         |    2 | 00/20EC : 85 06       |                          STA     $06                  
  436 |  4                      init.s    180 | Code        | 11 |         |    3 | 00/20EE : AD 01 03    |                          LDA     $0301                
  437 |  4                      init.s    181 | Code        | 11 |         |    2 | 00/20F1 : 85 07       |                          STA     $07                  
  438 |  4                      init.s    182 | Code        | 11 |         |    3 | 00/20F3 : 8D 08 C0    |                          STA     {$C008}              
  439 |  4                      init.s    183 | Empty       | 11 |         |    0 | 00/20F6               |                                                       
  440 |  4                      init.s    184 | Code        | 11 |         |    2 | 00/20F6 : A0 00       |                          LDY     #0                   
  441 |  4                      init.s    185 | Code        | 11 |         |    2 | 00/20F8 : B1 04       | _cpA2Bt                  LDA     ({$04}),Y            
  442 |  4                      init.s    186 | Code        | 11 |         |    3 | 00/20FA : 8D 02 03    |                          STA     $0302                
  443 |  4                      init.s    187 | Code        | 11 |         |    3 | 00/20FD : 8D 09 C0    |                          STA     {$C009}              
  444 |  4                      init.s    188 | Code        | 11 |         |    3 | 00/2100 : AD 02 03    |                          LDA     $0302                
  445 |  4                      init.s    189 | Code        | 11 |         |    2 | 00/2103 : 91 06       |                          STA     ($06),Y              
  446 |  4                      init.s    190 | Code        | 11 |         |    3 | 00/2105 : 8D 08 C0    |                          STA     {$C008}              
  447 |  4                      init.s    191 | Code        | 11 |         |    1 | 00/2108 : C8          |                          INY                          
  448 |  4                      init.s    192 | Code        | 11 |         |    2 | 00/2109 : D0 ED       |                          BNE     _cpA2Bt              
  449 |  4                      init.s    193 | Empty       | 11 |         |    0 | 00/210B               |                                                       
  450 |  4                      init.s    194 | Code        | 11 |         |    2 | 00/210B : E6 05       |                          INC     {$04}+1              
  451 |  4                      init.s    195 | Code        | 11 |         |    3 | 00/210D : EE 01 03    |                          INC     $0301                
  452 |  4                      init.s    196 | Code        | 11 |         |    1 | 00/2110 : CA          |                          DEX                          
  453 |  4                      init.s    197 | Code        | 11 |         |    2 | 00/2111 : D0 D3       |                          BNE     _cpA2Pg              
  454 |  4                      init.s    198 | Empty       | 11 |         |    0 | 00/2113               |                                                       
  455 |  4                      init.s    199 | Comment     | 11 |         |    0 | 00/2113               | *----------------------------------------------
  456 |  4                      init.s    200 | Comment     | 11 |         |    0 | 00/2113               | * Copy AuxCold block (font + fonttest + wrappers) to AUX LC at $D100.
  457 |  4                      init.s    201 | Comment     | 11 |         |    0 | 00/2113               | * AuxLC2 page copy overshoots (1 page = 256B, AuxLC2Len < 256), so
  458 |  4                      init.s    202 | Comment     | 11 |         |    0 | 00/2113               | * reset SrcPtr to start of AuxCold bin before this copy.
  459 |  4                      init.s    203 | Comment     | 11 |         |    0 | 00/2113               | * LC is still R/W; ALTZP routes writes to aux LC.
  460 |  4                      init.s    204 | Comment     | 11 |         |    0 | 00/2113               | *----------------------------------------------
  461 |  4                      init.s    205 | Code        | 11 |         |    1 | 00/2113 : 18          |                          CLC                          
  462 |  4                      init.s    206 | Code        | 11 |         |    2 | 00/2114 : A9 FD       |                          LDA     #<{StubEnd+{{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}}}
  463 |  4                      init.s    207 | Code        | 11 |         |    2 | 00/2116 : 85 04       |                          STA     {$04}                
  464 |  4                      init.s    208 | Code        | 11 |         |    2 | 00/2118 : A9 57       |                          LDA     #>{StubEnd+{{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}}}
  465 |  4                      init.s    209 | Code        | 11 |         |    2 | 00/211A : 85 05       |                          STA     {$04}+1              
  466 |  4                      init.s    210 | Empty       | 11 |         |    0 | 00/211C               |                                                       
  467 |  4                      init.s    211 | Code        | 11 |         |    2 | 00/211C : A9 00       |                          LDA     #<{$D100}            
  468 |  4                      init.s    212 | Code        | 11 |         |    3 | 00/211E : 8D 00 03    |                          STA     $0300                
  469 |  4                      init.s    213 | Code        | 11 |         |    2 | 00/2121 : A9 D1       |                          LDA     #>{$D100}            
  470 |  4                      init.s    214 | Code        | 11 |         |    3 | 00/2123 : 8D 01 03    |                          STA     $0301                
  471 |  4                      init.s    215 | Empty       | 11 |         |    0 | 00/2126               |                                                       
  472 |  4                      init.s    216 | Code        | 11 |         |    2 | 00/2126 : A2 0A       |                          LDX     #{{ozunid_93-{$D100}}/256+1}
  473 |  4                      init.s    217 | Empty       | 11 |         |    0 | 00/2128               |                                                       
  474 |  4                      init.s    218 | Code        | 11 |         |    3 | 00/2128 : 8D 09 C0    | _cpAcPg                  STA     {$C009}              
  475 |  4                      init.s    219 | Code        | 11 |         |    3 | 00/212B : AD 00 03    |                          LDA     $0300                
  476 |  4                      init.s    220 | Code        | 11 |         |    2 | 00/212E : 85 06       |                          STA     $06                  
  477 |  4                      init.s    221 | Code        | 11 |         |    3 | 00/2130 : AD 01 03    |                          LDA     $0301                
  478 |  4                      init.s    222 | Code        | 11 |         |    2 | 00/2133 : 85 07       |                          STA     $07                  
  479 |  4                      init.s    223 | Code        | 11 |         |    3 | 00/2135 : 8D 08 C0    |                          STA     {$C008}              
  480 |  4                      init.s    224 | Empty       | 11 |         |    0 | 00/2138               |                                                       
  481 |  4                      init.s    225 | Code        | 11 |         |    2 | 00/2138 : A0 00       |                          LDY     #0                   
  482 |  4                      init.s    226 | Code        | 11 |         |    2 | 00/213A : B1 04       | _cpAcBt                  LDA     ({$04}),Y            
  483 |  4                      init.s    227 | Code        | 11 |         |    3 | 00/213C : 8D 02 03    |                          STA     $0302                
  484 |  4                      init.s    228 | Code        | 11 |         |    3 | 00/213F : 8D 09 C0    |                          STA     {$C009}              
  485 |  4                      init.s    229 | Code        | 11 |         |    3 | 00/2142 : AD 02 03    |                          LDA     $0302                
  486 |  4                      init.s    230 | Code        | 11 |         |    2 | 00/2145 : 91 06       |                          STA     ($06),Y              
  487 |  4                      init.s    231 | Code        | 11 |         |    3 | 00/2147 : 8D 08 C0    |                          STA     {$C008}              
  488 |  4                      init.s    232 | Code        | 11 |         |    1 | 00/214A : C8          |                          INY                          
  489 |  4                      init.s    233 | Code        | 11 |         |    2 | 00/214B : D0 ED       |                          BNE     _cpAcBt              
  490 |  4                      init.s    234 | Empty       | 11 |         |    0 | 00/214D               |                                                       
  491 |  4                      init.s    235 | Code        | 11 |         |    2 | 00/214D : E6 05       |                          INC     {$04}+1              
  492 |  4                      init.s    236 | Code        | 11 |         |    3 | 00/214F : EE 01 03    |                          INC     $0301                
  493 |  4                      init.s    237 | Code        | 11 |         |    1 | 00/2152 : CA          |                          DEX                          
  494 |  4                      init.s    238 | Code        | 11 |         |    2 | 00/2153 : D0 D3       |                          BNE     _cpAcPg              
  495 |  4                      init.s    239 | Empty       | 11 |         |    0 | 00/2155               |                                                       
  496 |  4                      init.s    240 | Comment     | 11 |         |    0 | 00/2155               | *----------------------------------------------
  497 |  4                      init.s    241 | Comment     | 11 |         |    0 | 00/2155               | * Copy music player + data to AUX LC at $E660.
  498 |  4                      init.s    242 | Comment     | 11 |         |    0 | 00/2155               | * AuxCold page copy overshoots (last page partial), so reset SrcPtr
  499 |  4                      init.s    243 | Comment     | 11 |         |    0 | 00/2155               | * to AuxMusicBinSrc before this copy.
  500 |  4                      init.s    244 | Comment     | 11 |         |    0 | 00/2155               | * LC is still R/W; ALTZP routes writes to aux LC.
  501 |  4                      init.s    245 | Comment     | 11 |         |    0 | 00/2155               | *----------------------------------------------
  502 |  4                      init.s    246 | Code        | 11 |         |    2 | 00/2155 : A9 A2       |                          LDA     #<{StubEnd+{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}}
  503 |  4                      init.s    247 | Code        | 11 |         |    2 | 00/2157 : 85 04       |                          STA     {$04}                
  504 |  4                      init.s    248 | Code        | 11 |         |    2 | 00/2159 : A9 61       |                          LDA     #>{StubEnd+{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}}
  505 |  4                      init.s    249 | Code        | 11 |         |    2 | 00/215B : 85 05       |                          STA     {$04}+1              
  506 |  4                      init.s    250 | Empty       | 11 |         |    0 | 00/215D               |                                                       
  507 |  4                      init.s    251 | Code        | 11 |         |    2 | 00/215D : A9 60       |                          LDA     #<{$E660}            
  508 |  4                      init.s    252 | Code        | 11 |         |    3 | 00/215F : 8D 00 03    |                          STA     $0300                ; dest lo -> main buffer
  509 |  4                      init.s    253 | Code        | 11 |         |    2 | 00/2162 : A9 E6       |                          LDA     #>{$E660}            
  510 |  4                      init.s    254 | Code        | 11 |         |    3 | 00/2164 : 8D 01 03    |                          STA     $0301                ; dest hi -> main buffer
  511 |  4                      init.s    255 | Empty       | 11 |         |    0 | 00/2167               |                                                       
  512 |  4                      init.s    256 | Code        | 11 |         |    2 | 00/2167 : A2 04       |                          LDX     #{{ozunid_94-{$E660}}/256+1}
  513 |  4                      init.s    257 | Empty       | 11 |         |    0 | 00/2169               |                                                       
  514 |  4                      init.s    258 | Code        | 11 |         |    3 | 00/2169 : 8D 09 C0    | _cpAmPg                  STA     {$C009}              
  515 |  4                      init.s    259 | Code        | 11 |         |    3 | 00/216C : AD 00 03    |                          LDA     $0300                
  516 |  4                      init.s    260 | Code        | 11 |         |    2 | 00/216F : 85 06       |                          STA     $06                  ; DstPtr lo in aux ZP
  517 |  4                      init.s    261 | Code        | 11 |         |    3 | 00/2171 : AD 01 03    |                          LDA     $0301                
  518 |  4                      init.s    262 | Code        | 11 |         |    2 | 00/2174 : 85 07       |                          STA     $07                  ; DstPtr hi in aux ZP
  519 |  4                      init.s    263 | Code        | 11 |         |    3 | 00/2176 : 8D 08 C0    |                          STA     {$C008}              
  520 |  4                      init.s    264 | Empty       | 11 |         |    0 | 00/2179               |                                                       
  521 |  4                      init.s    265 | Code        | 11 |         |    2 | 00/2179 : A0 00       |                          LDY     #0                   
  522 |  4                      init.s    266 | Code        | 11 |         |    2 | 00/217B : B1 04       | _cpAmBt                  LDA     ({$04}),Y            ; read from main (binary)
  523 |  4                      init.s    267 | Code        | 11 |         |    3 | 00/217D : 8D 02 03    |                          STA     $0302                ; pass via main buffer
  524 |  4                      init.s    268 | Code        | 11 |         |    3 | 00/2180 : 8D 09 C0    |                          STA     {$C009}              
  525 |  4                      init.s    269 | Code        | 11 |         |    3 | 00/2183 : AD 02 03    |                          LDA     $0302                
  526 |  4                      init.s    270 | Code        | 11 |         |    2 | 00/2186 : 91 06       |                          STA     ($06),Y              ; write to aux LC
  527 |  4                      init.s    271 | Code        | 11 |         |    3 | 00/2188 : 8D 08 C0    |                          STA     {$C008}              
  528 |  4                      init.s    272 | Code        | 11 |         |    1 | 00/218B : C8          |                          INY                          
  529 |  4                      init.s    273 | Code        | 11 |         |    2 | 00/218C : D0 ED       |                          BNE     _cpAmBt              
  530 |  4                      init.s    274 | Empty       | 11 |         |    0 | 00/218E               |                                                       
  531 |  4                      init.s    275 | Code        | 11 |         |    2 | 00/218E : E6 05       |                          INC     {$04}+1              ; next source page
  532 |  4                      init.s    276 | Code        | 11 |         |    3 | 00/2190 : EE 01 03    |                          INC     $0301                ; next dest page
  533 |  4                      init.s    277 | Code        | 11 |         |    1 | 00/2193 : CA          |                          DEX                          
  534 |  4                      init.s    278 | Code        | 11 |         |    2 | 00/2194 : D0 D3       |                          BNE     _cpAmPg              
  535 |  4                      init.s    279 | Empty       | 11 |         |    0 | 00/2196               |                                                       
  536 |  4                      init.s    280 | Comment     | 11 |         |    0 | 00/2196               | *----------------------------------------------
  537 |  4                      init.s    281 | Comment     | 11 |         |    0 | 00/2196               | * Copy compressed title-screen blob to AUX LC at $D000
  538 |  4                      init.s    282 | Comment     | 11 |         |    0 | 00/2196               | * SrcPtr is reset here because the AuxMusic page copy overshoots by
  539 |  4                      init.s    283 | Comment     | 11 |         |    0 | 00/2196               | * (AuxMusicPages*256 - AuxMusicLen) bytes (its last page is partial).
  540 |  4                      init.s    284 | Comment     | 11 |         |    0 | 00/2196               | * LC is still R/W; ALTZP routes writes to aux LC.
  541 |  4                      init.s    285 | Comment     | 11 |         |    0 | 00/2196               | * Same page-based ALTZP pattern as AuxMusic / InstallFont.
  542 |  4                      init.s    286 | Comment     | 11 |         |    0 | 00/2196               | *----------------------------------------------
  543 |  4                      init.s    287 | Code        | 11 |         |    2 | 00/2196 : A9 15       |                          LDA     #<{StubEnd+{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}+{ozunid_94-{$E660}}}
  544 |  4                      init.s    288 | Code        | 11 |         |    2 | 00/2198 : 85 04       |                          STA     {$04}                
  545 |  4                      init.s    289 | Code        | 11 |         |    2 | 00/219A : A9 65       |                          LDA     #>{StubEnd+{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}+{ozunid_94-{$E660}}}
  546 |  4                      init.s    290 | Code        | 11 |         |    2 | 00/219C : 85 05       |                          STA     {$04}+1              
  547 |  4                      init.s    291 | Empty       | 11 |         |    0 | 00/219E               |                                                       
  548 |  4                      init.s    292 | Code        | 11 |         |    2 | 00/219E : A9 00       |                          LDA     #<{$EA00}            
  549 |  4                      init.s    293 | Code        | 11 |         |    3 | 00/21A0 : 8D 00 03    |                          STA     $0300                
  550 |  4                      init.s    294 | Code        | 11 |         |    2 | 00/21A3 : A9 EA       |                          LDA     #>{$EA00}            
  551 |  4                      init.s    295 | Code        | 11 |         |    3 | 00/21A5 : 8D 01 03    |                          STA     $0301                
  552 |  4                      init.s    296 | Empty       | 11 |         |    0 | 00/21A8               |                                                       
  553 |  4                      init.s    297 | Code        | 11 |         |    2 | 00/21A8 : A2 10       |                          LDX     #{{ozunid_95-{$EA00}}/256+1}
  554 |  4                      init.s    298 | Empty       | 11 |         |    0 | 00/21AA               |                                                       
  555 |  4                      init.s    299 | Code        | 11 |         |    3 | 00/21AA : 8D 09 C0    | _cpLgPg                  STA     {$C009}              
  556 |  4                      init.s    300 | Code        | 11 |         |    3 | 00/21AD : AD 00 03    |                          LDA     $0300                
  557 |  4                      init.s    301 | Code        | 11 |         |    2 | 00/21B0 : 85 06       |                          STA     $06                  ; DstPtr lo in aux ZP
  558 |  4                      init.s    302 | Code        | 11 |         |    3 | 00/21B2 : AD 01 03    |                          LDA     $0301                
  559 |  4                      init.s    303 | Code        | 11 |         |    2 | 00/21B5 : 85 07       |                          STA     $07                  ; DstPtr hi in aux ZP
  560 |  4                      init.s    304 | Code        | 11 |         |    3 | 00/21B7 : 8D 08 C0    |                          STA     {$C008}              
  561 |  4                      init.s    305 | Empty       | 11 |         |    0 | 00/21BA               |                                                       
  562 |  4                      init.s    306 | Code        | 11 |         |    2 | 00/21BA : A0 00       |                          LDY     #0                   
  563 |  4                      init.s    307 | Code        | 11 |         |    2 | 00/21BC : B1 04       | _cpLgBt                  LDA     ({$04}),Y            ; read from main (binary)
  564 |  4                      init.s    308 | Code        | 11 |         |    3 | 00/21BE : 8D 02 03    |                          STA     $0302                ; pass via main buffer
  565 |  4                      init.s    309 | Code        | 11 |         |    3 | 00/21C1 : 8D 09 C0    |                          STA     {$C009}              
  566 |  4                      init.s    310 | Code        | 11 |         |    3 | 00/21C4 : AD 02 03    |                          LDA     $0302                
  567 |  4                      init.s    311 | Code        | 11 |         |    2 | 00/21C7 : 91 06       |                          STA     ($06),Y              ; write to aux LC
  568 |  4                      init.s    312 | Code        | 11 |         |    3 | 00/21C9 : 8D 08 C0    |                          STA     {$C008}              
  569 |  4                      init.s    313 | Code        | 11 |         |    1 | 00/21CC : C8          |                          INY                          
  570 |  4                      init.s    314 | Code        | 11 |         |    2 | 00/21CD : D0 ED       |                          BNE     _cpLgBt              
  571 |  4                      init.s    315 | Empty       | 11 |         |    0 | 00/21CF               |                                                       
  572 |  4                      init.s    316 | Code        | 11 |         |    2 | 00/21CF : E6 05       |                          INC     {$04}+1              ; next source page
  573 |  4                      init.s    317 | Code        | 11 |         |    3 | 00/21D1 : EE 01 03    |                          INC     $0301                ; next dest page
  574 |  4                      init.s    318 | Code        | 11 |         |    1 | 00/21D4 : CA          |                          DEX                          
  575 |  4                      init.s    319 | Code        | 11 |         |    2 | 00/21D5 : D0 D3       |                          BNE     _cpLgPg              
  576 |  4                      init.s    320 | Empty       | 11 |         |    0 | 00/21D7               |                                                       
  577 |  4                      init.s    321 | Code        | 11 |         |    3 | 00/21D7 : AD 80 C0    |                          LDA     $C080                
  578 |  4                      init.s    322 | Code        | 11 |         |    3 | 00/21DA : AD 80 C0    |                          LDA     $C080                ; LC bank 2 read-only (write-protect)
  579 |  4                      init.s    323 | Empty       | 11 |         |    0 | 00/21DD               |                                                       
  580 |  4                      init.s    324 | Comment     | 11 |         |    0 | 00/21DD               | *----------------------------------------------
  581 |  4                      init.s    325 | Comment     | 11 |         |    0 | 00/21DD               | * Relocate game code from $2000+ to $6000+
  582 |  4                      init.s    326 | Comment     | 11 |         |    0 | 00/21DD               | *
  583 |  4                      init.s    327 | Comment     | 11 |         |    0 | 00/21DD               | * Source/dest overlap because GameDest ($6000) is below the game
  584 |  4                      init.s    328 | Comment     | 11 |         |    0 | 00/21DD               | * code's position in the loaded binary. Copy direction depends on
  585 |  4                      init.s    329 | Comment     | 11 |         |    0 | 00/21DD               | * whether the source is above or below the dest:
  586 |  4                      init.s    330 | Comment     | 11 |         |    0 | 00/21DD               | *   source_start > dest_start -> forward copy (low->high)
  587 |  4                      init.s    331 | Comment     | 11 |         |    0 | 00/21DD               | *   source_start < dest_start -> backward copy (high->low)
  588 |  4                      init.s    332 | Comment     | 11 |         |    0 | 00/21DD               | * When the binary is small enough that source_start < $6000, the
  589 |  4                      init.s    333 | Comment     | 11 |         |    0 | 00/21DD               | * original backward copy applies. As code grows and source_start
  590 |  4                      init.s    334 | Comment     | 11 |         |    0 | 00/21DD               | * rises above $6000, we must switch to forward copy or the latter
  591 |  4                      init.s    335 | Comment     | 11 |         |    0 | 00/21DD               | * iterations read from destination bytes that have already been
  592 |  4                      init.s    336 | Comment     | 11 |         |    0 | 00/21DD               | * overwritten (source - dest = constant, so after that many iters
  593 |  4                      init.s    337 | Comment     | 11 |         |    0 | 00/21DD               | * the source cursor reaches the first-written dest byte).
  594 |  4                      init.s    338 | Comment     | 11 |         |    0 | 00/21DD               | *----------------------------------------------
  595 |  4                      init.s    339 | Empty       | 11 |         |    0 | 00/21DD               |                                                       
  596 |  4                      init.s    340 | Comment     | 11 |         |    0 | 00/21DD               | * Compute source_start = StubEnd + CodeSkip - GameCodeLen
  597 |  4                      init.s    341 | Code        | 11 |         |    1 | 00/21DD : 38          |                          SEC                          
  598 |  4                      init.s    342 | Code        | 11 |         |    2 | 00/21DE : A9 03       |                          LDA     #<{StubEnd+{{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}+{ozunid_94-{$E660}}+{ozunid_95-{$EA00}}}}
  599 |  4                      init.s    343 | Code        | 11 |         |    2 | 00/21E0 : 85 08       |                          STA     {$08}                
  600 |  4                      init.s    344 | Code        | 11 |         |    2 | 00/21E2 : A9 75       |                          LDA     #>{StubEnd+{{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}+{ozunid_94-{$E660}}+{ozunid_95-{$EA00}}}}
  601 |  4                      init.s    345 | Code        | 11 |         |    2 | 00/21E4 : 85 09       |                          STA     {$08}+1              
  602 |  4                      init.s    346 | Empty       | 11 |         |    0 | 00/21E6               |                                                       
  603 |  4                      init.s    347 | Comment     | 11 |         |    0 | 00/21E6               | * Compare source_start (high byte) to GameDest high byte
  604 |  4                      init.s    348 | Code        | 11 |         |    2 | 00/21E6 : A5 09       |                          LDA     {$08}+1              
  605 |  4                      init.s    349 | Code        | 11 |         |    2 | 00/21E8 : C9 60       |                          CMP     #>{$6000}            
  606 |  4                      init.s    350 | Code        | 11 |         |    2 | 00/21EA : 90 3A       |                          BCC     _useBackward         
  607 |  4                      init.s    351 | Code        | 11 |         |    2 | 00/21EC : D0 06       |                          BNE     _useForward          
  608 |  4                      init.s    352 | Code        | 11 |         |    2 | 00/21EE : A5 08       |                          LDA     {$08}                
  609 |  4                      init.s    353 | Code        | 11 |         |    2 | 00/21F0 : C9 00       |                          CMP     #<{$6000}            
  610 |  4                      init.s    354 | Code        | 11 |         |    2 | 00/21F2 : 90 32       |                          BCC     _useBackward         
  611 |  4                      init.s    355 | Empty       | 11 |         |    0 | 00/21F4               |                                                       
  612 |  4                      init.s    356 | Empty       | 11 |         |    0 | 00/21F4               | _useForward                                           
  613 |  4                      init.s    357 | Comment     | 11 |         |    0 | 00/21F4               | * Forward copy: source_start > dest_start. RelocSrc already points
  614 |  4                      init.s    358 | Comment     | 11 |         |    0 | 00/21F4               | * at source_start. Set RelocDst = GameDest.
  615 |  4                      init.s    359 | Code        | 11 |         |    2 | 00/21F4 : A9 00       |                          LDA     #<{$6000}            
  616 |  4                      init.s    360 | Code        | 11 |         |    2 | 00/21F6 : 85 0A       |                          STA     {$0A}                
  617 |  4                      init.s    361 | Code        | 11 |         |    2 | 00/21F8 : A9 60       |                          LDA     #>{$6000}            
  618 |  4                      init.s    362 | Code        | 11 |         |    2 | 00/21FA : 85 0B       |                          STA     {$0A}+1              
  619 |  4                      init.s    363 | Empty       | 11 |         |    0 | 00/21FC               |                                                       
  620 |  4                      init.s    364 | Code        | 11 |         |    2 | 00/21FC : A9 36       |                          LDA     #<{GameCodeEnd-{$6000}}
  621 |  4                      init.s    365 | Code        | 11 |         |    2 | 00/21FE : 85 0C       |                          STA     {$0C}                
  622 |  4                      init.s    366 | Code        | 11 |         |    2 | 00/2200 : A9 3C       |                          LDA     #>{GameCodeEnd-{$6000}}
  623 |  4                      init.s    367 | Code        | 11 |         |    2 | 00/2202 : 85 0D       |                          STA     {$0C}+1              
  624 |  4                      init.s    368 | Empty       | 11 |         |    0 | 00/2204               |                                                       
  625 |  4                      init.s    369 | Code        | 11 |         |    2 | 00/2204 : A0 00       | _fwdLoop                 LDY     #0                   
  626 |  4                      init.s    370 | Code        | 11 |         |    2 | 00/2206 : B1 08       |                          LDA     ({$08}),Y            
  627 |  4                      init.s    371 | Code        | 11 |         |    2 | 00/2208 : 91 0A       |                          STA     ({$0A}),Y            
  628 |  4                      init.s    372 | Empty       | 11 |         |    0 | 00/220A               |                                                       
  629 |  4                      init.s    373 | Code        | 11 |         |    2 | 00/220A : E6 08       |                          INC     {$08}                
  630 |  4                      init.s    374 | Code        | 11 |         |    2 | 00/220C : D0 02       |                          BNE     _fwdS                
  631 |  4                      init.s    375 | Code        | 11 |         |    2 | 00/220E : E6 09       |                          INC     {$08}+1              
  632 |  4                      init.s    376 | Code        | 11 |         |    2 | 00/2210 : E6 0A       | _fwdS                    INC     {$0A}                
  633 |  4                      init.s    377 | Code        | 11 |         |    2 | 00/2212 : D0 02       |                          BNE     _fwdD                
  634 |  4                      init.s    378 | Code        | 11 |         |    2 | 00/2214 : E6 0B       |                          INC     {$0A}+1              
  635 |  4                      init.s    379 | Code        | 11 |         |    2 | 00/2216 : A5 0C       | _fwdD                    LDA     {$0C}                
  636 |  4                      init.s    380 | Code        | 11 |         |    2 | 00/2218 : D0 02       |                          BNE     _fwdC                
  637 |  4                      init.s    381 | Code        | 11 |         |    2 | 00/221A : C6 0D       |                          DEC     {$0C}+1              
  638 |  4                      init.s    382 | Code        | 11 |         |    2 | 00/221C : C6 0C       | _fwdC                    DEC     {$0C}                
  639 |  4                      init.s    383 | Empty       | 11 |         |    0 | 00/221E               |                                                       
  640 |  4                      init.s    384 | Code        | 11 |         |    2 | 00/221E : A5 0C       |                          LDA     {$0C}                
  641 |  4                      init.s    385 | Code        | 11 |         |    2 | 00/2220 : 05 0D       |                          ORA     {$0C}+1              
  642 |  4                      init.s    386 | Code        | 11 |         |    2 | 00/2222 : D0 E0       |                          BNE     _fwdLoop             
  643 |  4                      init.s    387 | Code        | 11 |         |    2 | 00/2224 : 80 46       |                          BRA     _relDone             
  644 |  4                      init.s    388 | Empty       | 11 |         |    0 | 00/2226               |                                                       
  645 |  4                      init.s    389 | Empty       | 11 |         |    0 | 00/2226               | _useBackward                                          
  646 |  4                      init.s    390 | Comment     | 11 |         |    0 | 00/2226               | * Backward copy (original path): source_start < dest_start. Reset
  647 |  4                      init.s    391 | Comment     | 11 |         |    0 | 00/2226               | * RelocSrc to one-past-last source byte so the DEC-first loop is
  648 |  4                      init.s    392 | Comment     | 11 |         |    0 | 00/2226               | * correct.
  649 |  4                      init.s    393 | Code        | 11 |         |    1 | 00/2226 : 18          |                          CLC                          
  650 |  4                      init.s    394 | Code        | 11 |         |    2 | 00/2227 : A9 7A       |                          LDA     #<StubEnd            
  651 |  4                      init.s    395 | Code        | 11 |         |    2 | 00/2229 : 69 BF       |                          ADC     #<{{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}+{ozunid_94-{$E660}}+{ozunid_95-{$EA00}}+{GameCodeEnd-{$6000}}}
  652 |  4                      init.s    396 | Code        | 11 |         |    2 | 00/222B : 85 08       |                          STA     {$08}                
  653 |  4                      init.s    397 | Code        | 11 |         |    2 | 00/222D : A9 3C       |                          LDA     #>StubEnd            
  654 |  4                      init.s    398 | Code        | 11 |         |    2 | 00/222F : 69 74       |                          ADC     #>{{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}+{ozunid_94-{$E660}}+{ozunid_95-{$EA00}}+{GameCodeEnd-{$6000}}}
  655 |  4                      init.s    399 | Code        | 11 |         |    2 | 00/2231 : 85 09       |                          STA     {$08}+1              
  656 |  4                      init.s    400 | Empty       | 11 |         |    0 | 00/2233               |                                                       
  657 |  4                      init.s    401 | Code        | 11 |         |    1 | 00/2233 : 18          |                          CLC                          
  658 |  4                      init.s    402 | Code        | 11 |         |    2 | 00/2234 : A9 00       |                          LDA     #<{$6000}            
  659 |  4                      init.s    403 | Code        | 11 |         |    2 | 00/2236 : 69 36       |                          ADC     #<{GameCodeEnd-{$6000}}
  660 |  4                      init.s    404 | Code        | 11 |         |    2 | 00/2238 : 85 0A       |                          STA     {$0A}                
  661 |  4                      init.s    405 | Code        | 11 |         |    2 | 00/223A : A9 60       |                          LDA     #>{$6000}            
  662 |  4                      init.s    406 | Code        | 11 |         |    2 | 00/223C : 69 3C       |                          ADC     #>{GameCodeEnd-{$6000}}
  663 |  4                      init.s    407 | Code        | 11 |         |    2 | 00/223E : 85 0B       |                          STA     {$0A}+1              
  664 |  4                      init.s    408 | Empty       | 11 |         |    0 | 00/2240               |                                                       
  665 |  4                      init.s    409 | Code        | 11 |         |    2 | 00/2240 : A9 36       |                          LDA     #<{GameCodeEnd-{$6000}}
  666 |  4                      init.s    410 | Code        | 11 |         |    2 | 00/2242 : 85 0C       |                          STA     {$0C}                
  667 |  4                      init.s    411 | Code        | 11 |         |    2 | 00/2244 : A9 3C       |                          LDA     #>{GameCodeEnd-{$6000}}
  668 |  4                      init.s    412 | Code        | 11 |         |    2 | 00/2246 : 85 0D       |                          STA     {$0C}+1              
  669 |  4                      init.s    413 | Empty       | 11 |         |    0 | 00/2248               |                                                       
  670 |  4                      init.s    414 | Empty       | 11 |         |    0 | 00/2248               | ozunid_1                                              
  671 |  4                      init.s    415 | Comment     | 11 |         |    0 | 00/2248               | * Decrement source pointer
  672 |  4                      init.s    416 | Code        | 11 |         |    2 | 00/2248 : A5 08       |                          LDA     {$08}                
  673 |  4                      init.s    417 | Code        | 11 |         |    2 | 00/224A : D0 02       |                          BNE     _ns                  
  674 |  4                      init.s    418 | Code        | 11 |         |    2 | 00/224C : C6 09       |                          DEC     {$08}+1              
  675 |  4                      init.s    419 | Code        | 11 |         |    2 | 00/224E : C6 08       | _ns                      DEC     {$08}                
  676 |  4                      init.s    420 | Empty       | 11 |         |    0 | 00/2250               |                                                       
  677 |  4                      init.s    421 | Comment     | 11 |         |    0 | 00/2250               | * Decrement dest pointer
  678 |  4                      init.s    422 | Code        | 11 |         |    2 | 00/2250 : A5 0A       |                          LDA     {$0A}                
  679 |  4                      init.s    423 | Code        | 11 |         |    2 | 00/2252 : D0 02       |                          BNE     _nd                  
  680 |  4                      init.s    424 | Code        | 11 |         |    2 | 00/2254 : C6 0B       |                          DEC     {$0A}+1              
  681 |  4                      init.s    425 | Code        | 11 |         |    2 | 00/2256 : C6 0A       | _nd                      DEC     {$0A}                
  682 |  4                      init.s    426 | Empty       | 11 |         |    0 | 00/2258               |                                                       
  683 |  4                      init.s    427 | Comment     | 11 |         |    0 | 00/2258               | * Copy one byte
  684 |  4                      init.s    428 | Code        | 11 |         |    2 | 00/2258 : A0 00       |                          LDY     #0                   
  685 |  4                      init.s    429 | Code        | 11 |         |    2 | 00/225A : B1 08       |                          LDA     ({$08}),Y            
  686 |  4                      init.s    430 | Code        | 11 |         |    2 | 00/225C : 91 0A       |                          STA     ({$0A}),Y            
  687 |  4                      init.s    431 | Empty       | 11 |         |    0 | 00/225E               |                                                       
  688 |  4                      init.s    432 | Comment     | 11 |         |    0 | 00/225E               | * Decrement count
  689 |  4                      init.s    433 | Code        | 11 |         |    2 | 00/225E : A5 0C       |                          LDA     {$0C}                
  690 |  4                      init.s    434 | Code        | 11 |         |    2 | 00/2260 : D0 02       |                          BNE     _nc                  
  691 |  4                      init.s    435 | Code        | 11 |         |    2 | 00/2262 : C6 0D       |                          DEC     {$0C}+1              
  692 |  4                      init.s    436 | Code        | 11 |         |    2 | 00/2264 : C6 0C       | _nc                      DEC     {$0C}                
  693 |  4                      init.s    437 | Empty       | 11 |         |    0 | 00/2266               |                                                       
  694 |  4                      init.s    438 | Comment     | 11 |         |    0 | 00/2266               | * Done when count = 0
  695 |  4                      init.s    439 | Code        | 11 |         |    2 | 00/2266 : A5 0C       |                          LDA     {$0C}                
  696 |  4                      init.s    440 | Code        | 11 |         |    2 | 00/2268 : 05 0D       |                          ORA     {$0C}+1              
  697 |  4                      init.s    441 | Code        | 11 |         |    2 | 00/226A : D0 DC       |                          BNE     ozunid_1             
  698 |  4                      init.s    442 | Empty       | 11 |         |    0 | 00/226C               | _relDone                                              
  699 |  4                      init.s    443 | Empty       | 11 |         |    0 | 00/226C               |                                                       
  700 |  4                      init.s    444 | Comment     | 11 |         |    0 | 00/226C               | *----------------------------------------------
  701 |  4                      init.s    445 | Comment     | 11 |         |    0 | 00/226C               | * Decompress TileMap / CollMap blob into the runtime map buffer.
  702 |  4                      init.s    446 | Comment     | 11 |         |    0 | 00/226C               | * Source: MapDataCmp (in stub, already in main RAM at load time).
  703 |  4                      init.s    447 | Comment     | 11 |         |    0 | 00/226C               | * Dest: TileMap1 ($B000) - above GameCodeEnd, below ProDOS ($BF00).
  704 |  4                      init.s    448 | Comment     | 11 |         |    0 | 00/226C               | * Fills TileMap1..CollMap3 (3840 bytes, contiguous, ends at $BEFF).
  705 |  4                      init.s    449 | Comment     | 11 |         |    0 | 00/226C               | *----------------------------------------------
  706 |  4                      init.s    450 | Code        | 11 |         |    2 | 00/226C : A0 02       |                          LDY     #2                   
  707 |  4                      init.s    451 | Code        | 11 |         |    3 | 00/226E : 20 B2 22    |                          JSR     PrintStatus          
  708 |  4                      init.s    452 | Code        | 11 |         |    2 | 00/2271 : A9 96       |                          LDA     #<MapDataCmp         
  709 |  4                      init.s    453 | Code        | 11 |         |    2 | 00/2273 : 85 FC       |                          STA     $FC                  
  710 |  4                      init.s    454 | Code        | 11 |         |    2 | 00/2275 : A9 2C       |                          LDA     #>MapDataCmp         
  711 |  4                      init.s    455 | Code        | 11 |         |    2 | 00/2277 : 85 FD       |                          STA     $FD                  
  712 |  4                      init.s    456 | Code        | 11 |         |    2 | 00/2279 : A9 00       |                          LDA     #<TileMap1           
  713 |  4                      init.s    457 | Code        | 11 |         |    2 | 00/227B : 85 FE       |                          STA     $FE                  
  714 |  4                      init.s    458 | Code        | 11 |         |    2 | 00/227D : A9 B0       |                          LDA     #>TileMap1           
  715 |  4                      init.s    459 | Code        | 11 |         |    2 | 00/227F : 85 FF       |                          STA     $FF                  
  716 |  4                      init.s    460 | Code        | 11 |         |    3 | 00/2281 : 20 00 08    |                          JSR     LZSA2Decomp          
  717 |  4                      init.s    461 | Empty       | 11 |         |    0 | 00/2284               |                                                       
  718 |  4                      init.s    462 | Comment     | 11 |         |    0 | 00/2284               | *----------------------------------------------
  719 |  4                      init.s    463 | Comment     | 11 |         |    0 | 00/2284               | * Decompress TileAtlas into the DUM-reserved slot above GameCodeEnd.
  720 |  4                      init.s    464 | Comment     | 11 |         |    0 | 00/2284               | * Source: TileAtlasCmp (in stub, untouched by game-block relocation above).
  721 |  4                      init.s    465 | Comment     | 11 |         |    0 | 00/2284               | * Dest: TileAtlas (GameCodeEnd .. GameCodeEnd+5063, below TileMap1 at $B000).
  722 |  4                      init.s    466 | Comment     | 11 |         |    0 | 00/2284               | *----------------------------------------------
  723 |  4                      init.s    467 | Code        | 11 |         |    2 | 00/2284 : A0 03       |                          LDY     #3                   
  724 |  4                      init.s    468 | Code        | 11 |         |    3 | 00/2286 : 20 B2 22    |                          JSR     PrintStatus          
  725 |  4                      init.s    469 | Code        | 11 |         |    2 | 00/2289 : A9 0C       |                          LDA     #<TileAtlasCmp       
  726 |  4                      init.s    470 | Code        | 11 |         |    2 | 00/228B : 85 FC       |                          STA     $FC                  
  727 |  4                      init.s    471 | Code        | 11 |         |    2 | 00/228D : A9 32       |                          LDA     #>TileAtlasCmp       
  728 |  4                      init.s    472 | Code        | 11 |         |    2 | 00/228F : 85 FD       |                          STA     $FD                  
  729 |  4                      init.s    473 | Code        | 11 |         |    2 | 00/2291 : A9 36       |                          LDA     #<TileAtlas          
  730 |  4                      init.s    474 | Code        | 11 |         |    2 | 00/2293 : 85 FE       |                          STA     $FE                  
  731 |  4                      init.s    475 | Code        | 11 |         |    2 | 00/2295 : A9 9C       |                          LDA     #>TileAtlas          
  732 |  4                      init.s    476 | Code        | 11 |         |    2 | 00/2297 : 85 FF       |                          STA     $FF                  
  733 |  4                      init.s    477 | Code        | 11 |         |    3 | 00/2299 : 20 00 08    |                          JSR     LZSA2Decomp          
  734 |  4                      init.s    478 | Empty       | 11 |         |    0 | 00/229C               |                                                       
  735 |  4                      init.s    479 | Comment     | 11 |         |    0 | 00/229C               | *----------------------------------------------
  736 |  4                      init.s    480 | Comment     | 11 |         |    0 | 00/229C               | * IIgs detect: if running on an Apple IIgs, drop to 1MHz so the
  737 |  4                      init.s    481 | Comment     | 11 |         |    0 | 00/229C               | * game runs at the timing it was designed for. This is the last
  738 |  4                      init.s    482 | Comment     | 11 |         |    0 | 00/229C               | * thing the boot stub does; the code is discarded when DHGRInit
  739 |  4                      init.s    483 | Comment     | 11 |         |    0 | 00/229C               | * reclaims $2000-$5FFF for HGR pages.
  740 |  4                      init.s    484 | Comment     | 11 |         |    0 | 00/229C               | * IDROUTINE ($FE1F): carry clear on return => Apple IIgs.
  741 |  4                      init.s    485 | Comment     | 11 |         |    0 | 00/229C               | * CYAREG ($C036) bit 7: 1 = fast (2.8MHz), 0 = 1MHz.
  742 |  4                      init.s    486 | Comment     | 11 |         |    0 | 00/229C               | * The LC is currently set to read bank 2 (see $C080 above), so
  743 |  4                      init.s    487 | Comment     | 11 |         |    0 | 00/229C               | * switch ROM back in for the JSR, then restore LC read so
  744 |  4                      init.s    488 | Comment     | 11 |         |    0 | 00/229C               | * GameInit sees the same state it saw before this block existed.
  745 |  4                      init.s    489 | Comment     | 11 |         |    0 | 00/229C               | *----------------------------------------------
  746 |  4                      init.s    490 | Code        | 11 |         |    3 | 00/229C : AD 82 C0    |                          LDA     $C082                ; ROM read
  747 |  4                      init.s    491 | Code        | 11 |         |    3 | 00/229F : 20 1F FE    |                          JSR     $FE1F                
  748 |  4                      init.s    492 | Code        | 11 |         |    2 | 00/22A2 : B0 08       |                          BCS     _notGS               
  749 |  4                      init.s    493 | Code        | 11 |         |    3 | 00/22A4 : AD 36 C0    |                          LDA     $C036                
  750 |  4                      init.s    494 | Code        | 11 |         |    2 | 00/22A7 : 29 7F       |                          AND     #$7F                 
  751 |  4                      init.s    495 | Code        | 11 |         |    3 | 00/22A9 : 8D 36 C0    |                          STA     $C036                
  752 |  4                      init.s    496 | Empty       | 11 |         |    0 | 00/22AC               | _notGS                                                
  753 |  4                      init.s    497 | Code        | 11 |         |    3 | 00/22AC : AD 80 C0    |                          LDA     $C080                ; LC bank 2 read-only (restore)
  754 |  4                      init.s    498 | Code        | 11 |         |    3 | 00/22AF : 4C 00 60    |                          JMP     GameInit             
  755 |  4                      init.s    499 | Empty       | 11 |         |    0 | 00/22B2               |                                                       
  756 |  4                      init.s    500 | Comment     | 11 |         |    0 | 00/22B2               | *----------------------------------------------
  757 |  4                      init.s    501 | Comment     | 11 |         |    0 | 00/22B2               | * PrintStatus - boot-stub progress indicator
  758 |  4                      init.s    502 | Comment     | 11 |         |    0 | 00/22B2               | * Y = message index 0..3; writes 20 bytes to TEXT page 1 at the
  759 |  4                      init.s    503 | Comment     | 11 |         |    0 | 00/22B2               | * pre-assigned row for that index. Does not touch soft switches;
  760 |  4                      init.s    504 | Comment     | 11 |         |    0 | 00/22B2               | * caller must ensure TEXT mode is active (it is from reset through
  761 |  4                      init.s    505 | Comment     | 11 |         |    0 | 00/22B2               | * to DHGRInit). Lives inside the boot stub ($2000-$3400), so safe
  762 |  4                      init.s    506 | Comment     | 11 |         |    0 | 00/22B2               | * to call from init.s and from GameInit up to (but not past) DHGRInit.
  763 |  4                      init.s    507 | Comment     | 11 |         |    0 | 00/22B2               | * Clobbers A, X, Y. Uses SrcPtr/DstPtr ZP (idle during bootstrap).
  764 |  4                      init.s    508 | Comment     | 11 |         |    0 | 00/22B2               | *----------------------------------------------
  765 |  4                      init.s    509 | Empty       | 11 |         |    0 | 00/22B2               | PrintStatus                                           
  766 |  4                      init.s    510 | Code        | 11 |         |    3 | 00/22B2 : B9 D0 22    |                          LDA     StatusRowLo,Y        
  767 |  4                      init.s    511 | Code        | 11 |         |    2 | 00/22B5 : 85 06       |                          STA     {$06}                
  768 |  4                      init.s    512 | Code        | 11 |         |    3 | 00/22B7 : B9 D5 22    |                          LDA     StatusRowHi,Y        
  769 |  4                      init.s    513 | Code        | 11 |         |    2 | 00/22BA : 85 07       |                          STA     {$06}+1              
  770 |  4                      init.s    514 | Code        | 11 |         |    3 | 00/22BC : B9 DA 22    |                          LDA     StatusStrLo,Y        
  771 |  4                      init.s    515 | Code        | 11 |         |    2 | 00/22BF : 85 04       |                          STA     {$04}                
  772 |  4                      init.s    516 | Code        | 11 |         |    3 | 00/22C1 : B9 DF 22    |                          LDA     StatusStrHi,Y        
  773 |  4                      init.s    517 | Code        | 11 |         |    2 | 00/22C4 : 85 05       |                          STA     {$04}+1              
  774 |  4                      init.s    518 | Code        | 11 |         |    2 | 00/22C6 : A0 13       |                          LDY     #19                  
  775 |  4                      init.s    519 | Code        | 11 |         |    2 | 00/22C8 : B1 04       | ozunid_2                 LDA     ({$04}),Y            
  776 |  4                      init.s    520 | Code        | 11 |         |    2 | 00/22CA : 91 06       |                          STA     ({$06}),Y            
  777 |  4                      init.s    521 | Code        | 11 |         |    1 | 00/22CC : 88          |                          DEY                          
  778 |  4                      init.s    522 | Code        | 11 |         |    2 | 00/22CD : 10 F9       |                          BPL     ozunid_2             
  779 |  4                      init.s    523 | Code        | 11 |         |    1 | 00/22CF : 60          |                          RTS                          
  780 |  4                      init.s    524 | Empty       | 11 |         |    0 | 00/22D0               |                                                       
  781 |  4                      init.s    525 | Data        | 11 |         |    5 | 00/22D0 : 00 80 00 80 | StatusRowLo              DFB     <$0500,<$0580,<$0600,<$0680,<$0700
      |                                       |             |    |         |      |           00          |
  782 |  4                      init.s    526 | Data        | 11 |         |    5 | 00/22D5 : 05 05 06 06 | StatusRowHi              DFB     >$0500,>$0580,>$0600,>$0680,>$0700
      |                                       |             |    |         |      |           07          |
  783 |  4                      init.s    527 | Empty       | 11 |         |    0 | 00/22DA               |                                                       
  784 |  4                      init.s    528 | Data        | 11 |         |    5 | 00/22DA : E4 F8 0C 20 | StatusStrLo              DFB     <StatusStr0,<StatusStr1,<StatusStr2,<StatusStr3,<StatusStr4
      |                                       |             |    |         |      |           34          |
  785 |  4                      init.s    529 | Data        | 11 |         |    5 | 00/22DF : 22 22 23 23 | StatusStrHi              DFB     >StatusStr0,>StatusStr1,>StatusStr2,>StatusStr3,>StatusStr4
      |                                       |             |    |         |      |           23          |
  786 |  4                      init.s    530 | Empty       | 11 |         |    0 | 00/22E4               |                                                       
  787 |  4                      init.s    531 | Comment     | 11 |         |    0 | 00/22E4               | * 20 chars each, space-padded. ASC "..." sets high bit = normal video
  788 |  4                      init.s    532 | Comment     | 11 |         |    0 | 00/22E4               | * (matches BuildInfo stamp convention at asm/bagman.s:21).
  789 |  4                      init.s    533 | Data        | 11 |         |   20 | 00/22E4 : D3 D0 D2 C9 | StatusStr0               ASC     "SPRITE DECOMPRESS   "
      |                                       |             |    |         |      |           D4 C5 A0 C4 |
      |                                       |             |    |         |      |           C5 C3 CF CD |
      |                                       |             |    |         |      |           D0 D2 C5 D3 |
      |                                       |             |    |         |      |           D3 A0 A0 A0 |
  790 |  4                      init.s    534 | Data        | 11 |         |   20 | 00/22F8 : D3 D0 D2 C9 | StatusStr1               ASC     "SPRITE PRESHIFT     "
      |                                       |             |    |         |      |           D4 C5 A0 D0 |
      |                                       |             |    |         |      |           D2 C5 D3 C8 |
      |                                       |             |    |         |      |           C9 C6 D4 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
  791 |  4                      init.s    535 | Data        | 11 |         |   20 | 00/230C : CD C1 D0 A0 | StatusStr2               ASC     "MAP DECOMPRESS      "
      |                                       |             |    |         |      |           C4 C5 C3 CF |
      |                                       |             |    |         |      |           CD D0 D2 C5 |
      |                                       |             |    |         |      |           D3 D3 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
  792 |  4                      init.s    536 | Data        | 11 |         |   20 | 00/2320 : D4 C9 CC C5 | StatusStr3               ASC     "TILE DECOMPRESS     "
      |                                       |             |    |         |      |           A0 C4 C5 C3 |
      |                                       |             |    |         |      |           CF CD D0 D2 |
      |                                       |             |    |         |      |           C5 D3 D3 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
  793 |  4                      init.s    537 | Data        | 11 |         |   20 | 00/2334 : C9 CE D3 D4 | StatusStr4               ASC     "INSTALL FONT        "
      |                                       |             |    |         |      |           C1 CC CC A0 |
      |                                       |             |    |         |      |           C6 CF CE D4 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
  794 |  4                      init.s    538 | Empty       | 11 |         |    0 | 00/2348               |                                                       
  795 |  1                    bagman.s     15 | Directive   | 11 |         |    0 | 00/2348               |                          PUT     fontdata.s           
  796 |  5                  fontdata.s      1 | Comment     | 11 |         |    0 | 00/2348               | *
  797 |  5                  fontdata.s      2 | Comment     | 11 |         |    0 | 00/2348               | * Font data: 64 glyphs, 16x8 pixels, 1bpp
  798 |  5                  fontdata.s      3 | Comment     | 11 |         |    0 | 00/2348               | * ASCII 0x20-0x5F (space through underscore)
  799 |  5                  fontdata.s      4 | Comment     | 11 |         |    0 | 00/2348               | * Each glyph: 8 rows x 2 bytes (low byte = pixels 0-7, high byte = pixels 8-15)
  800 |  5                  fontdata.s      5 | Comment     | 11 |         |    0 | 00/2348               | * Pixel bit order: bit 0 = leftmost pixel
  801 |  5                  fontdata.s      6 | Comment     | 11 |         |    0 | 00/2348               | *
  802 |  5                  fontdata.s      7 | Empty       | 11 |         |    0 | 00/2348               |                                                       
  803 |  5                  fontdata.s      8 | Equivalence | 11 |         |    0 | 00/2348               | FontGlyphCount           =       64                   
  804 |  5                  fontdata.s      9 | Equivalence | 11 |         |    0 | 00/2348               | FontGlyphSize            =       16                   
  805 |  5                  fontdata.s     10 | Empty       | 11 |         |    0 | 00/2348               |                                                       
  806 |  5                  fontdata.s     11 | Empty       | 11 |         |    0 | 00/2348               | FontData                                              
  807 |  5                  fontdata.s     12 | Comment     | 11 |         |    0 | 00/2348               | * glyph 0: ' ' ($20)
  808 |  5                  fontdata.s     13 | Data        | 11 |         |    2 | 00/2348 : 00 00       |                          HEX     0000                 
  809 |  5                  fontdata.s     14 | Data        | 11 |         |    2 | 00/234A : 00 00       |                          HEX     0000                 
  810 |  5                  fontdata.s     15 | Data        | 11 |         |    2 | 00/234C : 00 00       |                          HEX     0000                 
  811 |  5                  fontdata.s     16 | Data        | 11 |         |    2 | 00/234E : 00 00       |                          HEX     0000                 
  812 |  5                  fontdata.s     17 | Data        | 11 |         |    2 | 00/2350 : 00 00       |                          HEX     0000                 
  813 |  5                  fontdata.s     18 | Data        | 11 |         |    2 | 00/2352 : 00 00       |                          HEX     0000                 
  814 |  5                  fontdata.s     19 | Data        | 11 |         |    2 | 00/2354 : 00 00       |                          HEX     0000                 
  815 |  5                  fontdata.s     20 | Data        | 11 |         |    2 | 00/2356 : 00 00       |                          HEX     0000                 
  816 |  5                  fontdata.s     21 | Comment     | 11 |         |    0 | 00/2358               | * glyph 1: '!' ($21)
  817 |  5                  fontdata.s     22 | Data        | 11 |         |    2 | 00/2358 : F0 03       |                          HEX     F003                 
  818 |  5                  fontdata.s     23 | Data        | 11 |         |    2 | 00/235A : F0 03       |                          HEX     F003                 
  819 |  5                  fontdata.s     24 | Data        | 11 |         |    2 | 00/235C : F0 00       |                          HEX     F000                 
  820 |  5                  fontdata.s     25 | Data        | 11 |         |    2 | 00/235E : F0 00       |                          HEX     F000                 
  821 |  5                  fontdata.s     26 | Data        | 11 |         |    2 | 00/2360 : F0 00       |                          HEX     F000                 
  822 |  5                  fontdata.s     27 | Data        | 11 |         |    2 | 00/2362 : 00 00       |                          HEX     0000                 
  823 |  5                  fontdata.s     28 | Data        | 11 |         |    2 | 00/2364 : F0 00       |                          HEX     F000                 
  824 |  5                  fontdata.s     29 | Data        | 11 |         |    2 | 00/2366 : 00 00       |                          HEX     0000                 
  825 |  5                  fontdata.s     30 | Comment     | 11 |         |    0 | 00/2368               | * glyph 2: '"' ($22)
  826 |  5                  fontdata.s     31 | Data        | 11 |         |    2 | 00/2368 : 30 03       |                          HEX     3003                 
  827 |  5                  fontdata.s     32 | Data        | 11 |         |    2 | 00/236A : 30 03       |                          HEX     3003                 
  828 |  5                  fontdata.s     33 | Data        | 11 |         |    2 | 00/236C : 30 03       |                          HEX     3003                 
  829 |  5                  fontdata.s     34 | Data        | 11 |         |    2 | 00/236E : 00 00       |                          HEX     0000                 
  830 |  5                  fontdata.s     35 | Data        | 11 |         |    2 | 00/2370 : 00 00       |                          HEX     0000                 
  831 |  5                  fontdata.s     36 | Data        | 11 |         |    2 | 00/2372 : 00 00       |                          HEX     0000                 
  832 |  5                  fontdata.s     37 | Data        | 11 |         |    2 | 00/2374 : 00 00       |                          HEX     0000                 
  833 |  5                  fontdata.s     38 | Data        | 11 |         |    2 | 00/2376 : 00 00       |                          HEX     0000                 
  834 |  5                  fontdata.s     39 | Comment     | 11 |         |    0 | 00/2378               | * glyph 3: '#' ($23)
  835 |  5                  fontdata.s     40 | Data        | 11 |         |    2 | 00/2378 : 30 03       |                          HEX     3003                 
  836 |  5                  fontdata.s     41 | Data        | 11 |         |    2 | 00/237A : 30 03       |                          HEX     3003                 
  837 |  5                  fontdata.s     42 | Data        | 11 |         |    2 | 00/237C : FC 0F       |                          HEX     FC0F                 
  838 |  5                  fontdata.s     43 | Data        | 11 |         |    2 | 00/237E : 30 03       |                          HEX     3003                 
  839 |  5                  fontdata.s     44 | Data        | 11 |         |    2 | 00/2380 : FC 0F       |                          HEX     FC0F                 
  840 |  5                  fontdata.s     45 | Data        | 11 |         |    2 | 00/2382 : 30 03       |                          HEX     3003                 
  841 |  5                  fontdata.s     46 | Data        | 11 |         |    2 | 00/2384 : 30 03       |                          HEX     3003                 
  842 |  5                  fontdata.s     47 | Data        | 11 |         |    2 | 00/2386 : 00 00       |                          HEX     0000                 
  843 |  5                  fontdata.s     48 | Comment     | 11 |         |    0 | 00/2388               | * glyph 4: '$' ($24)
  844 |  5                  fontdata.s     49 | Data        | 11 |         |    2 | 00/2388 : C0 00       |                          HEX     C000                 
  845 |  5                  fontdata.s     50 | Data        | 11 |         |    2 | 00/238A : F0 0F       |                          HEX     F00F                 
  846 |  5                  fontdata.s     51 | Data        | 11 |         |    2 | 00/238C : CC 00       |                          HEX     CC00                 
  847 |  5                  fontdata.s     52 | Data        | 11 |         |    2 | 00/238E : F0 03       |                          HEX     F003                 
  848 |  5                  fontdata.s     53 | Data        | 11 |         |    2 | 00/2390 : C0 0C       |                          HEX     C00C                 
  849 |  5                  fontdata.s     54 | Data        | 11 |         |    2 | 00/2392 : FC 03       |                          HEX     FC03                 
  850 |  5                  fontdata.s     55 | Data        | 11 |         |    2 | 00/2394 : C0 00       |                          HEX     C000                 
  851 |  5                  fontdata.s     56 | Data        | 11 |         |    2 | 00/2396 : 00 00       |                          HEX     0000                 
  852 |  5                  fontdata.s     57 | Comment     | 11 |         |    0 | 00/2398               | * glyph 5: '%' ($25)
  853 |  5                  fontdata.s     58 | Data        | 11 |         |    2 | 00/2398 : 00 00       |                          HEX     0000                 
  854 |  5                  fontdata.s     59 | Data        | 11 |         |    2 | 00/239A : 3C 30       |                          HEX     3C30                 
  855 |  5                  fontdata.s     60 | Data        | 11 |         |    2 | 00/239C : 3C 0C       |                          HEX     3C0C                 
  856 |  5                  fontdata.s     61 | Data        | 11 |         |    2 | 00/239E : 00 03       |                          HEX     0003                 
  857 |  5                  fontdata.s     62 | Data        | 11 |         |    2 | 00/23A0 : C0 00       |                          HEX     C000                 
  858 |  5                  fontdata.s     63 | Data        | 11 |         |    2 | 00/23A2 : 30 3C       |                          HEX     303C                 
  859 |  5                  fontdata.s     64 | Data        | 11 |         |    2 | 00/23A4 : 0C 3C       |                          HEX     0C3C                 
  860 |  5                  fontdata.s     65 | Data        | 11 |         |    2 | 00/23A6 : 00 00       |                          HEX     0000                 
  861 |  5                  fontdata.s     66 | Comment     | 11 |         |    0 | 00/23A8               | * glyph 6: '&' ($26)
  862 |  5                  fontdata.s     67 | Data        | 11 |         |    2 | 00/23A8 : F0 00       |                          HEX     F000                 
  863 |  5                  fontdata.s     68 | Data        | 11 |         |    2 | 00/23AA : 0C 03       |                          HEX     0C03                 
  864 |  5                  fontdata.s     69 | Data        | 11 |         |    2 | 00/23AC : 3C 03       |                          HEX     3C03                 
  865 |  5                  fontdata.s     70 | Data        | 11 |         |    2 | 00/23AE : FC 00       |                          HEX     FC00                 
  866 |  5                  fontdata.s     71 | Data        | 11 |         |    2 | 00/23B0 : C3 33       |                          HEX     C333                 
  867 |  5                  fontdata.s     72 | Data        | 11 |         |    2 | 00/23B2 : 03 0F       |                          HEX     030F                 
  868 |  5                  fontdata.s     73 | Data        | 11 |         |    2 | 00/23B4 : FC 33       |                          HEX     FC33                 
  869 |  5                  fontdata.s     74 | Data        | 11 |         |    2 | 00/23B6 : 00 00       |                          HEX     0000                 
  870 |  5                  fontdata.s     75 | Comment     | 11 |         |    0 | 00/23B8               | * glyph 7: ''' ($27)
  871 |  5                  fontdata.s     76 | Data        | 11 |         |    2 | 00/23B8 : F0 00       |                          HEX     F000                 
  872 |  5                  fontdata.s     77 | Data        | 11 |         |    2 | 00/23BA : F0 00       |                          HEX     F000                 
  873 |  5                  fontdata.s     78 | Data        | 11 |         |    2 | 00/23BC : C0 00       |                          HEX     C000                 
  874 |  5                  fontdata.s     79 | Data        | 11 |         |    2 | 00/23BE : 30 00       |                          HEX     3000                 
  875 |  5                  fontdata.s     80 | Data        | 11 |         |    2 | 00/23C0 : 00 00       |                          HEX     0000                 
  876 |  5                  fontdata.s     81 | Data        | 11 |         |    2 | 00/23C2 : 00 00       |                          HEX     0000                 
  877 |  5                  fontdata.s     82 | Data        | 11 |         |    2 | 00/23C4 : 00 00       |                          HEX     0000                 
  878 |  5                  fontdata.s     83 | Data        | 11 |         |    2 | 00/23C6 : 00 00       |                          HEX     0000                 
  879 |  5                  fontdata.s     84 | Comment     | 11 |         |    0 | 00/23C8               | * glyph 8: '(' ($28)
  880 |  5                  fontdata.s     85 | Data        | 11 |         |    2 | 00/23C8 : C0 00       |                          HEX     C000                 
  881 |  5                  fontdata.s     86 | Data        | 11 |         |    2 | 00/23CA : 30 00       |                          HEX     3000                 
  882 |  5                  fontdata.s     87 | Data        | 11 |         |    2 | 00/23CC : 0C 00       |                          HEX     0C00                 
  883 |  5                  fontdata.s     88 | Data        | 11 |         |    2 | 00/23CE : 0C 00       |                          HEX     0C00                 
  884 |  5                  fontdata.s     89 | Data        | 11 |         |    2 | 00/23D0 : 0C 00       |                          HEX     0C00                 
  885 |  5                  fontdata.s     90 | Data        | 11 |         |    2 | 00/23D2 : 30 00       |                          HEX     3000                 
  886 |  5                  fontdata.s     91 | Data        | 11 |         |    2 | 00/23D4 : C0 00       |                          HEX     C000                 
  887 |  5                  fontdata.s     92 | Data        | 11 |         |    2 | 00/23D6 : 00 00       |                          HEX     0000                 
  888 |  5                  fontdata.s     93 | Comment     | 11 |         |    0 | 00/23D8               | * glyph 9: ')' ($29)
  889 |  5                  fontdata.s     94 | Data        | 11 |         |    2 | 00/23D8 : C0 00       |                          HEX     C000                 
  890 |  5                  fontdata.s     95 | Data        | 11 |         |    2 | 00/23DA : 00 03       |                          HEX     0003                 
  891 |  5                  fontdata.s     96 | Data        | 11 |         |    2 | 00/23DC : 00 0C       |                          HEX     000C                 
  892 |  5                  fontdata.s     97 | Data        | 11 |         |    2 | 00/23DE : 00 0C       |                          HEX     000C                 
  893 |  5                  fontdata.s     98 | Data        | 11 |         |    2 | 00/23E0 : 00 0C       |                          HEX     000C                 
  894 |  5                  fontdata.s     99 | Data        | 11 |         |    2 | 00/23E2 : 00 03       |                          HEX     0003                 
  895 |  5                  fontdata.s    100 | Data        | 11 |         |    2 | 00/23E4 : C0 00       |                          HEX     C000                 
  896 |  5                  fontdata.s    101 | Data        | 11 |         |    2 | 00/23E6 : 00 00       |                          HEX     0000                 
  897 |  5                  fontdata.s    102 | Comment     | 11 |         |    0 | 00/23E8               | * glyph 10: '*' ($2A)
  898 |  5                  fontdata.s    103 | Data        | 11 |         |    2 | 00/23E8 : 00 00       |                          HEX     0000                 
  899 |  5                  fontdata.s    104 | Data        | 11 |         |    2 | 00/23EA : C0 00       |                          HEX     C000                 
  900 |  5                  fontdata.s    105 | Data        | 11 |         |    2 | 00/23EC : CC 0C       |                          HEX     CC0C                 
  901 |  5                  fontdata.s    106 | Data        | 11 |         |    2 | 00/23EE : F0 03       |                          HEX     F003                 
  902 |  5                  fontdata.s    107 | Data        | 11 |         |    2 | 00/23F0 : CC 0C       |                          HEX     CC0C                 
  903 |  5                  fontdata.s    108 | Data        | 11 |         |    2 | 00/23F2 : C0 00       |                          HEX     C000                 
  904 |  5                  fontdata.s    109 | Data        | 11 |         |    2 | 00/23F4 : 00 00       |                          HEX     0000                 
  905 |  5                  fontdata.s    110 | Data        | 11 |         |    2 | 00/23F6 : 00 00       |                          HEX     0000                 
  906 |  5                  fontdata.s    111 | Comment     | 11 |         |    0 | 00/23F8               | * glyph 11: '+' ($2B)
  907 |  5                  fontdata.s    112 | Data        | 11 |         |    2 | 00/23F8 : 00 00       |                          HEX     0000                 
  908 |  5                  fontdata.s    113 | Data        | 11 |         |    2 | 00/23FA : C0 00       |                          HEX     C000                 
  909 |  5                  fontdata.s    114 | Data        | 11 |         |    2 | 00/23FC : C0 00       |                          HEX     C000                 
  910 |  5                  fontdata.s    115 | Data        | 11 |         |    2 | 00/23FE : FC 0F       |                          HEX     FC0F                 
  911 |  5                  fontdata.s    116 | Data        | 11 |         |    2 | 00/2400 : C0 00       |                          HEX     C000                 
  912 |  5                  fontdata.s    117 | Data        | 11 |         |    2 | 00/2402 : C0 00       |                          HEX     C000                 
  913 |  5                  fontdata.s    118 | Data        | 11 |         |    2 | 00/2404 : 00 00       |                          HEX     0000                 
  914 |  5                  fontdata.s    119 | Data        | 11 |         |    2 | 00/2406 : 00 00       |                          HEX     0000                 
  915 |  5                  fontdata.s    120 | Comment     | 11 |         |    0 | 00/2408               | * glyph 12: ',' ($2C)
  916 |  5                  fontdata.s    121 | Data        | 11 |         |    2 | 00/2408 : 00 00       |                          HEX     0000                 
  917 |  5                  fontdata.s    122 | Data        | 11 |         |    2 | 00/240A : 00 00       |                          HEX     0000                 
  918 |  5                  fontdata.s    123 | Data        | 11 |         |    2 | 00/240C : 00 00       |                          HEX     0000                 
  919 |  5                  fontdata.s    124 | Data        | 11 |         |    2 | 00/240E : 00 00       |                          HEX     0000                 
  920 |  5                  fontdata.s    125 | Data        | 11 |         |    2 | 00/2410 : C0 03       |                          HEX     C003                 
  921 |  5                  fontdata.s    126 | Data        | 11 |         |    2 | 00/2412 : C0 03       |                          HEX     C003                 
  922 |  5                  fontdata.s    127 | Data        | 11 |         |    2 | 00/2414 : F0 00       |                          HEX     F000                 
  923 |  5                  fontdata.s    128 | Data        | 11 |         |    2 | 00/2416 : 00 00       |                          HEX     0000                 
  924 |  5                  fontdata.s    129 | Comment     | 11 |         |    0 | 00/2418               | * glyph 13: '-' ($2D)
  925 |  5                  fontdata.s    130 | Data        | 11 |         |    2 | 00/2418 : 00 00       |                          HEX     0000                 
  926 |  5                  fontdata.s    131 | Data        | 11 |         |    2 | 00/241A : 00 00       |                          HEX     0000                 
  927 |  5                  fontdata.s    132 | Data        | 11 |         |    2 | 00/241C : 00 00       |                          HEX     0000                 
  928 |  5                  fontdata.s    133 | Data        | 11 |         |    2 | 00/241E : 00 00       |                          HEX     0000                 
  929 |  5                  fontdata.s    134 | Data        | 11 |         |    2 | 00/2420 : FC 0F       |                          HEX     FC0F                 
  930 |  5                  fontdata.s    135 | Data        | 11 |         |    2 | 00/2422 : 00 00       |                          HEX     0000                 
  931 |  5                  fontdata.s    136 | Data        | 11 |         |    2 | 00/2424 : 00 00       |                          HEX     0000                 
  932 |  5                  fontdata.s    137 | Data        | 11 |         |    2 | 00/2426 : 00 00       |                          HEX     0000                 
  933 |  5                  fontdata.s    138 | Comment     | 11 |         |    0 | 00/2428               | * glyph 14: '.' ($2E)
  934 |  5                  fontdata.s    139 | Data        | 11 |         |    2 | 00/2428 : 00 00       |                          HEX     0000                 
  935 |  5                  fontdata.s    140 | Data        | 11 |         |    2 | 00/242A : 00 00       |                          HEX     0000                 
  936 |  5                  fontdata.s    141 | Data        | 11 |         |    2 | 00/242C : 00 00       |                          HEX     0000                 
  937 |  5                  fontdata.s    142 | Data        | 11 |         |    2 | 00/242E : 00 00       |                          HEX     0000                 
  938 |  5                  fontdata.s    143 | Data        | 11 |         |    2 | 00/2430 : 00 00       |                          HEX     0000                 
  939 |  5                  fontdata.s    144 | Data        | 11 |         |    2 | 00/2432 : C0 03       |                          HEX     C003                 
  940 |  5                  fontdata.s    145 | Data        | 11 |         |    2 | 00/2434 : C0 03       |                          HEX     C003                 
  941 |  5                  fontdata.s    146 | Data        | 11 |         |    2 | 00/2436 : 00 00       |                          HEX     0000                 
  942 |  5                  fontdata.s    147 | Comment     | 11 |         |    0 | 00/2438               | * glyph 15: '/' ($2F)
  943 |  5                  fontdata.s    148 | Data        | 11 |         |    2 | 00/2438 : 00 30       |                          HEX     0030                 
  944 |  5                  fontdata.s    149 | Data        | 11 |         |    2 | 00/243A : 00 0C       |                          HEX     000C                 
  945 |  5                  fontdata.s    150 | Data        | 11 |         |    2 | 00/243C : 00 03       |                          HEX     0003                 
  946 |  5                  fontdata.s    151 | Data        | 11 |         |    2 | 00/243E : C0 00       |                          HEX     C000                 
  947 |  5                  fontdata.s    152 | Data        | 11 |         |    2 | 00/2440 : 30 00       |                          HEX     3000                 
  948 |  5                  fontdata.s    153 | Data        | 11 |         |    2 | 00/2442 : 0C 00       |                          HEX     0C00                 
  949 |  5                  fontdata.s    154 | Data        | 11 |         |    2 | 00/2444 : 03 00       |                          HEX     0300                 
  950 |  5                  fontdata.s    155 | Data        | 11 |         |    2 | 00/2446 : 00 00       |                          HEX     0000                 
  951 |  5                  fontdata.s    156 | Comment     | 11 |         |    0 | 00/2448               | * glyph 16: '0' ($30)
  952 |  5                  fontdata.s    157 | Data        | 11 |         |    2 | 00/2448 : F0 03       |                          HEX     F003                 
  953 |  5                  fontdata.s    158 | Data        | 11 |         |    2 | 00/244A : 0C 0F       |                          HEX     0C0F                 
  954 |  5                  fontdata.s    159 | Data        | 11 |         |    2 | 00/244C : 0F 3C       |                          HEX     0F3C                 
  955 |  5                  fontdata.s    160 | Data        | 11 |         |    2 | 00/244E : 0F 3C       |                          HEX     0F3C                 
  956 |  5                  fontdata.s    161 | Data        | 11 |         |    2 | 00/2450 : 0F 3C       |                          HEX     0F3C                 
  957 |  5                  fontdata.s    162 | Data        | 11 |         |    2 | 00/2452 : 3C 0C       |                          HEX     3C0C                 
  958 |  5                  fontdata.s    163 | Data        | 11 |         |    2 | 00/2454 : F0 03       |                          HEX     F003                 
  959 |  5                  fontdata.s    164 | Data        | 11 |         |    2 | 00/2456 : 00 00       |                          HEX     0000                 
  960 |  5                  fontdata.s    165 | Comment     | 11 |         |    0 | 00/2458               | * glyph 17: '1' ($31)
  961 |  5                  fontdata.s    166 | Data        | 11 |         |    2 | 00/2458 : C0 03       |                          HEX     C003                 
  962 |  5                  fontdata.s    167 | Data        | 11 |         |    2 | 00/245A : F0 03       |                          HEX     F003                 
  963 |  5                  fontdata.s    168 | Data        | 11 |         |    2 | 00/245C : C0 03       |                          HEX     C003                 
  964 |  5                  fontdata.s    169 | Data        | 11 |         |    2 | 00/245E : C0 03       |                          HEX     C003                 
  965 |  5                  fontdata.s    170 | Data        | 11 |         |    2 | 00/2460 : C0 03       |                          HEX     C003                 
  966 |  5                  fontdata.s    171 | Data        | 11 |         |    2 | 00/2462 : C0 03       |                          HEX     C003                 
  967 |  5                  fontdata.s    172 | Data        | 11 |         |    2 | 00/2464 : FC 3F       |                          HEX     FC3F                 
  968 |  5                  fontdata.s    173 | Data        | 11 |         |    2 | 00/2466 : 00 00       |                          HEX     0000                 
  969 |  5                  fontdata.s    174 | Comment     | 11 |         |    0 | 00/2468               | * glyph 18: '2' ($32)
  970 |  5                  fontdata.s    175 | Data        | 11 |         |    2 | 00/2468 : FC 0F       |                          HEX     FC0F                 
  971 |  5                  fontdata.s    176 | Data        | 11 |         |    2 | 00/246A : 0F 3C       |                          HEX     0F3C                 
  972 |  5                  fontdata.s    177 | Data        | 11 |         |    2 | 00/246C : 00 3F       |                          HEX     003F                 
  973 |  5                  fontdata.s    178 | Data        | 11 |         |    2 | 00/246E : F0 0F       |                          HEX     F00F                 
  974 |  5                  fontdata.s    179 | Data        | 11 |         |    2 | 00/2470 : FC 03       |                          HEX     FC03                 
  975 |  5                  fontdata.s    180 | Data        | 11 |         |    2 | 00/2472 : 0F 00       |                          HEX     0F00                 
  976 |  5                  fontdata.s    181 | Data        | 11 |         |    2 | 00/2474 : FF 3F       |                          HEX     FF3F                 
  977 |  5                  fontdata.s    182 | Data        | 11 |         |    2 | 00/2476 : 00 00       |                          HEX     0000                 
  978 |  5                  fontdata.s    183 | Comment     | 11 |         |    0 | 00/2478               | * glyph 19: '3' ($33)
  979 |  5                  fontdata.s    184 | Data        | 11 |         |    2 | 00/2478 : FF 3F       |                          HEX     FF3F                 
  980 |  5                  fontdata.s    185 | Data        | 11 |         |    2 | 00/247A : 00 0F       |                          HEX     000F                 
  981 |  5                  fontdata.s    186 | Data        | 11 |         |    2 | 00/247C : C0 03       |                          HEX     C003                 
  982 |  5                  fontdata.s    187 | Data        | 11 |         |    2 | 00/247E : F0 0F       |                          HEX     F00F                 
  983 |  5                  fontdata.s    188 | Data        | 11 |         |    2 | 00/2480 : 00 3C       |                          HEX     003C                 
  984 |  5                  fontdata.s    189 | Data        | 11 |         |    2 | 00/2482 : 0F 3C       |                          HEX     0F3C                 
  985 |  5                  fontdata.s    190 | Data        | 11 |         |    2 | 00/2484 : FC 0F       |                          HEX     FC0F                 
  986 |  5                  fontdata.s    191 | Data        | 11 |         |    2 | 00/2486 : 00 00       |                          HEX     0000                 
  987 |  5                  fontdata.s    192 | Comment     | 11 |         |    0 | 00/2488               | * glyph 20: '4' ($34)
  988 |  5                  fontdata.s    193 | Data        | 11 |         |    2 | 00/2488 : C0 0F       |                          HEX     C00F                 
  989 |  5                  fontdata.s    194 | Data        | 11 |         |    2 | 00/248A : F0 0F       |                          HEX     F00F                 
  990 |  5                  fontdata.s    195 | Data        | 11 |         |    2 | 00/248C : 3C 0F       |                          HEX     3C0F                 
  991 |  5                  fontdata.s    196 | Data        | 11 |         |    2 | 00/248E : 0F 0F       |                          HEX     0F0F                 
  992 |  5                  fontdata.s    197 | Data        | 11 |         |    2 | 00/2490 : FF 3F       |                          HEX     FF3F                 
  993 |  5                  fontdata.s    198 | Data        | 11 |         |    2 | 00/2492 : 00 0F       |                          HEX     000F                 
  994 |  5                  fontdata.s    199 | Data        | 11 |         |    2 | 00/2494 : 00 0F       |                          HEX     000F                 
  995 |  5                  fontdata.s    200 | Data        | 11 |         |    2 | 00/2496 : 00 00       |                          HEX     0000                 
  996 |  5                  fontdata.s    201 | Comment     | 11 |         |    0 | 00/2498               | * glyph 21: '5' ($35)
  997 |  5                  fontdata.s    202 | Data        | 11 |         |    2 | 00/2498 : FF 0F       |                          HEX     FF0F                 
  998 |  5                  fontdata.s    203 | Data        | 11 |         |    2 | 00/249A : 0F 00       |                          HEX     0F00                 
  999 |  5                  fontdata.s    204 | Data        | 11 |         |    2 | 00/249C : FF 0F       |                          HEX     FF0F                 
 1000 |  5                  fontdata.s    205 | Data        | 11 |         |    2 | 00/249E : 00 3C       |                          HEX     003C                 
 1001 |  5                  fontdata.s    206 | Data        | 11 |         |    2 | 00/24A0 : 00 3C       |                          HEX     003C                 
 1002 |  5                  fontdata.s    207 | Data        | 11 |         |    2 | 00/24A2 : 0F 3C       |                          HEX     0F3C                 
 1003 |  5                  fontdata.s    208 | Data        | 11 |         |    2 | 00/24A4 : FC 0F       |                          HEX     FC0F                 
 1004 |  5                  fontdata.s    209 | Data        | 11 |         |    2 | 00/24A6 : 00 00       |                          HEX     0000                 
 1005 |  5                  fontdata.s    210 | Comment     | 11 |         |    0 | 00/24A8               | * glyph 22: '6' ($36)
 1006 |  5                  fontdata.s    211 | Data        | 11 |         |    2 | 00/24A8 : F0 0F       |                          HEX     F00F                 
 1007 |  5                  fontdata.s    212 | Data        | 11 |         |    2 | 00/24AA : 3C 00       |                          HEX     3C00                 
 1008 |  5                  fontdata.s    213 | Data        | 11 |         |    2 | 00/24AC : 0F 00       |                          HEX     0F00                 
 1009 |  5                  fontdata.s    214 | Data        | 11 |         |    2 | 00/24AE : FF 0F       |                          HEX     FF0F                 
 1010 |  5                  fontdata.s    215 | Data        | 11 |         |    2 | 00/24B0 : 0F 3C       |                          HEX     0F3C                 
 1011 |  5                  fontdata.s    216 | Data        | 11 |         |    2 | 00/24B2 : 0F 3C       |                          HEX     0F3C                 
 1012 |  5                  fontdata.s    217 | Data        | 11 |         |    2 | 00/24B4 : FC 0F       |                          HEX     FC0F                 
 1013 |  5                  fontdata.s    218 | Data        | 11 |         |    2 | 00/24B6 : 00 00       |                          HEX     0000                 
 1014 |  5                  fontdata.s    219 | Comment     | 11 |         |    0 | 00/24B8               | * glyph 23: '7' ($37)
 1015 |  5                  fontdata.s    220 | Data        | 11 |         |    2 | 00/24B8 : FF 3F       |                          HEX     FF3F                 
 1016 |  5                  fontdata.s    221 | Data        | 11 |         |    2 | 00/24BA : 03 3C       |                          HEX     033C                 
 1017 |  5                  fontdata.s    222 | Data        | 11 |         |    2 | 00/24BC : 00 0F       |                          HEX     000F                 
 1018 |  5                  fontdata.s    223 | Data        | 11 |         |    2 | 00/24BE : C0 03       |                          HEX     C003                 
 1019 |  5                  fontdata.s    224 | Data        | 11 |         |    2 | 00/24C0 : F0 00       |                          HEX     F000                 
 1020 |  5                  fontdata.s    225 | Data        | 11 |         |    2 | 00/24C2 : F0 00       |                          HEX     F000                 
 1021 |  5                  fontdata.s    226 | Data        | 11 |         |    2 | 00/24C4 : F0 00       |                          HEX     F000                 
 1022 |  5                  fontdata.s    227 | Data        | 11 |         |    2 | 00/24C6 : 00 00       |                          HEX     0000                 
 1023 |  5                  fontdata.s    228 | Comment     | 11 |         |    0 | 00/24C8               | * glyph 24: '8' ($38)
 1024 |  5                  fontdata.s    229 | Data        | 11 |         |    2 | 00/24C8 : FC 03       |                          HEX     FC03                 
 1025 |  5                  fontdata.s    230 | Data        | 11 |         |    2 | 00/24CA : 0F 0C       |                          HEX     0F0C                 
 1026 |  5                  fontdata.s    231 | Data        | 11 |         |    2 | 00/24CC : 3F 0C       |                          HEX     3F0C                 
 1027 |  5                  fontdata.s    232 | Data        | 11 |         |    2 | 00/24CE : FC 03       |                          HEX     FC03                 
 1028 |  5                  fontdata.s    233 | Data        | 11 |         |    2 | 00/24D0 : C3 3F       |                          HEX     C33F                 
 1029 |  5                  fontdata.s    234 | Data        | 11 |         |    2 | 00/24D2 : 03 3C       |                          HEX     033C                 
 1030 |  5                  fontdata.s    235 | Data        | 11 |         |    2 | 00/24D4 : FC 0F       |                          HEX     FC0F                 
 1031 |  5                  fontdata.s    236 | Data        | 11 |         |    2 | 00/24D6 : 00 00       |                          HEX     0000                 
 1032 |  5                  fontdata.s    237 | Comment     | 11 |         |    0 | 00/24D8               | * glyph 25: '9' ($39)
 1033 |  5                  fontdata.s    238 | Data        | 11 |         |    2 | 00/24D8 : FC 0F       |                          HEX     FC0F                 
 1034 |  5                  fontdata.s    239 | Data        | 11 |         |    2 | 00/24DA : 0F 3C       |                          HEX     0F3C                 
 1035 |  5                  fontdata.s    240 | Data        | 11 |         |    2 | 00/24DC : 0F 3C       |                          HEX     0F3C                 
 1036 |  5                  fontdata.s    241 | Data        | 11 |         |    2 | 00/24DE : FC 3F       |                          HEX     FC3F                 
 1037 |  5                  fontdata.s    242 | Data        | 11 |         |    2 | 00/24E0 : 00 3C       |                          HEX     003C                 
 1038 |  5                  fontdata.s    243 | Data        | 11 |         |    2 | 00/24E2 : 00 0F       |                          HEX     000F                 
 1039 |  5                  fontdata.s    244 | Data        | 11 |         |    2 | 00/24E4 : FC 03       |                          HEX     FC03                 
 1040 |  5                  fontdata.s    245 | Data        | 11 |         |    2 | 00/24E6 : 00 00       |                          HEX     0000                 
 1041 |  5                  fontdata.s    246 | Comment     | 11 |         |    0 | 00/24E8               | * glyph 26: ':' ($3A)
 1042 |  5                  fontdata.s    247 | Data        | 11 |         |    2 | 00/24E8 : 00 00       |                          HEX     0000                 
 1043 |  5                  fontdata.s    248 | Data        | 11 |         |    2 | 00/24EA : F0 00       |                          HEX     F000                 
 1044 |  5                  fontdata.s    249 | Data        | 11 |         |    2 | 00/24EC : F0 00       |                          HEX     F000                 
 1045 |  5                  fontdata.s    250 | Data        | 11 |         |    2 | 00/24EE : 00 00       |                          HEX     0000                 
 1046 |  5                  fontdata.s    251 | Data        | 11 |         |    2 | 00/24F0 : F0 00       |                          HEX     F000                 
 1047 |  5                  fontdata.s    252 | Data        | 11 |         |    2 | 00/24F2 : F0 00       |                          HEX     F000                 
 1048 |  5                  fontdata.s    253 | Data        | 11 |         |    2 | 00/24F4 : 00 00       |                          HEX     0000                 
 1049 |  5                  fontdata.s    254 | Data        | 11 |         |    2 | 00/24F6 : 00 00       |                          HEX     0000                 
 1050 |  5                  fontdata.s    255 | Comment     | 11 |         |    0 | 00/24F8               | * glyph 27: ';' ($3B)
 1051 |  5                  fontdata.s    256 | Data        | 11 |         |    2 | 00/24F8 : 00 00       |                          HEX     0000                 
 1052 |  5                  fontdata.s    257 | Data        | 11 |         |    2 | 00/24FA : F0 00       |                          HEX     F000                 
 1053 |  5                  fontdata.s    258 | Data        | 11 |         |    2 | 00/24FC : F0 00       |                          HEX     F000                 
 1054 |  5                  fontdata.s    259 | Data        | 11 |         |    2 | 00/24FE : 00 00       |                          HEX     0000                 
 1055 |  5                  fontdata.s    260 | Data        | 11 |         |    2 | 00/2500 : F0 00       |                          HEX     F000                 
 1056 |  5                  fontdata.s    261 | Data        | 11 |         |    2 | 00/2502 : F0 00       |                          HEX     F000                 
 1057 |  5                  fontdata.s    262 | Data        | 11 |         |    2 | 00/2504 : 3C 00       |                          HEX     3C00                 
 1058 |  5                  fontdata.s    263 | Data        | 11 |         |    2 | 00/2506 : 00 00       |                          HEX     0000                 
 1059 |  5                  fontdata.s    264 | Comment     | 11 |         |    0 | 00/2508               | * glyph 28: '<' ($3C)
 1060 |  5                  fontdata.s    265 | Data        | 11 |         |    2 | 00/2508 : 00 03       |                          HEX     0003                 
 1061 |  5                  fontdata.s    266 | Data        | 11 |         |    2 | 00/250A : C0 00       |                          HEX     C000                 
 1062 |  5                  fontdata.s    267 | Data        | 11 |         |    2 | 00/250C : 30 00       |                          HEX     3000                 
 1063 |  5                  fontdata.s    268 | Data        | 11 |         |    2 | 00/250E : 0C 00       |                          HEX     0C00                 
 1064 |  5                  fontdata.s    269 | Data        | 11 |         |    2 | 00/2510 : 30 00       |                          HEX     3000                 
 1065 |  5                  fontdata.s    270 | Data        | 11 |         |    2 | 00/2512 : C0 00       |                          HEX     C000                 
 1066 |  5                  fontdata.s    271 | Data        | 11 |         |    2 | 00/2514 : 00 03       |                          HEX     0003                 
 1067 |  5                  fontdata.s    272 | Data        | 11 |         |    2 | 00/2516 : 00 00       |                          HEX     0000                 
 1068 |  5                  fontdata.s    273 | Comment     | 11 |         |    0 | 00/2518               | * glyph 29: '=' ($3D)
 1069 |  5                  fontdata.s    274 | Data        | 11 |         |    2 | 00/2518 : 00 00       |                          HEX     0000                 
 1070 |  5                  fontdata.s    275 | Data        | 11 |         |    2 | 00/251A : 00 00       |                          HEX     0000                 
 1071 |  5                  fontdata.s    276 | Data        | 11 |         |    2 | 00/251C : FC 0F       |                          HEX     FC0F                 
 1072 |  5                  fontdata.s    277 | Data        | 11 |         |    2 | 00/251E : 00 00       |                          HEX     0000                 
 1073 |  5                  fontdata.s    278 | Data        | 11 |         |    2 | 00/2520 : FC 0F       |                          HEX     FC0F                 
 1074 |  5                  fontdata.s    279 | Data        | 11 |         |    2 | 00/2522 : 00 00       |                          HEX     0000                 
 1075 |  5                  fontdata.s    280 | Data        | 11 |         |    2 | 00/2524 : 00 00       |                          HEX     0000                 
 1076 |  5                  fontdata.s    281 | Data        | 11 |         |    2 | 00/2526 : 00 00       |                          HEX     0000                 
 1077 |  5                  fontdata.s    282 | Comment     | 11 |         |    0 | 00/2528               | * glyph 30: '>' ($3E)
 1078 |  5                  fontdata.s    283 | Data        | 11 |         |    2 | 00/2528 : 30 00       |                          HEX     3000                 
 1079 |  5                  fontdata.s    284 | Data        | 11 |         |    2 | 00/252A : C0 00       |                          HEX     C000                 
 1080 |  5                  fontdata.s    285 | Data        | 11 |         |    2 | 00/252C : 00 03       |                          HEX     0003                 
 1081 |  5                  fontdata.s    286 | Data        | 11 |         |    2 | 00/252E : 00 0C       |                          HEX     000C                 
 1082 |  5                  fontdata.s    287 | Data        | 11 |         |    2 | 00/2530 : 00 03       |                          HEX     0003                 
 1083 |  5                  fontdata.s    288 | Data        | 11 |         |    2 | 00/2532 : C0 00       |                          HEX     C000                 
 1084 |  5                  fontdata.s    289 | Data        | 11 |         |    2 | 00/2534 : 30 00       |                          HEX     3000                 
 1085 |  5                  fontdata.s    290 | Data        | 11 |         |    2 | 00/2536 : 00 00       |                          HEX     0000                 
 1086 |  5                  fontdata.s    291 | Comment     | 11 |         |    0 | 00/2538               | * glyph 31: '?' ($3F)
 1087 |  5                  fontdata.s    292 | Data        | 11 |         |    2 | 00/2538 : FC 0F       |                          HEX     FC0F                 
 1088 |  5                  fontdata.s    293 | Data        | 11 |         |    2 | 00/253A : FF 3F       |                          HEX     FF3F                 
 1089 |  5                  fontdata.s    294 | Data        | 11 |         |    2 | 00/253C : 0F 3C       |                          HEX     0F3C                 
 1090 |  5                  fontdata.s    295 | Data        | 11 |         |    2 | 00/253E : 00 0F       |                          HEX     000F                 
 1091 |  5                  fontdata.s    296 | Data        | 11 |         |    2 | 00/2540 : F0 03       |                          HEX     F003                 
 1092 |  5                  fontdata.s    297 | Data        | 11 |         |    2 | 00/2542 : 00 00       |                          HEX     0000                 
 1093 |  5                  fontdata.s    298 | Data        | 11 |         |    2 | 00/2544 : F0 03       |                          HEX     F003                 
 1094 |  5                  fontdata.s    299 | Data        | 11 |         |    2 | 00/2546 : 00 00       |                          HEX     0000                 
 1095 |  5                  fontdata.s    300 | Comment     | 11 |         |    0 | 00/2548               | * glyph 32: '@' ($40)
 1096 |  5                  fontdata.s    301 | Data        | 11 |         |    2 | 00/2548 : FC 0F       |                          HEX     FC0F                 
 1097 |  5                  fontdata.s    302 | Data        | 11 |         |    2 | 00/254A : 03 30       |                          HEX     0330                 
 1098 |  5                  fontdata.s    303 | Data        | 11 |         |    2 | 00/254C : F3 33       |                          HEX     F333                 
 1099 |  5                  fontdata.s    304 | Data        | 11 |         |    2 | 00/254E : 33 30       |                          HEX     3330                 
 1100 |  5                  fontdata.s    305 | Data        | 11 |         |    2 | 00/2550 : F3 33       |                          HEX     F333                 
 1101 |  5                  fontdata.s    306 | Data        | 11 |         |    2 | 00/2552 : 03 30       |                          HEX     0330                 
 1102 |  5                  fontdata.s    307 | Data        | 11 |         |    2 | 00/2554 : FC 0F       |                          HEX     FC0F                 
 1103 |  5                  fontdata.s    308 | Data        | 11 |         |    2 | 00/2556 : 00 00       |                          HEX     0000                 
 1104 |  5                  fontdata.s    309 | Comment     | 11 |         |    0 | 00/2558               | * glyph 33: 'A' ($41)
 1105 |  5                  fontdata.s    310 | Data        | 11 |         |    2 | 00/2558 : F0 03       |                          HEX     F003                 
 1106 |  5                  fontdata.s    311 | Data        | 11 |         |    2 | 00/255A : 3C 0F       |                          HEX     3C0F                 
 1107 |  5                  fontdata.s    312 | Data        | 11 |         |    2 | 00/255C : 0F 3C       |                          HEX     0F3C                 
 1108 |  5                  fontdata.s    313 | Data        | 11 |         |    2 | 00/255E : 0F 3C       |                          HEX     0F3C                 
 1109 |  5                  fontdata.s    314 | Data        | 11 |         |    2 | 00/2560 : FF 3F       |                          HEX     FF3F                 
 1110 |  5                  fontdata.s    315 | Data        | 11 |         |    2 | 00/2562 : 0F 3C       |                          HEX     0F3C                 
 1111 |  5                  fontdata.s    316 | Data        | 11 |         |    2 | 00/2564 : 0F 3C       |                          HEX     0F3C                 
 1112 |  5                  fontdata.s    317 | Data        | 11 |         |    2 | 00/2566 : 00 00       |                          HEX     0000                 
 1113 |  5                  fontdata.s    318 | Comment     | 11 |         |    0 | 00/2568               | * glyph 34: 'B' ($42)
 1114 |  5                  fontdata.s    319 | Data        | 11 |         |    2 | 00/2568 : FF 0F       |                          HEX     FF0F                 
 1115 |  5                  fontdata.s    320 | Data        | 11 |         |    2 | 00/256A : 0F 3C       |                          HEX     0F3C                 
 1116 |  5                  fontdata.s    321 | Data        | 11 |         |    2 | 00/256C : 0F 3C       |                          HEX     0F3C                 
 1117 |  5                  fontdata.s    322 | Data        | 11 |         |    2 | 00/256E : FF 0F       |                          HEX     FF0F                 
 1118 |  5                  fontdata.s    323 | Data        | 11 |         |    2 | 00/2570 : 0F 3C       |                          HEX     0F3C                 
 1119 |  5                  fontdata.s    324 | Data        | 11 |         |    2 | 00/2572 : 0F 3C       |                          HEX     0F3C                 
 1120 |  5                  fontdata.s    325 | Data        | 11 |         |    2 | 00/2574 : FF 0F       |                          HEX     FF0F                 
 1121 |  5                  fontdata.s    326 | Data        | 11 |         |    2 | 00/2576 : 00 00       |                          HEX     0000                 
 1122 |  5                  fontdata.s    327 | Comment     | 11 |         |    0 | 00/2578               | * glyph 35: 'C' ($43)
 1123 |  5                  fontdata.s    328 | Data        | 11 |         |    2 | 00/2578 : F0 0F       |                          HEX     F00F                 
 1124 |  5                  fontdata.s    329 | Data        | 11 |         |    2 | 00/257A : 3C 3C       |                          HEX     3C3C                 
 1125 |  5                  fontdata.s    330 | Data        | 11 |         |    2 | 00/257C : 0F 00       |                          HEX     0F00                 
 1126 |  5                  fontdata.s    331 | Data        | 11 |         |    2 | 00/257E : 0F 00       |                          HEX     0F00                 
 1127 |  5                  fontdata.s    332 | Data        | 11 |         |    2 | 00/2580 : 0F 00       |                          HEX     0F00                 
 1128 |  5                  fontdata.s    333 | Data        | 11 |         |    2 | 00/2582 : 3C 3C       |                          HEX     3C3C                 
 1129 |  5                  fontdata.s    334 | Data        | 11 |         |    2 | 00/2584 : F0 0F       |                          HEX     F00F                 
 1130 |  5                  fontdata.s    335 | Data        | 11 |         |    2 | 00/2586 : 00 00       |                          HEX     0000                 
 1131 |  5                  fontdata.s    336 | Comment     | 11 |         |    0 | 00/2588               | * glyph 36: 'D' ($44)
 1132 |  5                  fontdata.s    337 | Data        | 11 |         |    2 | 00/2588 : FF 03       |                          HEX     FF03                 
 1133 |  5                  fontdata.s    338 | Data        | 11 |         |    2 | 00/258A : 0F 0F       |                          HEX     0F0F                 
 1134 |  5                  fontdata.s    339 | Data        | 11 |         |    2 | 00/258C : 0F 3C       |                          HEX     0F3C                 
 1135 |  5                  fontdata.s    340 | Data        | 11 |         |    2 | 00/258E : 0F 3C       |                          HEX     0F3C                 
 1136 |  5                  fontdata.s    341 | Data        | 11 |         |    2 | 00/2590 : 0F 3C       |                          HEX     0F3C                 
 1137 |  5                  fontdata.s    342 | Data        | 11 |         |    2 | 00/2592 : 0F 0F       |                          HEX     0F0F                 
 1138 |  5                  fontdata.s    343 | Data        | 11 |         |    2 | 00/2594 : FF 03       |                          HEX     FF03                 
 1139 |  5                  fontdata.s    344 | Data        | 11 |         |    2 | 00/2596 : 00 00       |                          HEX     0000                 
 1140 |  5                  fontdata.s    345 | Comment     | 11 |         |    0 | 00/2598               | * glyph 37: 'E' ($45)
 1141 |  5                  fontdata.s    346 | Data        | 11 |         |    2 | 00/2598 : FF 3F       |                          HEX     FF3F                 
 1142 |  5                  fontdata.s    347 | Data        | 11 |         |    2 | 00/259A : 0F 00       |                          HEX     0F00                 
 1143 |  5                  fontdata.s    348 | Data        | 11 |         |    2 | 00/259C : 0F 00       |                          HEX     0F00                 
 1144 |  5                  fontdata.s    349 | Data        | 11 |         |    2 | 00/259E : FF 0F       |                          HEX     FF0F                 
 1145 |  5                  fontdata.s    350 | Data        | 11 |         |    2 | 00/25A0 : 0F 00       |                          HEX     0F00                 
 1146 |  5                  fontdata.s    351 | Data        | 11 |         |    2 | 00/25A2 : 0F 00       |                          HEX     0F00                 
 1147 |  5                  fontdata.s    352 | Data        | 11 |         |    2 | 00/25A4 : FF 3F       |                          HEX     FF3F                 
 1148 |  5                  fontdata.s    353 | Data        | 11 |         |    2 | 00/25A6 : 00 00       |                          HEX     0000                 
 1149 |  5                  fontdata.s    354 | Comment     | 11 |         |    0 | 00/25A8               | * glyph 38: 'F' ($46)
 1150 |  5                  fontdata.s    355 | Data        | 11 |         |    2 | 00/25A8 : FF 3F       |                          HEX     FF3F                 
 1151 |  5                  fontdata.s    356 | Data        | 11 |         |    2 | 00/25AA : 0F 00       |                          HEX     0F00                 
 1152 |  5                  fontdata.s    357 | Data        | 11 |         |    2 | 00/25AC : 0F 00       |                          HEX     0F00                 
 1153 |  5                  fontdata.s    358 | Data        | 11 |         |    2 | 00/25AE : FF 0F       |                          HEX     FF0F                 
 1154 |  5                  fontdata.s    359 | Data        | 11 |         |    2 | 00/25B0 : 0F 00       |                          HEX     0F00                 
 1155 |  5                  fontdata.s    360 | Data        | 11 |         |    2 | 00/25B2 : 0F 00       |                          HEX     0F00                 
 1156 |  5                  fontdata.s    361 | Data        | 11 |         |    2 | 00/25B4 : 0F 00       |                          HEX     0F00                 
 1157 |  5                  fontdata.s    362 | Data        | 11 |         |    2 | 00/25B6 : 00 00       |                          HEX     0000                 
 1158 |  5                  fontdata.s    363 | Comment     | 11 |         |    0 | 00/25B8               | * glyph 39: 'G' ($47)
 1159 |  5                  fontdata.s    364 | Data        | 11 |         |    2 | 00/25B8 : F0 3F       |                          HEX     F03F                 
 1160 |  5                  fontdata.s    365 | Data        | 11 |         |    2 | 00/25BA : 3C 00       |                          HEX     3C00                 
 1161 |  5                  fontdata.s    366 | Data        | 11 |         |    2 | 00/25BC : 0F 00       |                          HEX     0F00                 
 1162 |  5                  fontdata.s    367 | Data        | 11 |         |    2 | 00/25BE : 0F 3F       |                          HEX     0F3F                 
 1163 |  5                  fontdata.s    368 | Data        | 11 |         |    2 | 00/25C0 : 0F 3C       |                          HEX     0F3C                 
 1164 |  5                  fontdata.s    369 | Data        | 11 |         |    2 | 00/25C2 : 3C 3C       |                          HEX     3C3C                 
 1165 |  5                  fontdata.s    370 | Data        | 11 |         |    2 | 00/25C4 : F0 3F       |                          HEX     F03F                 
 1166 |  5                  fontdata.s    371 | Data        | 11 |         |    2 | 00/25C6 : 00 00       |                          HEX     0000                 
 1167 |  5                  fontdata.s    372 | Comment     | 11 |         |    0 | 00/25C8               | * glyph 40: 'H' ($48)
 1168 |  5                  fontdata.s    373 | Data        | 11 |         |    2 | 00/25C8 : 0F 3C       |                          HEX     0F3C                 
 1169 |  5                  fontdata.s    374 | Data        | 11 |         |    2 | 00/25CA : 0F 3C       |                          HEX     0F3C                 
 1170 |  5                  fontdata.s    375 | Data        | 11 |         |    2 | 00/25CC : 0F 3C       |                          HEX     0F3C                 
 1171 |  5                  fontdata.s    376 | Data        | 11 |         |    2 | 00/25CE : FF 3F       |                          HEX     FF3F                 
 1172 |  5                  fontdata.s    377 | Data        | 11 |         |    2 | 00/25D0 : 0F 3C       |                          HEX     0F3C                 
 1173 |  5                  fontdata.s    378 | Data        | 11 |         |    2 | 00/25D2 : 0F 3C       |                          HEX     0F3C                 
 1174 |  5                  fontdata.s    379 | Data        | 11 |         |    2 | 00/25D4 : 0F 3C       |                          HEX     0F3C                 
 1175 |  5                  fontdata.s    380 | Data        | 11 |         |    2 | 00/25D6 : 00 00       |                          HEX     0000                 
 1176 |  5                  fontdata.s    381 | Comment     | 11 |         |    0 | 00/25D8               | * glyph 41: 'I' ($49)
 1177 |  5                  fontdata.s    382 | Data        | 11 |         |    2 | 00/25D8 : FF 0F       |                          HEX     FF0F                 
 1178 |  5                  fontdata.s    383 | Data        | 11 |         |    2 | 00/25DA : F0 00       |                          HEX     F000                 
 1179 |  5                  fontdata.s    384 | Data        | 11 |         |    2 | 00/25DC : F0 00       |                          HEX     F000                 
 1180 |  5                  fontdata.s    385 | Data        | 11 |         |    2 | 00/25DE : F0 00       |                          HEX     F000                 
 1181 |  5                  fontdata.s    386 | Data        | 11 |         |    2 | 00/25E0 : F0 00       |                          HEX     F000                 
 1182 |  5                  fontdata.s    387 | Data        | 11 |         |    2 | 00/25E2 : F0 00       |                          HEX     F000                 
 1183 |  5                  fontdata.s    388 | Data        | 11 |         |    2 | 00/25E4 : FF 0F       |                          HEX     FF0F                 
 1184 |  5                  fontdata.s    389 | Data        | 11 |         |    2 | 00/25E6 : 00 00       |                          HEX     0000                 
 1185 |  5                  fontdata.s    390 | Comment     | 11 |         |    0 | 00/25E8               | * glyph 42: 'J' ($4A)
 1186 |  5                  fontdata.s    391 | Data        | 11 |         |    2 | 00/25E8 : 00 3C       |                          HEX     003C                 
 1187 |  5                  fontdata.s    392 | Data        | 11 |         |    2 | 00/25EA : 00 3C       |                          HEX     003C                 
 1188 |  5                  fontdata.s    393 | Data        | 11 |         |    2 | 00/25EC : 00 3C       |                          HEX     003C                 
 1189 |  5                  fontdata.s    394 | Data        | 11 |         |    2 | 00/25EE : 00 3C       |                          HEX     003C                 
 1190 |  5                  fontdata.s    395 | Data        | 11 |         |    2 | 00/25F0 : 00 3C       |                          HEX     003C                 
 1191 |  5                  fontdata.s    396 | Data        | 11 |         |    2 | 00/25F2 : 0F 3C       |                          HEX     0F3C                 
 1192 |  5                  fontdata.s    397 | Data        | 11 |         |    2 | 00/25F4 : FC 0F       |                          HEX     FC0F                 
 1193 |  5                  fontdata.s    398 | Data        | 11 |         |    2 | 00/25F6 : 00 00       |                          HEX     0000                 
 1194 |  5                  fontdata.s    399 | Comment     | 11 |         |    0 | 00/25F8               | * glyph 43: 'K' ($4B)
 1195 |  5                  fontdata.s    400 | Data        | 11 |         |    2 | 00/25F8 : 0F 3C       |                          HEX     0F3C                 
 1196 |  5                  fontdata.s    401 | Data        | 11 |         |    2 | 00/25FA : 0F 0F       |                          HEX     0F0F                 
 1197 |  5                  fontdata.s    402 | Data        | 11 |         |    2 | 00/25FC : CF 03       |                          HEX     CF03                 
 1198 |  5                  fontdata.s    403 | Data        | 11 |         |    2 | 00/25FE : FF 00       |                          HEX     FF00                 
 1199 |  5                  fontdata.s    404 | Data        | 11 |         |    2 | 00/2600 : FF 03       |                          HEX     FF03                 
 1200 |  5                  fontdata.s    405 | Data        | 11 |         |    2 | 00/2602 : CF 0F       |                          HEX     CF0F                 
 1201 |  5                  fontdata.s    406 | Data        | 11 |         |    2 | 00/2604 : 0F 3F       |                          HEX     0F3F                 
 1202 |  5                  fontdata.s    407 | Data        | 11 |         |    2 | 00/2606 : 00 00       |                          HEX     0000                 
 1203 |  5                  fontdata.s    408 | Comment     | 11 |         |    0 | 00/2608               | * glyph 44: 'L' ($4C)
 1204 |  5                  fontdata.s    409 | Data        | 11 |         |    2 | 00/2608 : 0F 00       |                          HEX     0F00                 
 1205 |  5                  fontdata.s    410 | Data        | 11 |         |    2 | 00/260A : 0F 00       |                          HEX     0F00                 
 1206 |  5                  fontdata.s    411 | Data        | 11 |         |    2 | 00/260C : 0F 00       |                          HEX     0F00                 
 1207 |  5                  fontdata.s    412 | Data        | 11 |         |    2 | 00/260E : 0F 00       |                          HEX     0F00                 
 1208 |  5                  fontdata.s    413 | Data        | 11 |         |    2 | 00/2610 : 0F 00       |                          HEX     0F00                 
 1209 |  5                  fontdata.s    414 | Data        | 11 |         |    2 | 00/2612 : 0F 00       |                          HEX     0F00                 
 1210 |  5                  fontdata.s    415 | Data        | 11 |         |    2 | 00/2614 : FF 3F       |                          HEX     FF3F                 
 1211 |  5                  fontdata.s    416 | Data        | 11 |         |    2 | 00/2616 : 00 00       |                          HEX     0000                 
 1212 |  5                  fontdata.s    417 | Comment     | 11 |         |    0 | 00/2618               | * glyph 45: 'M' ($4D)
 1213 |  5                  fontdata.s    418 | Data        | 11 |         |    2 | 00/2618 : 0F 3C       |                          HEX     0F3C                 
 1214 |  5                  fontdata.s    419 | Data        | 11 |         |    2 | 00/261A : 3F 3F       |                          HEX     3F3F                 
 1215 |  5                  fontdata.s    420 | Data        | 11 |         |    2 | 00/261C : FF 3F       |                          HEX     FF3F                 
 1216 |  5                  fontdata.s    421 | Data        | 11 |         |    2 | 00/261E : FF 3F       |                          HEX     FF3F                 
 1217 |  5                  fontdata.s    422 | Data        | 11 |         |    2 | 00/2620 : CF 3C       |                          HEX     CF3C                 
 1218 |  5                  fontdata.s    423 | Data        | 11 |         |    2 | 00/2622 : 0F 3C       |                          HEX     0F3C                 
 1219 |  5                  fontdata.s    424 | Data        | 11 |         |    2 | 00/2624 : 0F 3C       |                          HEX     0F3C                 
 1220 |  5                  fontdata.s    425 | Data        | 11 |         |    2 | 00/2626 : 00 00       |                          HEX     0000                 
 1221 |  5                  fontdata.s    426 | Comment     | 11 |         |    0 | 00/2628               | * glyph 46: 'N' ($4E)
 1222 |  5                  fontdata.s    427 | Data        | 11 |         |    2 | 00/2628 : 0F 3C       |                          HEX     0F3C                 
 1223 |  5                  fontdata.s    428 | Data        | 11 |         |    2 | 00/262A : 3F 3C       |                          HEX     3F3C                 
 1224 |  5                  fontdata.s    429 | Data        | 11 |         |    2 | 00/262C : FF 3C       |                          HEX     FF3C                 
 1225 |  5                  fontdata.s    430 | Data        | 11 |         |    2 | 00/262E : FF 3F       |                          HEX     FF3F                 
 1226 |  5                  fontdata.s    431 | Data        | 11 |         |    2 | 00/2630 : CF 3F       |                          HEX     CF3F                 
 1227 |  5                  fontdata.s    432 | Data        | 11 |         |    2 | 00/2632 : 0F 3F       |                          HEX     0F3F                 
 1228 |  5                  fontdata.s    433 | Data        | 11 |         |    2 | 00/2634 : 0F 3C       |                          HEX     0F3C                 
 1229 |  5                  fontdata.s    434 | Data        | 11 |         |    2 | 00/2636 : 00 00       |                          HEX     0000                 
 1230 |  5                  fontdata.s    435 | Comment     | 11 |         |    0 | 00/2638               | * glyph 47: 'O' ($4F)
 1231 |  5                  fontdata.s    436 | Data        | 11 |         |    2 | 00/2638 : FC 0F       |                          HEX     FC0F                 
 1232 |  5                  fontdata.s    437 | Data        | 11 |         |    2 | 00/263A : 0F 3C       |                          HEX     0F3C                 
 1233 |  5                  fontdata.s    438 | Data        | 11 |         |    2 | 00/263C : 0F 3C       |                          HEX     0F3C                 
 1234 |  5                  fontdata.s    439 | Data        | 11 |         |    2 | 00/263E : 0F 3C       |                          HEX     0F3C                 
 1235 |  5                  fontdata.s    440 | Data        | 11 |         |    2 | 00/2640 : 0F 3C       |                          HEX     0F3C                 
 1236 |  5                  fontdata.s    441 | Data        | 11 |         |    2 | 00/2642 : 0F 3C       |                          HEX     0F3C                 
 1237 |  5                  fontdata.s    442 | Data        | 11 |         |    2 | 00/2644 : FC 0F       |                          HEX     FC0F                 
 1238 |  5                  fontdata.s    443 | Data        | 11 |         |    2 | 00/2646 : 00 00       |                          HEX     0000                 
 1239 |  5                  fontdata.s    444 | Comment     | 11 |         |    0 | 00/2648               | * glyph 48: 'P' ($50)
 1240 |  5                  fontdata.s    445 | Data        | 11 |         |    2 | 00/2648 : FF 0F       |                          HEX     FF0F                 
 1241 |  5                  fontdata.s    446 | Data        | 11 |         |    2 | 00/264A : 0F 3C       |                          HEX     0F3C                 
 1242 |  5                  fontdata.s    447 | Data        | 11 |         |    2 | 00/264C : 0F 3C       |                          HEX     0F3C                 
 1243 |  5                  fontdata.s    448 | Data        | 11 |         |    2 | 00/264E : 0F 3C       |                          HEX     0F3C                 
 1244 |  5                  fontdata.s    449 | Data        | 11 |         |    2 | 00/2650 : FF 0F       |                          HEX     FF0F                 
 1245 |  5                  fontdata.s    450 | Data        | 11 |         |    2 | 00/2652 : 0F 00       |                          HEX     0F00                 
 1246 |  5                  fontdata.s    451 | Data        | 11 |         |    2 | 00/2654 : 0F 00       |                          HEX     0F00                 
 1247 |  5                  fontdata.s    452 | Data        | 11 |         |    2 | 00/2656 : 00 00       |                          HEX     0000                 
 1248 |  5                  fontdata.s    453 | Comment     | 11 |         |    0 | 00/2658               | * glyph 49: 'Q' ($51)
 1249 |  5                  fontdata.s    454 | Data        | 11 |         |    2 | 00/2658 : FC 0F       |                          HEX     FC0F                 
 1250 |  5                  fontdata.s    455 | Data        | 11 |         |    2 | 00/265A : 0F 3C       |                          HEX     0F3C                 
 1251 |  5                  fontdata.s    456 | Data        | 11 |         |    2 | 00/265C : 0F 3C       |                          HEX     0F3C                 
 1252 |  5                  fontdata.s    457 | Data        | 11 |         |    2 | 00/265E : 0F 3C       |                          HEX     0F3C                 
 1253 |  5                  fontdata.s    458 | Data        | 11 |         |    2 | 00/2660 : CF 3F       |                          HEX     CF3F                 
 1254 |  5                  fontdata.s    459 | Data        | 11 |         |    2 | 00/2662 : 0F 0F       |                          HEX     0F0F                 
 1255 |  5                  fontdata.s    460 | Data        | 11 |         |    2 | 00/2664 : FC 33       |                          HEX     FC33                 
 1256 |  5                  fontdata.s    461 | Data        | 11 |         |    2 | 00/2666 : 00 00       |                          HEX     0000                 
 1257 |  5                  fontdata.s    462 | Comment     | 11 |         |    0 | 00/2668               | * glyph 50: 'R' ($52)
 1258 |  5                  fontdata.s    463 | Data        | 11 |         |    2 | 00/2668 : FF 0F       |                          HEX     FF0F                 
 1259 |  5                  fontdata.s    464 | Data        | 11 |         |    2 | 00/266A : 0F 3C       |                          HEX     0F3C                 
 1260 |  5                  fontdata.s    465 | Data        | 11 |         |    2 | 00/266C : 0F 3C       |                          HEX     0F3C                 
 1261 |  5                  fontdata.s    466 | Data        | 11 |         |    2 | 00/266E : 0F 3F       |                          HEX     0F3F                 
 1262 |  5                  fontdata.s    467 | Data        | 11 |         |    2 | 00/2670 : FF 03       |                          HEX     FF03                 
 1263 |  5                  fontdata.s    468 | Data        | 11 |         |    2 | 00/2672 : CF 0F       |                          HEX     CF0F                 
 1264 |  5                  fontdata.s    469 | Data        | 11 |         |    2 | 00/2674 : 0F 3F       |                          HEX     0F3F                 
 1265 |  5                  fontdata.s    470 | Data        | 11 |         |    2 | 00/2676 : 00 00       |                          HEX     0000                 
 1266 |  5                  fontdata.s    471 | Comment     | 11 |         |    0 | 00/2678               | * glyph 51: 'S' ($53)
 1267 |  5                  fontdata.s    472 | Data        | 11 |         |    2 | 00/2678 : FC 03       |                          HEX     FC03                 
 1268 |  5                  fontdata.s    473 | Data        | 11 |         |    2 | 00/267A : 0F 0F       |                          HEX     0F0F                 
 1269 |  5                  fontdata.s    474 | Data        | 11 |         |    2 | 00/267C : 0F 00       |                          HEX     0F00                 
 1270 |  5                  fontdata.s    475 | Data        | 11 |         |    2 | 00/267E : FC 0F       |                          HEX     FC0F                 
 1271 |  5                  fontdata.s    476 | Data        | 11 |         |    2 | 00/2680 : 00 3C       |                          HEX     003C                 
 1272 |  5                  fontdata.s    477 | Data        | 11 |         |    2 | 00/2682 : 0F 3C       |                          HEX     0F3C                 
 1273 |  5                  fontdata.s    478 | Data        | 11 |         |    2 | 00/2684 : FC 0F       |                          HEX     FC0F                 
 1274 |  5                  fontdata.s    479 | Data        | 11 |         |    2 | 00/2686 : 00 00       |                          HEX     0000                 
 1275 |  5                  fontdata.s    480 | Comment     | 11 |         |    0 | 00/2688               | * glyph 52: 'T' ($54)
 1276 |  5                  fontdata.s    481 | Data        | 11 |         |    2 | 00/2688 : FF 0F       |                          HEX     FF0F                 
 1277 |  5                  fontdata.s    482 | Data        | 11 |         |    2 | 00/268A : F0 00       |                          HEX     F000                 
 1278 |  5                  fontdata.s    483 | Data        | 11 |         |    2 | 00/268C : F0 00       |                          HEX     F000                 
 1279 |  5                  fontdata.s    484 | Data        | 11 |         |    2 | 00/268E : F0 00       |                          HEX     F000                 
 1280 |  5                  fontdata.s    485 | Data        | 11 |         |    2 | 00/2690 : F0 00       |                          HEX     F000                 
 1281 |  5                  fontdata.s    486 | Data        | 11 |         |    2 | 00/2692 : F0 00       |                          HEX     F000                 
 1282 |  5                  fontdata.s    487 | Data        | 11 |         |    2 | 00/2694 : F0 00       |                          HEX     F000                 
 1283 |  5                  fontdata.s    488 | Data        | 11 |         |    2 | 00/2696 : 00 00       |                          HEX     0000                 
 1284 |  5                  fontdata.s    489 | Comment     | 11 |         |    0 | 00/2698               | * glyph 53: 'U' ($55)
 1285 |  5                  fontdata.s    490 | Data        | 11 |         |    2 | 00/2698 : 0F 3C       |                          HEX     0F3C                 
 1286 |  5                  fontdata.s    491 | Data        | 11 |         |    2 | 00/269A : 0F 3C       |                          HEX     0F3C                 
 1287 |  5                  fontdata.s    492 | Data        | 11 |         |    2 | 00/269C : 0F 3C       |                          HEX     0F3C                 
 1288 |  5                  fontdata.s    493 | Data        | 11 |         |    2 | 00/269E : 0F 3C       |                          HEX     0F3C                 
 1289 |  5                  fontdata.s    494 | Data        | 11 |         |    2 | 00/26A0 : 0F 3C       |                          HEX     0F3C                 
 1290 |  5                  fontdata.s    495 | Data        | 11 |         |    2 | 00/26A2 : 0F 3C       |                          HEX     0F3C                 
 1291 |  5                  fontdata.s    496 | Data        | 11 |         |    2 | 00/26A4 : FC 0F       |                          HEX     FC0F                 
 1292 |  5                  fontdata.s    497 | Data        | 11 |         |    2 | 00/26A6 : 00 00       |                          HEX     0000                 
 1293 |  5                  fontdata.s    498 | Comment     | 11 |         |    0 | 00/26A8               | * glyph 54: 'V' ($56)
 1294 |  5                  fontdata.s    499 | Data        | 11 |         |    2 | 00/26A8 : 0F 3C       |                          HEX     0F3C                 
 1295 |  5                  fontdata.s    500 | Data        | 11 |         |    2 | 00/26AA : 0F 3C       |                          HEX     0F3C                 
 1296 |  5                  fontdata.s    501 | Data        | 11 |         |    2 | 00/26AC : 0F 3C       |                          HEX     0F3C                 
 1297 |  5                  fontdata.s    502 | Data        | 11 |         |    2 | 00/26AE : 3F 3F       |                          HEX     3F3F                 
 1298 |  5                  fontdata.s    503 | Data        | 11 |         |    2 | 00/26B0 : FC 0F       |                          HEX     FC0F                 
 1299 |  5                  fontdata.s    504 | Data        | 11 |         |    2 | 00/26B2 : F0 03       |                          HEX     F003                 
 1300 |  5                  fontdata.s    505 | Data        | 11 |         |    2 | 00/26B4 : C0 00       |                          HEX     C000                 
 1301 |  5                  fontdata.s    506 | Data        | 11 |         |    2 | 00/26B6 : 00 00       |                          HEX     0000                 
 1302 |  5                  fontdata.s    507 | Comment     | 11 |         |    0 | 00/26B8               | * glyph 55: 'W' ($57)
 1303 |  5                  fontdata.s    508 | Data        | 11 |         |    2 | 00/26B8 : 0F 3C       |                          HEX     0F3C                 
 1304 |  5                  fontdata.s    509 | Data        | 11 |         |    2 | 00/26BA : 0F 3C       |                          HEX     0F3C                 
 1305 |  5                  fontdata.s    510 | Data        | 11 |         |    2 | 00/26BC : CF 3C       |                          HEX     CF3C                 
 1306 |  5                  fontdata.s    511 | Data        | 11 |         |    2 | 00/26BE : FF 3F       |                          HEX     FF3F                 
 1307 |  5                  fontdata.s    512 | Data        | 11 |         |    2 | 00/26C0 : FF 3F       |                          HEX     FF3F                 
 1308 |  5                  fontdata.s    513 | Data        | 11 |         |    2 | 00/26C2 : 3F 3F       |                          HEX     3F3F                 
 1309 |  5                  fontdata.s    514 | Data        | 11 |         |    2 | 00/26C4 : 0F 3C       |                          HEX     0F3C                 
 1310 |  5                  fontdata.s    515 | Data        | 11 |         |    2 | 00/26C6 : 00 00       |                          HEX     0000                 
 1311 |  5                  fontdata.s    516 | Comment     | 11 |         |    0 | 00/26C8               | * glyph 56: 'X' ($58)
 1312 |  5                  fontdata.s    517 | Data        | 11 |         |    2 | 00/26C8 : 0F 3C       |                          HEX     0F3C                 
 1313 |  5                  fontdata.s    518 | Data        | 11 |         |    2 | 00/26CA : 3F 3F       |                          HEX     3F3F                 
 1314 |  5                  fontdata.s    519 | Data        | 11 |         |    2 | 00/26CC : FC 0F       |                          HEX     FC0F                 
 1315 |  5                  fontdata.s    520 | Data        | 11 |         |    2 | 00/26CE : F0 03       |                          HEX     F003                 
 1316 |  5                  fontdata.s    521 | Data        | 11 |         |    2 | 00/26D0 : FC 0F       |                          HEX     FC0F                 
 1317 |  5                  fontdata.s    522 | Data        | 11 |         |    2 | 00/26D2 : 3F 3F       |                          HEX     3F3F                 
 1318 |  5                  fontdata.s    523 | Data        | 11 |         |    2 | 00/26D4 : 0F 3C       |                          HEX     0F3C                 
 1319 |  5                  fontdata.s    524 | Data        | 11 |         |    2 | 00/26D6 : 00 00       |                          HEX     0000                 
 1320 |  5                  fontdata.s    525 | Comment     | 11 |         |    0 | 00/26D8               | * glyph 57: 'Y' ($59)
 1321 |  5                  fontdata.s    526 | Data        | 11 |         |    2 | 00/26D8 : 3C 3C       |                          HEX     3C3C                 
 1322 |  5                  fontdata.s    527 | Data        | 11 |         |    2 | 00/26DA : 3C 3C       |                          HEX     3C3C                 
 1323 |  5                  fontdata.s    528 | Data        | 11 |         |    2 | 00/26DC : 3C 3C       |                          HEX     3C3C                 
 1324 |  5                  fontdata.s    529 | Data        | 11 |         |    2 | 00/26DE : F0 0F       |                          HEX     F00F                 
 1325 |  5                  fontdata.s    530 | Data        | 11 |         |    2 | 00/26E0 : C0 03       |                          HEX     C003                 
 1326 |  5                  fontdata.s    531 | Data        | 11 |         |    2 | 00/26E2 : C0 03       |                          HEX     C003                 
 1327 |  5                  fontdata.s    532 | Data        | 11 |         |    2 | 00/26E4 : C0 03       |                          HEX     C003                 
 1328 |  5                  fontdata.s    533 | Data        | 11 |         |    2 | 00/26E6 : 00 00       |                          HEX     0000                 
 1329 |  5                  fontdata.s    534 | Comment     | 11 |         |    0 | 00/26E8               | * glyph 58: 'Z' ($5A)
 1330 |  5                  fontdata.s    535 | Data        | 11 |         |    2 | 00/26E8 : FF 3F       |                          HEX     FF3F                 
 1331 |  5                  fontdata.s    536 | Data        | 11 |         |    2 | 00/26EA : 00 3F       |                          HEX     003F                 
 1332 |  5                  fontdata.s    537 | Data        | 11 |         |    2 | 00/26EC : C0 0F       |                          HEX     C00F                 
 1333 |  5                  fontdata.s    538 | Data        | 11 |         |    2 | 00/26EE : F0 03       |                          HEX     F003                 
 1334 |  5                  fontdata.s    539 | Data        | 11 |         |    2 | 00/26F0 : FC 00       |                          HEX     FC00                 
 1335 |  5                  fontdata.s    540 | Data        | 11 |         |    2 | 00/26F2 : 3F 00       |                          HEX     3F00                 
 1336 |  5                  fontdata.s    541 | Data        | 11 |         |    2 | 00/26F4 : FF 3F       |                          HEX     FF3F                 
 1337 |  5                  fontdata.s    542 | Data        | 11 |         |    2 | 00/26F6 : 00 00       |                          HEX     0000                 
 1338 |  5                  fontdata.s    543 | Comment     | 11 |         |    0 | 00/26F8               | * glyph 59: '[' ($5B)
 1339 |  5                  fontdata.s    544 | Data        | 11 |         |    2 | 00/26F8 : FC 0F       |                          HEX     FC0F                 
 1340 |  5                  fontdata.s    545 | Data        | 11 |         |    2 | 00/26FA : 3C 00       |                          HEX     3C00                 
 1341 |  5                  fontdata.s    546 | Data        | 11 |         |    2 | 00/26FC : 3C 00       |                          HEX     3C00                 
 1342 |  5                  fontdata.s    547 | Data        | 11 |         |    2 | 00/26FE : 3C 00       |                          HEX     3C00                 
 1343 |  5                  fontdata.s    548 | Data        | 11 |         |    2 | 00/2700 : 3C 00       |                          HEX     3C00                 
 1344 |  5                  fontdata.s    549 | Data        | 11 |         |    2 | 00/2702 : 3C 00       |                          HEX     3C00                 
 1345 |  5                  fontdata.s    550 | Data        | 11 |         |    2 | 00/2704 : FC 0F       |                          HEX     FC0F                 
 1346 |  5                  fontdata.s    551 | Data        | 11 |         |    2 | 00/2706 : 00 00       |                          HEX     0000                 
 1347 |  5                  fontdata.s    552 | Comment     | 11 |         |    0 | 00/2708               | * glyph 60: '\' ($5C)
 1348 |  5                  fontdata.s    553 | Data        | 11 |         |    2 | 00/2708 : 03 00       |                          HEX     0300                 
 1349 |  5                  fontdata.s    554 | Data        | 11 |         |    2 | 00/270A : 0C 00       |                          HEX     0C00                 
 1350 |  5                  fontdata.s    555 | Data        | 11 |         |    2 | 00/270C : 30 00       |                          HEX     3000                 
 1351 |  5                  fontdata.s    556 | Data        | 11 |         |    2 | 00/270E : C0 00       |                          HEX     C000                 
 1352 |  5                  fontdata.s    557 | Data        | 11 |         |    2 | 00/2710 : 00 03       |                          HEX     0003                 
 1353 |  5                  fontdata.s    558 | Data        | 11 |         |    2 | 00/2712 : 00 0C       |                          HEX     000C                 
 1354 |  5                  fontdata.s    559 | Data        | 11 |         |    2 | 00/2714 : 00 30       |                          HEX     0030                 
 1355 |  5                  fontdata.s    560 | Data        | 11 |         |    2 | 00/2716 : 00 00       |                          HEX     0000                 
 1356 |  5                  fontdata.s    561 | Comment     | 11 |         |    0 | 00/2718               | * glyph 61: ']' ($5D)
 1357 |  5                  fontdata.s    562 | Data        | 11 |         |    2 | 00/2718 : FC 0F       |                          HEX     FC0F                 
 1358 |  5                  fontdata.s    563 | Data        | 11 |         |    2 | 00/271A : 00 0F       |                          HEX     000F                 
 1359 |  5                  fontdata.s    564 | Data        | 11 |         |    2 | 00/271C : 00 0F       |                          HEX     000F                 
 1360 |  5                  fontdata.s    565 | Data        | 11 |         |    2 | 00/271E : 00 0F       |                          HEX     000F                 
 1361 |  5                  fontdata.s    566 | Data        | 11 |         |    2 | 00/2720 : 00 0F       |                          HEX     000F                 
 1362 |  5                  fontdata.s    567 | Data        | 11 |         |    2 | 00/2722 : 00 0F       |                          HEX     000F                 
 1363 |  5                  fontdata.s    568 | Data        | 11 |         |    2 | 00/2724 : FC 0F       |                          HEX     FC0F                 
 1364 |  5                  fontdata.s    569 | Data        | 11 |         |    2 | 00/2726 : 00 00       |                          HEX     0000                 
 1365 |  5                  fontdata.s    570 | Comment     | 11 |         |    0 | 00/2728               | * glyph 62: '^' ($5E)
 1366 |  5                  fontdata.s    571 | Data        | 11 |         |    2 | 00/2728 : 00 00       |                          HEX     0000                 
 1367 |  5                  fontdata.s    572 | Data        | 11 |         |    2 | 00/272A : C0 03       |                          HEX     C003                 
 1368 |  5                  fontdata.s    573 | Data        | 11 |         |    2 | 00/272C : F0 0F       |                          HEX     F00F                 
 1369 |  5                  fontdata.s    574 | Data        | 11 |         |    2 | 00/272E : 3C 3C       |                          HEX     3C3C                 
 1370 |  5                  fontdata.s    575 | Data        | 11 |         |    2 | 00/2730 : 00 00       |                          HEX     0000                 
 1371 |  5                  fontdata.s    576 | Data        | 11 |         |    2 | 00/2732 : 00 00       |                          HEX     0000                 
 1372 |  5                  fontdata.s    577 | Data        | 11 |         |    2 | 00/2734 : 00 00       |                          HEX     0000                 
 1373 |  5                  fontdata.s    578 | Data        | 11 |         |    2 | 00/2736 : 00 00       |                          HEX     0000                 
 1374 |  5                  fontdata.s    579 | Comment     | 11 |         |    0 | 00/2738               | * glyph 63: '_' ($5F)
 1375 |  5                  fontdata.s    580 | Data        | 11 |         |    2 | 00/2738 : 00 00       |                          HEX     0000                 
 1376 |  5                  fontdata.s    581 | Data        | 11 |         |    2 | 00/273A : 00 00       |                          HEX     0000                 
 1377 |  5                  fontdata.s    582 | Data        | 11 |         |    2 | 00/273C : 00 00       |                          HEX     0000                 
 1378 |  5                  fontdata.s    583 | Data        | 11 |         |    2 | 00/273E : 00 00       |                          HEX     0000                 
 1379 |  5                  fontdata.s    584 | Data        | 11 |         |    2 | 00/2740 : 00 00       |                          HEX     0000                 
 1380 |  5                  fontdata.s    585 | Data        | 11 |         |    2 | 00/2742 : 00 00       |                          HEX     0000                 
 1381 |  5                  fontdata.s    586 | Data        | 11 |         |    2 | 00/2744 : FF 3F       |                          HEX     FF3F                 
 1382 |  5                  fontdata.s    587 | Data        | 11 |         |    2 | 00/2746 : 00 00       |                          HEX     0000                 
 1383 |  5                  fontdata.s    588 | Empty       | 11 |         |    0 | 00/2748               |                                                       
 1384 |  5                  fontdata.s    589 | Empty       | 11 |         |    0 | 00/2748               |                                                       
 1385 |  1                    bagman.s     16 | Directive   | 11 |         |    0 | 00/2748               |                          PUT     spriteinit.s         
 1386 |  6                spriteinit.s      1 | Comment     | 11 |         |    0 | 00/2748               | *
 1387 |  6                spriteinit.s      2 | Comment     | 11 |         |    0 | 00/2748               | * Sprite init-only data (reclaimed after preshifting)
 1388 |  6                spriteinit.s      3 | Comment     | 11 |         |    0 | 00/2748               | * SpriteAtlas is decompressed at boot from SpriteAtlasCmp (spriteatlas_cmp.s)
 1389 |  6                spriteinit.s      4 | Comment     | 11 |         |    0 | 00/2748               | * into free low RAM ($1600). SprAddrL/H indexes into that buffer.
 1390 |  6                spriteinit.s      5 | Comment     | 11 |         |    0 | 00/2748               | *
 1391 |  6                spriteinit.s      6 | Empty       | 11 |         |    0 | 00/2748               |                                                       
 1392 |  6                spriteinit.s      7 | Equivalence | 11 |         |    0 | 00/2748               | SpriteAtlas              EQU     $1600                
 1393 |  6                spriteinit.s      8 | Empty       | 11 |         |    0 | 00/2748               |                                                       
 1394 |  6                spriteinit.s      9 | Comment     | 11 |         |    0 | 00/2748               | * Base sprite address in SpriteAtlas (main RAM)
 1395 |  6                spriteinit.s     10 | Empty       | 11 |         |    0 | 00/2748               | SprAddrL                                              
 1396 |  6                spriteinit.s     11 | Data        | 11 |         |    8 | 00/2748 : 00 30 60 90 |                          DFB     <{$1600}+0,<{$1600}+48,<{$1600}+96,<{$1600}+144,<{$1600}+192,<{$1600}+240,<{$1600}+288,<{$1600}+336
      |                                       |             |    |         |      |           C0 F0 20 50 |
 1397 |  6                spriteinit.s     12 | Data        | 11 |         |    8 | 00/2750 : 80 B0 E0 10 |                          DFB     <{$1600}+384,<{$1600}+432,<{$1600}+480,<{$1600}+528,<{$1600}+576,<{$1600}+624,<{$1600}+672,<{$1600}+720
      |                                       |             |    |         |      |           40 70 A0 D0 |
 1398 |  6                spriteinit.s     13 | Data        | 11 |         |    8 | 00/2758 : 00 30 60 90 |                          DFB     <{$1600}+768,<{$1600}+816,<{$1600}+864,<{$1600}+912,<{$1600}+960,<{$1600}+1008,<{$1600}+1056,<{$1600}+1104
      |                                       |             |    |         |      |           C0 F0 20 50 |
 1399 |  6                spriteinit.s     14 | Data        | 11 |         |    8 | 00/2760 : 80 B0 E0 10 |                          DFB     <{$1600}+1152,<{$1600}+1200,<{$1600}+1248,<{$1600}+1296,<{$1600}+1344,<{$1600}+1392,<{$1600}+1440,<{$1600}+1488
      |                                       |             |    |         |      |           40 70 A0 D0 |
 1400 |  6                spriteinit.s     15 | Data        | 11 |         |    8 | 00/2768 : 00 30 60 90 |                          DFB     <{$1600}+1536,<{$1600}+1584,<{$1600}+1632,<{$1600}+1680,<{$1600}+1728,<{$1600}+1776,<{$1600}+1824,<{$1600}+1872
      |                                       |             |    |         |      |           C0 F0 20 50 |
 1401 |  6                spriteinit.s     16 | Data        | 11 |         |    8 | 00/2770 : 80 B0 E0 10 |                          DFB     <{$1600}+1920,<{$1600}+1968,<{$1600}+2016,<{$1600}+2064,<{$1600}+2112,<{$1600}+2160,<{$1600}+2208,<{$1600}+2256
      |                                       |             |    |         |      |           40 70 A0 D0 |
 1402 |  6                spriteinit.s     17 | Data        | 11 |         |    1 | 00/2778 : 00          |                          DFB     <{$1600}+2304        
 1403 |  6                spriteinit.s     18 | Empty       | 11 |         |    0 | 00/2779               |                                                       
 1404 |  6                spriteinit.s     19 | Empty       | 11 |         |    0 | 00/2779               | SprAddrH                                              
 1405 |  6                spriteinit.s     20 | Data        | 11 |         |    8 | 00/2779 : 16 16 16 16 |                          DFB     >{$1600}+0,>{$1600}+48,>{$1600}+96,>{$1600}+144,>{$1600}+192,>{$1600}+240,>{$1600}+288,>{$1600}+336
      |                                       |             |    |         |      |           16 16 17 17 |
 1406 |  6                spriteinit.s     21 | Data        | 11 |         |    8 | 00/2781 : 17 17 17 18 |                          DFB     >{$1600}+384,>{$1600}+432,>{$1600}+480,>{$1600}+528,>{$1600}+576,>{$1600}+624,>{$1600}+672,>{$1600}+720
      |                                       |             |    |         |      |           18 18 18 18 |
 1407 |  6                spriteinit.s     22 | Data        | 11 |         |    8 | 00/2789 : 19 19 19 19 |                          DFB     >{$1600}+768,>{$1600}+816,>{$1600}+864,>{$1600}+912,>{$1600}+960,>{$1600}+1008,>{$1600}+1056,>{$1600}+1104
      |                                       |             |    |         |      |           19 19 1A 1A |
 1408 |  6                spriteinit.s     23 | Data        | 11 |         |    8 | 00/2791 : 1A 1A 1A 1B |                          DFB     >{$1600}+1152,>{$1600}+1200,>{$1600}+1248,>{$1600}+1296,>{$1600}+1344,>{$1600}+1392,>{$1600}+1440,>{$1600}+1488
      |                                       |             |    |         |      |           1B 1B 1B 1B |
 1409 |  6                spriteinit.s     24 | Data        | 11 |         |    8 | 00/2799 : 1C 1C 1C 1C |                          DFB     >{$1600}+1536,>{$1600}+1584,>{$1600}+1632,>{$1600}+1680,>{$1600}+1728,>{$1600}+1776,>{$1600}+1824,>{$1600}+1872
      |                                       |             |    |         |      |           1C 1C 1D 1D |
 1410 |  6                spriteinit.s     25 | Data        | 11 |         |    8 | 00/27A1 : 1D 1D 1D 1E |                          DFB     >{$1600}+1920,>{$1600}+1968,>{$1600}+2016,>{$1600}+2064,>{$1600}+2112,>{$1600}+2160,>{$1600}+2208,>{$1600}+2256
      |                                       |             |    |         |      |           1E 1E 1E 1E |
 1411 |  6                spriteinit.s     26 | Data        | 11 |         |    1 | 00/27A9 : 1F          |                          DFB     >{$1600}+2304        
 1412 |  6                spriteinit.s     27 | Empty       | 11 |         |    0 | 00/27AA               |                                                       
 1413 |  6                spriteinit.s     28 | Comment     | 11 |         |    0 | 00/27AA               | * Aux destination addresses (runtime copy of SprAuxAddr)
 1414 |  6                spriteinit.s     29 | Empty       | 11 |         |    0 | 00/27AA               | ISprAuxAdL                                            
 1415 |  6                spriteinit.s     30 | Data        | 11 |         |    8 | 00/27AA : 00 A0 40 E0 |                          DFB     $00,$A0,$40,$E0,$80,$20,$C0,$60
      |                                       |             |    |         |      |           80 20 C0 60 |
 1416 |  6                spriteinit.s     31 | Data        | 11 |         |    8 | 00/27B2 : 00 00 A0 40 |                          DFB     $00,$00,$A0,$40,$E0,$80,$20,$C0
      |                                       |             |    |         |      |           E0 80 20 C0 |
 1417 |  6                spriteinit.s     32 | Data        | 11 |         |    8 | 00/27BA : 60 00 00 00 |                          DFB     $60,$00,$00,$00,$00,$A0,$40,$E0
      |                                       |             |    |         |      |           00 A0 40 E0 |
 1418 |  6                spriteinit.s     33 | Data        | 11 |         |    8 | 00/27C2 : 80 E0 80 20 |                          DFB     $80,$E0,$80,$20,$C0,$60,$00,$60
      |                                       |             |    |         |      |           C0 60 00 60 |
 1419 |  6                spriteinit.s     34 | Data        | 11 |         |    8 | 00/27CA : 00 A0 40 E0 |                          DFB     $00,$A0,$40,$E0,$80,$20,$C0,$60
      |                                       |             |    |         |      |           80 20 C0 60 |
 1420 |  6                spriteinit.s     35 | Data        | 11 |         |    8 | 00/27D2 : 00 A0 00 00 |                          DFB     $00,$A0,$00,$00,$40,$E0,$80,$20
      |                                       |             |    |         |      |           40 E0 80 20 |
 1421 |  6                spriteinit.s     36 | Data        | 11 |         |    1 | 00/27DA : C0          |                          DFB     $C0                  
 1422 |  6                spriteinit.s     37 | Empty       | 11 |         |    0 | 00/27DB               | ISprAuxAdH                                            
 1423 |  6                spriteinit.s     38 | Data        | 11 |         |    8 | 00/27DB : 08 0A 0D 0F |                          DFB     $08,$0A,$0D,$0F,$12,$15,$17,$1A
      |                                       |             |    |         |      |           12 15 17 1A |
 1424 |  6                spriteinit.s     39 | Data        | 11 |         |    8 | 00/27E3 : 1D 60 62 65 |                          DFB     $1D,$60,$62,$65,$67,$6A,$6D,$6F
      |                                       |             |    |         |      |           67 6A 6D 6F |
 1425 |  6                spriteinit.s     40 | Data        | 11 |         |    8 | 00/27EB : 72 00 00 00 |                          DFB     $72,$00,$00,$00,$75,$77,$7A,$7C
      |                                       |             |    |         |      |           75 77 7A 7C |
 1426 |  6                spriteinit.s     41 | Data        | 11 |         |    8 | 00/27F3 : 7F 7F 82 85 |                          DFB     $7F,$7F,$82,$85,$87,$8A,$8D,$8D
      |                                       |             |    |         |      |           87 8A 8D 8D |
 1427 |  6                spriteinit.s     42 | Data        | 11 |         |    8 | 00/27FB : 90 92 95 97 |                          DFB     $90,$92,$95,$97,$9A,$9D,$9F,$A2
      |                                       |             |    |         |      |           9A 9D 9F A2 |
 1428 |  6                spriteinit.s     43 | Data        | 11 |         |    8 | 00/2803 : A5 A7 00 00 |                          DFB     $A5,$A7,$00,$00,$AA,$AC,$AF,$B2
      |                                       |             |    |         |      |           AA AC AF B2 |
 1429 |  6                spriteinit.s     44 | Data        | 11 |         |    1 | 00/280B : B4          |                          DFB     $B4                  
 1430 |  6                spriteinit.s     45 | Empty       | 11 |         |    0 | 00/280C               |                                                       
 1431 |  6                spriteinit.s     46 | Comment     | 11 |         |    0 | 00/280C               | * Compressed mask destination addresses (runtime copy of CmpMaskAddr)
 1432 |  6                spriteinit.s     47 | Empty       | 11 |         |    0 | 00/280C               | ICmpMaskAdL                                           
 1433 |  6                spriteinit.s     48 | Data        | 11 |         |    8 | 00/280C : 60 6C 78 84 |                          DFB     $60,$6C,$78,$84,$90,$9C,$A8,$B4
      |                                       |             |    |         |      |           90 9C A8 B4 |
 1434 |  6                spriteinit.s     49 | Data        | 11 |         |    8 | 00/2814 : C0 CC D8 E4 |                          DFB     $C0,$CC,$D8,$E4,$F0,$FC,$08,$14
      |                                       |             |    |         |      |           F0 FC 08 14 |
 1435 |  6                spriteinit.s     50 | Data        | 11 |         |    8 | 00/281C : 20 00 00 00 |                          DFB     $20,$00,$00,$00,$2C,$38,$44,$50
      |                                       |             |    |         |      |           2C 38 44 50 |
 1436 |  6                spriteinit.s     51 | Data        | 11 |         |    8 | 00/2824 : 00 5C 68 74 |                          DFB     $00,$5C,$68,$74,$80,$8C,$00,$98
      |                                       |             |    |         |      |           80 8C 00 98 |
 1437 |  6                spriteinit.s     52 | Data        | 11 |         |    8 | 00/282C : A4 B0 BC C8 |                          DFB     $A4,$B0,$BC,$C8,$D4,$E0,$EC,$F8
      |                                       |             |    |         |      |           D4 E0 EC F8 |
 1438 |  6                spriteinit.s     53 | Data        | 11 |         |    8 | 00/2834 : 04 10 00 00 |                          DFB     $04,$10,$00,$00,$1C,$28,$34,$40
      |                                       |             |    |         |      |           1C 28 34 40 |
 1439 |  6                spriteinit.s     54 | Data        | 11 |         |    1 | 00/283C : 4C          |                          DFB     $4C                  
 1440 |  6                spriteinit.s     55 | Empty       | 11 |         |    0 | 00/283D               | ICmpMaskAdH                                           
 1441 |  6                spriteinit.s     56 | Data        | 11 |         |    8 | 00/283D : B7 B7 B7 B7 |                          DFB     $B7,$B7,$B7,$B7,$B7,$B7,$B7,$B7
      |                                       |             |    |         |      |           B7 B7 B7 B7 |
 1442 |  6                spriteinit.s     57 | Data        | 11 |         |    8 | 00/2845 : B7 B7 B7 B7 |                          DFB     $B7,$B7,$B7,$B7,$B7,$B7,$B8,$B8
      |                                       |             |    |         |      |           B7 B7 B8 B8 |
 1443 |  6                spriteinit.s     58 | Data        | 11 |         |    8 | 00/284D : B8 00 00 00 |                          DFB     $B8,$00,$00,$00,$B8,$B8,$B8,$B8
      |                                       |             |    |         |      |           B8 B8 B8 B8 |
 1444 |  6                spriteinit.s     59 | Data        | 11 |         |    8 | 00/2855 : 00 B8 B8 B8 |                          DFB     $00,$B8,$B8,$B8,$B8,$B8,$00,$B8
      |                                       |             |    |         |      |           B8 B8 00 B8 |
 1445 |  6                spriteinit.s     60 | Data        | 11 |         |    8 | 00/285D : B8 B8 B8 B8 |                          DFB     $B8,$B8,$B8,$B8,$B8,$B8,$B8,$B8
      |                                       |             |    |         |      |           B8 B8 B8 B8 |
 1446 |  6                spriteinit.s     61 | Data        | 11 |         |    8 | 00/2865 : B9 B9 00 00 |                          DFB     $B9,$B9,$00,$00,$B9,$B9,$B9,$B9
      |                                       |             |    |         |      |           B9 B9 B9 B9 |
 1447 |  6                spriteinit.s     62 | Data        | 11 |         |    1 | 00/286D : B9          |                          DFB     $B9                  
 1448 |  6                spriteinit.s     63 | Empty       | 11 |         |    0 | 00/286E               |                                                       
 1449 |  6                spriteinit.s     64 | Comment     | 11 |         |    0 | 00/286E               | * Per-frame kind: $00=full, $01=compact, $FF=unused
 1450 |  6                spriteinit.s     65 | Empty       | 11 |         |    0 | 00/286E               | SprKind                                               
 1451 |  6                spriteinit.s     66 | Data        | 11 |         |    8 | 00/286E : 00 00 00 00 |                          DFB     $00,$00,$00,$00,$00,$00,$00,$00
      |                                       |             |    |         |      |           00 00 00 00 |
 1452 |  6                spriteinit.s     67 | Data        | 11 |         |    8 | 00/2876 : 00 00 00 00 |                          DFB     $00,$00,$00,$00,$00,$00,$00,$00
      |                                       |             |    |         |      |           00 00 00 00 |
 1453 |  6                spriteinit.s     68 | Data        | 11 |         |    8 | 00/287E : 00 FF FF FF |                          DFB     $00,$FF,$FF,$FF,$00,$00,$00,$00
      |                                       |             |    |         |      |           00 00 00 00 |
 1454 |  6                spriteinit.s     69 | Data        | 11 |         |    8 | 00/2886 : 01 00 00 00 |                          DFB     $01,$00,$00,$00,$00,$00,$01,$00
      |                                       |             |    |         |      |           00 00 01 00 |
 1455 |  6                spriteinit.s     70 | Data        | 11 |         |    8 | 00/288E : 00 00 00 00 |                          DFB     $00,$00,$00,$00,$00,$00,$00,$00
      |                                       |             |    |         |      |           00 00 00 00 |
 1456 |  6                spriteinit.s     71 | Data        | 11 |         |    8 | 00/2896 : 00 00 FF FF |                          DFB     $00,$00,$FF,$FF,$00,$00,$00,$00
      |                                       |             |    |         |      |           00 00 00 00 |
 1457 |  6                spriteinit.s     72 | Data        | 11 |         |    1 | 00/289E : 00          |                          DFB     $00                  
 1458 |  6                spriteinit.s     73 | Empty       | 11 |         |    0 | 00/289F               |                                                       
 1459 |  6                spriteinit.s     74 | Empty       | 11 |         |    0 | 00/289F               |                                                       
 1460 |  1                    bagman.s     17 | Empty       | 11 |         |    0 | 00/289F               | SpriteAtlasCmp                                        
 1461 |  1                    bagman.s     18 | Directive   | 11 |         |    0 | 00/289F               |                          PUTBIN  ../assets/spriteatlas.lzsa2
 1462 |  7 ../assets/spriteatlas.lzsa2      1 | Data        | 11 |         |   16 | 00/289F : 09 00 F0 39 |                          HEX     09,00,F0,39,90,B3,82,E9,E9,83,08,B7,30,BA,83,E4
      |                                       |             |    |         |      |           90 B3 82 E9 |
      |                                       |             |    |         |      |           E9 83 08 B7 |
      |                                       |             |    |         |      |           30 BA 83 E4 |
 1463 |  7 ../assets/spriteatlas.lzsa2      2 | Data        | 11 |         |   16 | 00/28AF : E9 B2 31 7F |                          HEX     E9,B2,31,7F,03,F9,26,A6,00,60,BF,B7,F8,B6,00,60
      |                                       |             |    |         |      |           03 F9 26 A6 |
      |                                       |             |    |         |      |           00 60 BF B7 |
      |                                       |             |    |         |      |           F8 B6 00 60 |
 1464 |  7 ../assets/spriteatlas.lzsa2      3 | Data        | 11 |         |   16 | 00/28BF : 7F 7F 00 D0 |                          HEX     7F,7F,00,D0,9B,B4,47,D0,E8,F9,40,7F,F7,86,9D,B3
      |                                       |             |    |         |      |           9B B4 47 D0 |
      |                                       |             |    |         |      |           E8 F9 40 7F |
      |                                       |             |    |         |      |           F7 86 9D B3 |
 1465 |  7 ../assets/spriteatlas.lzsa2      4 | Data        | 11 |         |   16 | 00/28CF : C2 86 FD 7F |                          HEX     C2,86,FD,7F,01,5A,5E,E6,86,78,7F,FF,86,DD,81,D1
      |                                       |             |    |         |      |           01 5A 5E E6 |
      |                                       |             |    |         |      |           86 78 7F FF |
      |                                       |             |    |         |      |           86 DD 81 D1 |
 1466 |  7 ../assets/spriteatlas.lzsa2      5 | Data        | 11 |         |   16 | 00/28DF : 25 F1 B2 A6 |                          HEX     25,F1,B2,A6,E9,B6,50,F7,86,9C,40,98,F0,8D,A0,40
      |                                       |             |    |         |      |           E9 B6 50 F7 |
      |                                       |             |    |         |      |           86 9C 40 98 |
      |                                       |             |    |         |      |           F0 8D A0 40 |
 1467 |  7 ../assets/spriteatlas.lzsa2      6 | Data        | 11 |         |   16 | 00/28EF : D4 F2 C3 86 |                          HEX     D4,F2,C3,86,20,C0,50,1F,00,C4,21,51,A0,B7,D4,F0
      |                                       |             |    |         |      |           20 C0 50 1F |
      |                                       |             |    |         |      |           00 C4 21 51 |
      |                                       |             |    |         |      |           A0 B7 D4 F0 |
 1468 |  7 ../assets/spriteatlas.lzsa2      7 | Data        | 11 |         |   16 | 00/28FF : C0 86 2A C2 |                          HEX     C0,86,2A,C2,EC,E9,84,48,07,D4,51,C3,84,B0,51,84
      |                                       |             |    |         |      |           EC E9 84 48 |
      |                                       |             |    |         |      |           07 D4 51 C3 |
      |                                       |             |    |         |      |           84 B0 51 84 |
 1469 |  7 ../assets/spriteatlas.lzsa2      8 | Data        | 11 |         |   16 | 00/290F : 7C 80 22 41 |                          HEX     7C,80,22,41,78,52,03,40,B4,53,1F,00,54,49,D0,9C
      |                                       |             |    |         |      |           78 52 03 40 |
      |                                       |             |    |         |      |           B4 53 1F 00 |
      |                                       |             |    |         |      |           54 49 D0 9C |
 1470 |  7 ../assets/spriteatlas.lzsa2      9 | Data        | 11 |         |   16 | 00/291F : 30 D0 A1 8E |                          HEX     30,D0,A1,8E,29,90,2B,78,CF,4B,B7,D8,48,40,D0,EA
      |                                       |             |    |         |      |           29 90 2B 78 |
      |                                       |             |    |         |      |           CF 4B B7 D8 |
      |                                       |             |    |         |      |           48 40 D0 EA |
 1471 |  7 ../assets/spriteatlas.lzsa2     10 | Data        | 11 |         |   16 | 00/292F : 0F E8 70 EB |                          HEX     0F,E8,70,EB,01,53,00,3E,A0,02,38,1E,80,A0,E6,04
      |                                       |             |    |         |      |           01 53 00 3E |
      |                                       |             |    |         |      |           A0 02 38 1E |
      |                                       |             |    |         |      |           80 A0 E6 04 |
 1472 |  7 ../assets/spriteatlas.lzsa2     11 | Data        | 11 |         |   16 | 00/293F : E8 E7 E8 BA |                          HEX     E8,E7,E8,BA,23,6D,59,A0,A7,00,50,7B,BF,86,D0,A1
      |                                       |             |    |         |      |           23 6D 59 A0 |
      |                                       |             |    |         |      |           A7 00 50 7B |
      |                                       |             |    |         |      |           BF 86 D0 A1 |
 1473 |  7 ../assets/spriteatlas.lzsa2     12 | Data        | 11 |         |   16 | 00/294F : E6 EC 80 60 |                          HEX     E6,EC,80,60,7D,6F,D0,98,48,50,40,F8,2E,C7,80,80
      |                                       |             |    |         |      |           7D 6F D0 98 |
      |                                       |             |    |         |      |           48 50 40 F8 |
      |                                       |             |    |         |      |           2E C7 80 80 |
 1474 |  7 ../assets/spriteatlas.lzsa2     13 | Data        | 11 |         |   16 | 00/295F : 40 6E 30 40 |                          HEX     40,6E,30,40,07,F1,C0,EC,28,84,CF,F4,7C,7F,F0,B4
      |                                       |             |    |         |      |           07 F1 C0 EC |
      |                                       |             |    |         |      |           28 84 CF F4 |
      |                                       |             |    |         |      |           7C 7F F0 B4 |
 1475 |  7 ../assets/spriteatlas.lzsa2     14 | Data        | 11 |         |   16 | 00/296F : E8 27 B6 47 |                          HEX     E8,27,B6,47,10,FA,42,BA,A6,00,50,BB,A7,80,E8,80
      |                                       |             |    |         |      |           10 FA 42 BA |
      |                                       |             |    |         |      |           A6 00 50 BB |
      |                                       |             |    |         |      |           A7 80 E8 80 |
 1476 |  7 ../assets/spriteatlas.lzsa2     15 | Data        | 11 |         |   16 | 00/297F : 5A 68 D0 61 |                          HEX     5A,68,D0,61,FF,EF,A4,7A,50,80,6E,7F,6F,80,B2,E6
      |                                       |             |    |         |      |           FF EF A4 7A |
      |                                       |             |    |         |      |           50 80 6E 7F |
      |                                       |             |    |         |      |           6F 80 B2 E6 |
 1477 |  7 ../assets/spriteatlas.lzsa2     16 | Data        | 11 |         |   16 | 00/298F : 6C 94 38 99 |                          HEX     6C,94,38,99,93,B4,EE,E9,9B,50,BB,BF,38,E8,BB,70
      |                                       |             |    |         |      |           93 B4 EE E9 |
      |                                       |             |    |         |      |           9B 50 BB BF |
      |                                       |             |    |         |      |           38 E8 BB 70 |
 1478 |  7 ../assets/spriteatlas.lzsa2     17 | Data        | 11 |         |   16 | 00/299F : D0 F3 88 6E |                          HEX     D0,F3,88,6E,70,84,50,7F,FF,88,30,B2,E6,F0,7E,C3
      |                                       |             |    |         |      |           70 84 50 7F |
      |                                       |             |    |         |      |           FF 88 30 B2 |
      |                                       |             |    |         |      |           E6 F0 7E C3 |
 1479 |  7 ../assets/spriteatlas.lzsa2     18 | Data        | 11 |         |   16 | 00/29AF : 71 A0 82 E0 |                          HEX     71,A0,82,E0,2B,83,EC,48,99,DC,41,D0,28,82,E8,FB
      |                                       |             |    |         |      |           2B 83 EC 48 |
      |                                       |             |    |         |      |           99 DC 41 D0 |
      |                                       |             |    |         |      |           28 82 E8 FB |
 1480 |  7 ../assets/spriteatlas.lzsa2     19 | Data        | 11 |         |   16 | 00/29BF : 39 2E D9 BF |                          HEX     39,2E,D9,BF,FE,EC,90,1F,1F,00,BE,BE,00,FE,14,70
      |                                       |             |    |         |      |           FE EC 90 1F |
      |                                       |             |    |         |      |           1F 00 BE BE |
      |                                       |             |    |         |      |           00 FE 14 70 |
 1481 |  7 ../assets/spriteatlas.lzsa2     20 | Data        | 11 |         |   16 | 00/29CF : CC 99 5B 22 |                          HEX     CC,99,5B,22,E8,C0,3E,90,86,0F,98,B3,78,BF,E6,CC
      |                                       |             |    |         |      |           E8 C0 3E 90 |
      |                                       |             |    |         |      |           86 0F 98 B3 |
      |                                       |             |    |         |      |           78 BF E6 CC |
 1482 |  7 ../assets/spriteatlas.lzsa2     21 | Data        | 11 |         |   16 | 00/29DF : F9 00 0F 78 |                          HEX     F9,00,0F,78,41,68,E9,00,E9,00,61,9C,21,C1,39,9C
      |                                       |             |    |         |      |           41 68 E9 00 |
      |                                       |             |    |         |      |           E9 00 61 9C |
      |                                       |             |    |         |      |           21 C1 39 9C |
 1483 |  7 ../assets/spriteatlas.lzsa2     22 | Data        | 11 |         |   16 | 00/29EF : F3 B7 E6 EF |                          HEX     F3,B7,E6,EF,43,D0,EE,1F,EB,1E,06,43,60,95,90,F3
      |                                       |             |    |         |      |           43 D0 EE 1F |
      |                                       |             |    |         |      |           EB 1E 06 43 |
      |                                       |             |    |         |      |           60 95 90 F3 |
 1484 |  7 ../assets/spriteatlas.lzsa2     23 | Data        | 11 |         |   16 | 00/29FF : FF B0 91 FB |                          HEX     FF,B0,91,FB,B7,C4,4B,82,38,48,70,5C,61,18,20,EC
      |                                       |             |    |         |      |           B7 C4 4B 82 |
      |                                       |             |    |         |      |           38 48 70 5C |
      |                                       |             |    |         |      |           61 18 20 EC |
 1485 |  7 ../assets/spriteatlas.lzsa2     24 | Data        | 11 |         |   16 | 00/2A0F : 60 C1 77 FF |                          HEX     60,C1,77,FF,86,C8,99,4F,9A,00,E8,40,BE,B7,E8,7C
      |                                       |             |    |         |      |           86 C8 99 4F |
      |                                       |             |    |         |      |           9A 00 E8 40 |
      |                                       |             |    |         |      |           BE B7 E8 7C |
 1486 |  7 ../assets/spriteatlas.lzsa2     25 | Data        | 11 |         |   16 | 00/2A1F : 48 C8 34 51 |                          HEX     48,C8,34,51,83,78,D4,49,CC,CC,E9,FC,6F,84,9E,FE
      |                                       |             |    |         |      |           83 78 D4 49 |
      |                                       |             |    |         |      |           CC CC E9 FC |
      |                                       |             |    |         |      |           6F 84 9E FE |
 1487 |  7 ../assets/spriteatlas.lzsa2     26 | Data        | 11 |         |   16 | 00/2A2F : 03 68 E8 04 |                          HEX     03,68,E8,04,23,78,61,C8,D9,BB,FE,FC,D9,FB,F7,CC
      |                                       |             |    |         |      |           23 78 61 C8 |
      |                                       |             |    |         |      |           D9 BB FE FC |
      |                                       |             |    |         |      |           D9 FB F7 CC |
 1488 |  7 ../assets/spriteatlas.lzsa2     27 | Data        | 11 |         |   16 | 00/2A3F : EC F8 F6 FC |                          HEX     EC,F8,F6,FC,10,00,48,38,86,28,00,CD,10,70,01,20
      |                                       |             |    |         |      |           10 00 48 38 |
      |                                       |             |    |         |      |           86 28 00 CD |
      |                                       |             |    |         |      |           10 70 01 20 |
 1489 |  7 ../assets/spriteatlas.lzsa2     28 | Data        | 11 |         |   16 | 00/2A4F : C9 00 47 D0 |                          HEX     C9,00,47,D0,FC,06,50,00,0C,CE,40,38,30,00,0E,10
      |                                       |             |    |         |      |           FC 06 50 00 |
      |                                       |             |    |         |      |           0C CE 40 38 |
      |                                       |             |    |         |      |           30 00 0E 10 |
 1490 |  7 ../assets/spriteatlas.lzsa2     29 | Data        | 11 |         |   16 | 00/2A5F : 00 1F EA 10 |                          HEX     00,1F,EA,10,02,0E,49,07,D0,EF,02,FF,02,07,F2,97
      |                                       |             |    |         |      |           02 0E 49 07 |
      |                                       |             |    |         |      |           D0 EF 02 FF |
      |                                       |             |    |         |      |           02 07 F2 97 |
 1491 |  7 ../assets/spriteatlas.lzsa2     30 | Data        | 11 |         |   16 | 00/2A6F : 38 80 91 A2 |                          HEX     38,80,91,A2,84,7F,EB,00,52,9E,C2,27,4F,03,D0,F7
      |                                       |             |    |         |      |           84 7F EB 00 |
      |                                       |             |    |         |      |           52 9E C2 27 |
      |                                       |             |    |         |      |           4F 03 D0 F7 |
 1492 |  7 ../assets/spriteatlas.lzsa2     31 | Data        | 11 |         |   16 | 00/2A7F : 0C F0 00 90 |                          HEX     0C,F0,00,90,F0,7F,9F,EF,70,F1,C0,BB,31,B8,F7,EE
      |                                       |             |    |         |      |           F0 7F 9F EF |
      |                                       |             |    |         |      |           70 F1 C0 BB |
      |                                       |             |    |         |      |           31 B8 F7 EE |
 1493 |  7 ../assets/spriteatlas.lzsa2     32 | Data        | 11 |         |   16 | 00/2A8F : 89 87 EF 20 |                          HEX     89,87,EF,20,24,38,78,41,07,00,7C,78,0F,E0,F0,47
      |                                       |             |    |         |      |           24 38 78 41 |
      |                                       |             |    |         |      |           07 00 7C 78 |
      |                                       |             |    |         |      |           0F E0 F0 47 |
 1494 |  7 ../assets/spriteatlas.lzsa2     33 | Data        | 11 |         |   16 | 00/2A9F : 1F E8 60 5F |                          HEX     1F,E8,60,5F,78,7F,0F,7E,5E,F1,B8,87,2B,F7,5B,0E
      |                                       |             |    |         |      |           78 7F 0F 7E |
      |                                       |             |    |         |      |           5E F1 B8 87 |
      |                                       |             |    |         |      |           2B F7 5B 0E |
 1495 |  7 ../assets/spriteatlas.lzsa2     34 | Data        | 11 |         |   16 | 00/2AAF : 40 7F 07 D0 |                          HEX     40,7F,07,D0,30,7E,78,30,7F,63,A0,F8,3F,70,03,B1
      |                                       |             |    |         |      |           30 7E 78 30 |
      |                                       |             |    |         |      |           7F 63 A0 F8 |
      |                                       |             |    |         |      |           3F 70 03 B1 |
 1496 |  7 ../assets/spriteatlas.lzsa2     35 | Data        | 11 |         |   16 | 00/2ABF : 7F 00 FE 28 |                          HEX     7F,00,FE,28,50,1F,1E,DF,49,3C,C7,2F,78,F7,08,48
      |                                       |             |    |         |      |           50 1F 1E DF |
      |                                       |             |    |         |      |           49 3C C7 2F |
      |                                       |             |    |         |      |           78 F7 08 48 |
 1497 |  7 ../assets/spriteatlas.lzsa2     36 | Data        | 11 |         |   16 | 00/2ACF : 89 34 4E CC |                          HEX     89,34,4E,CC,28,54,60,01,32,F0,70,07,F1,0F,0C,E9
      |                                       |             |    |         |      |           28 54 60 01 |
      |                                       |             |    |         |      |           32 F0 70 07 |
      |                                       |             |    |         |      |           F1 0F 0C E9 |
 1498 |  7 ../assets/spriteatlas.lzsa2     37 | Data        | 11 |         |   16 | 00/2ADF : 18 EF 10 27 |                          HEX     18,EF,10,27,EE,E9,10,EC,30,32,7F,3F,AF,47,C4,0B
      |                                       |             |    |         |      |           EE E9 10 EC |
      |                                       |             |    |         |      |           30 32 7F 3F |
      |                                       |             |    |         |      |           AF 47 C4 0B |
 1499 |  7 ../assets/spriteatlas.lzsa2     38 | Data        | 11 |         |   16 | 00/2AEF : 2F 30 EA 6F |                          HEX     2F,30,EA,6F,7E,B1,6F,B3,E0,8C,A6,21,EF,6F,81,E0
      |                                       |             |    |         |      |           7E B1 6F B3 |
      |                                       |             |    |         |      |           E0 8C A6 21 |
      |                                       |             |    |         |      |           EF 6F 81 E0 |
 1500 |  7 ../assets/spriteatlas.lzsa2     39 | Data        | 11 |         |   16 | 00/2AFF : 0E 71 CC 81 |                          HEX     0E,71,CC,81,AB,2A,99,EF,67,E0,2C,5B,1E,EC,DD,BB
      |                                       |             |    |         |      |           AB 2A 99 EF |
      |                                       |             |    |         |      |           67 E0 2C 5B |
      |                                       |             |    |         |      |           1E EC DD BB |
 1501 |  7 ../assets/spriteatlas.lzsa2     40 | Data        | 11 |         |   16 | 00/2B0F : E7 7C 49 FE |                          HEX     E7,7C,49,FE,A8,B0,7F,B7,6C,E8,BE,22,EE,A1,A8,A3
      |                                       |             |    |         |      |           A8 B0 7F B7 |
      |                                       |             |    |         |      |           6C E8 BE 22 |
      |                                       |             |    |         |      |           EE A1 A8 A3 |
 1502 |  7 ../assets/spriteatlas.lzsa2     41 | Data        | 11 |         |   16 | 00/2B1F : E0 30 FB 60 |                          HEX     E0,30,FB,60,7F,8F,FB,4F,00,FE,F4,03,B0,E6,8C,47
      |                                       |             |    |         |      |           7F 8F FB 4F |
      |                                       |             |    |         |      |           00 FE F4 03 |
      |                                       |             |    |         |      |           B0 E6 8C 47 |
 1503 |  7 ../assets/spriteatlas.lzsa2     42 | Data        | 11 |         |   16 | 00/2B2F : D0 02 A9 FF |                          HEX     D0,02,A9,FF,E7,68,3A,FF,FE,FD,FF,80,0C,B0,E6,CC
      |                                       |             |    |         |      |           E7 68 3A FF |
      |                                       |             |    |         |      |           FE FD FF 80 |
      |                                       |             |    |         |      |           0C B0 E6 CC |
 1504 |  7 ../assets/spriteatlas.lzsa2     43 | Data        | 11 |         |   16 | 00/2B3F : 86 ED 71 D0 |                          HEX     86,ED,71,D0,81,F5,F0,E6,80,10,E6,BC,3A,4E,7A,BF
      |                                       |             |    |         |      |           81 F5 F0 E6 |
      |                                       |             |    |         |      |           80 10 E6 BC |
      |                                       |             |    |         |      |           3A 4E 7A BF |
 1505 |  7 ../assets/spriteatlas.lzsa2     44 | Data        | 11 |         |   16 | 00/2B4F : 04 50 BB BF |                          HEX     04,50,BB,BF,82,82,ED,38,3A,50,7F,BF,84,DF,7F,FF
      |                                       |             |    |         |      |           82 82 ED 38 |
      |                                       |             |    |         |      |           3A 50 7F BF |
      |                                       |             |    |         |      |           84 DF 7F FF |
 1506 |  7 ../assets/spriteatlas.lzsa2     45 | Data        | 11 |         |   16 | 00/2B5F : EF 81 E1 FC |                          HEX     EF,81,E1,FC,6F,D0,E7,CC,81,EE,A1,C0,6F,06,E8,0E
      |                                       |             |    |         |      |           6F D0 E7 CC |
      |                                       |             |    |         |      |           81 EE A1 C0 |
      |                                       |             |    |         |      |           6F 06 E8 0E |
 1507 |  7 ../assets/spriteatlas.lzsa2     46 | Data        | 11 |         |   16 | 00/2B6F : 50 78 CF 6C |                          HEX     50,78,CF,6C,E8,7C,E9,00,E9,00,F0,8D,60,EA,FD,41
      |                                       |             |    |         |      |           E8 7C E9 00 |
      |                                       |             |    |         |      |           E9 00 F0 8D |
      |                                       |             |    |         |      |           60 EA FD 41 |
 1508 |  7 ../assets/spriteatlas.lzsa2     47 | Data        | 11 |         |   16 | 00/2B7F : 98 F0 BD E6 |                          HEX     98,F0,BD,E6,20,AD,8C,EE,60,45,9C,F1,66,B3,F1,BB
      |                                       |             |    |         |      |           20 AD 8C EE |
      |                                       |             |    |         |      |           60 45 9C F1 |
      |                                       |             |    |         |      |           66 B3 F1 BB |
 1509 |  7 ../assets/spriteatlas.lzsa2     48 | Data        | 11 |         |   16 | 00/2B8F : 00 2A 80 59 |                          HEX     00,2A,80,59,56,80,7A,83,68,80,60,7F,6F,98,9B,87
      |                                       |             |    |         |      |           56 80 7A 83 |
      |                                       |             |    |         |      |           68 80 60 7F |
      |                                       |             |    |         |      |           6F 98 9B 87 |
 1510 |  7 ../assets/spriteatlas.lzsa2     49 | Data        | 11 |         |   16 | 00/2B9F : DF FF CF E9 |                          HEX     DF,FF,CF,E9,80,E6,CC,69,D0,54,F8,E6,8C,E8,7A,49
      |                                       |             |    |         |      |           80 E6 CC 69 |
      |                                       |             |    |         |      |           D0 54 F8 E6 |
      |                                       |             |    |         |      |           8C E8 7A 49 |
 1511 |  7 ../assets/spriteatlas.lzsa2     50 | Data        | 11 |         |   16 | 00/2BAF : 1F E8 40 7F |                          HEX     1F,E8,40,7F,3F,1C,40,D5,59,7E,7F,0F,B0,E6,FC,03
      |                                       |             |    |         |      |           3F 1C 40 D5 |
      |                                       |             |    |         |      |           59 7E 7F 0F |
      |                                       |             |    |         |      |           B0 E6 FC 03 |
 1512 |  7 ../assets/spriteatlas.lzsa2     51 | Data        | 11 |         |   16 | 00/2BBF : 78 E7 3F 00 |                          HEX     78,E7,3F,00,7C,7C,41,44,4A,81,14,F1,40,86,68,9A
      |                                       |             |    |         |      |           7C 7C 41 44 |
      |                                       |             |    |         |      |           4A 81 14 F1 |
      |                                       |             |    |         |      |           40 86 68 9A |
 1513 |  7 ../assets/spriteatlas.lzsa2     52 | Data        | 11 |         |   16 | 00/2BCF : 5C E9 8D A9 |                          HEX     5C,E9,8D,A9,8D,E4,39,48,1C,D8,F8,01,3C,7C,7F,01
      |                                       |             |    |         |      |           8D E4 39 48 |
      |                                       |             |    |         |      |           1C D8 F8 01 |
      |                                       |             |    |         |      |           3C 7C 7F 01 |
 1514 |  7 ../assets/spriteatlas.lzsa2     53 | Data        | 11 |         |   16 | 00/2BDF : 78 7F F0 60 |                          HEX     78,7F,F0,60,FF,40,C8,E9,CF,52,CC,1F,D0,2A,00,E4
      |                                       |             |    |         |      |           FF 40 C8 E9 |
      |                                       |             |    |         |      |           CF 52 CC 1F |
      |                                       |             |    |         |      |           D0 2A 00 E4 |
 1515 |  7 ../assets/spriteatlas.lzsa2     54 | Data        | 11 |         |   16 | 00/2BEF : 6A 9A 64 6F |                          HEX     6A,9A,64,6F,B4,21,50,60,1D,79,34,6E,01,EE,B1,70
      |                                       |             |    |         |      |           B4 21 50 60 |
      |                                       |             |    |         |      |           1D 79 34 6E |
      |                                       |             |    |         |      |           01 EE B1 70 |
 1516 |  7 ../assets/spriteatlas.lzsa2     55 | Data        | 11 |         |   16 | 00/2BFF : 5F 58 30 61 |                          HEX     5F,58,30,61,31,E7,F0,7D,3C,5F,71,3F,04,70,38,3C
      |                                       |             |    |         |      |           31 E7 F0 7D |
      |                                       |             |    |         |      |           3C 5F 71 3F |
      |                                       |             |    |         |      |           04 70 38 3C |
 1517 |  7 ../assets/spriteatlas.lzsa2     56 | Data        | 11 |         |   16 | 00/2C0F : 04 10 7E 3F |                          HEX     04,10,7E,3F,D0,4E,F0,30,06,32,33,00,47,D0,FC,0D
      |                                       |             |    |         |      |           D0 4E F0 30 |
      |                                       |             |    |         |      |           06 32 33 00 |
      |                                       |             |    |         |      |           47 D0 FC 0D |
 1518 |  7 ../assets/spriteatlas.lzsa2     57 | Data        | 11 |         |   16 | 00/2C1F : 28 07 F0 04 |                          HEX     28,07,F0,04,04,E9,4C,94,18,78,F7,6B,EF,20,07,EE
      |                                       |             |    |         |      |           04 E9 4C 94 |
      |                                       |             |    |         |      |           18 78 F7 6B |
      |                                       |             |    |         |      |           EF 20 07 EE |
 1519 |  7 ../assets/spriteatlas.lzsa2     58 | Data        | 11 |         |   16 | 00/2C2F : E9 20 26 EA |                          HEX     E9,20,26,EA,31,7C,7F,23,6F,07,FD,53,85,64,69,CF
      |                                       |             |    |         |      |           31 7C 7F 23 |
      |                                       |             |    |         |      |           6F 07 FD 53 |
      |                                       |             |    |         |      |           85 64 69 CF |
 1520 |  7 ../assets/spriteatlas.lzsa2     59 | Data        | 11 |         |   16 | 00/2C3F : B8 8B B7 CE |                          HEX     B8,8B,B7,CE,F4,22,89,60,FE,7C,20,89,1F,D1,30,7A
      |                                       |             |    |         |      |           F4 22 89 60 |
      |                                       |             |    |         |      |           FE 7C 20 89 |
      |                                       |             |    |         |      |           1F D1 30 7A |
 1521 |  7 ../assets/spriteatlas.lzsa2     60 | Data        | 11 |         |   16 | 00/2C4F : FF 81 70 FF |                          HEX     FF,81,70,FF,A8,AF,F4,ED,00,71,FA,80,7C,38,4E,8C
      |                                       |             |    |         |      |           A8 AF F4 ED |
      |                                       |             |    |         |      |           00 71 FA 80 |
      |                                       |             |    |         |      |           7C 38 4E 8C |
 1522 |  7 ../assets/spriteatlas.lzsa2     61 | Data        | 11 |         |   16 | 00/2C5F : E8 60 BF 83 |                          HEX     E8,60,BF,83,E8,70,E8,98,51,F7,99,CC,20,EE,61,40
      |                                       |             |    |         |      |           E8 70 E8 98 |
      |                                       |             |    |         |      |           51 F7 99 CC |
      |                                       |             |    |         |      |           20 EE 61 40 |
 1523 |  7 ../assets/spriteatlas.lzsa2     62 | Data        | 11 |         |   16 | 00/2C6F : 47 8E E9 E8 |                          HEX     47,8E,E9,E8,E9,E8,BF,EE,98,83,9A,3C,98,D3,FB,FF
      |                                       |             |    |         |      |           E9 E8 BF EE |
      |                                       |             |    |         |      |           98 83 9A 3C |
      |                                       |             |    |         |      |           98 D3 FB FF |
 1524 |  7 ../assets/spriteatlas.lzsa2     63 | Data        | 11 |         |   16 | 00/2C7F : 99 D3 FB F4 |                          HEX     99,D3,FB,F4,99,F3,FB,F7,99,00,9F,47,D0,06,A7,EA
      |                                       |             |    |         |      |           99 F3 FB F7 |
      |                                       |             |    |         |      |           99 00 9F 47 |
      |                                       |             |    |         |      |           D0 06 A7 EA |
 1525 |  7 ../assets/spriteatlas.lzsa2     64 | Data        | 11 |         |    7 | 00/2C8F : 00 47 A0 FF |                          HEX     00,47,A0,FF,05,E7,E8 
      |                                       |             |    |         |      |           05 E7 E8    |
 1526 |  7 ../assets/spriteatlas.lzsa2     65 | Empty       | 11 |         |    0 | 00/2C96               |                                                       
 1527 |  1                    bagman.s     19 | Empty       | 11 |         |    0 | 00/2C96               | MapDataCmp                                            
 1528 |  1                    bagman.s     20 | Directive   | 11 |         |    0 | 00/2C96               |                          PUTBIN  ../assets/maps.lzsa2 
 1529 |  8        ../assets/maps.lzsa2      1 | Data        | 11 |         |   16 | 00/2C96 : 0F 00 FF 29 |                          HEX     0F,00,FF,29,0F,01,B7,38,1E,02,03,02,04,24,FC,2A
      |                                       |             |    |         |      |           0F 01 B7 38 |
      |                                       |             |    |         |      |           1E 02 03 02 |
      |                                       |             |    |         |      |           04 24 FC 2A |
 1530 |  8        ../assets/maps.lzsa2      2 | Data        | 11 |         |   16 | 00/2CA6 : 04 21 6E FD |                          HEX     04,21,6E,FD,05,06,05,04,05,07,08,09,0A,06,05,06
      |                                       |             |    |         |      |           05 06 05 04 |
      |                                       |             |    |         |      |           05 07 08 09 |
      |                                       |             |    |         |      |           0A 06 05 06 |
 1531 |  8        ../assets/maps.lzsa2      3 | Data        | 11 |         |   16 | 00/2CB6 : 04 0B 4A 64 |                          HEX     04,0B,4A,64,05,F8,4C,0C,0D,0E,0F,10,11,12,28,13
      |                                       |             |    |         |      |           05 F8 4C 0C |
      |                                       |             |    |         |      |           0D 0E 0F 10 |
      |                                       |             |    |         |      |           11 12 28 13 |
 1532 |  8        ../assets/maps.lzsa2      4 | Data        | 11 |         |   16 | 00/2CC6 : 29 67 67 41 |                          HEX     29,67,67,41,DC,28,04,23,FC,32,14,04,21,62,41,DC
      |                                       |             |    |         |      |           DC 28 04 23 |
      |                                       |             |    |         |      |           FC 32 14 04 |
      |                                       |             |    |         |      |           21 62 41 DC |
 1533 |  8        ../assets/maps.lzsa2      5 | Data        | 11 |         |   16 | 00/2CD6 : 38 04 15 16 |                          HEX     38,04,15,16,17,18,E1,F8,15,18,04,19,29,4F,60,21
      |                                       |             |    |         |      |           17 18 E1 F8 |
      |                                       |             |    |         |      |           15 18 04 19 |
      |                                       |             |    |         |      |           29 4F 60 21 |
 1534 |  8        ../assets/maps.lzsa2      6 | Data        | 11 |         |   16 | 00/2CE6 : 18 0B 04 00 |                          HEX     18,0B,04,00,1A,22,E6,49,04,7C,2D,1A,3A,1E,1B,1C
      |                                       |             |    |         |      |           1A 22 E6 49 |
      |                                       |             |    |         |      |           04 7C 2D 1A |
      |                                       |             |    |         |      |           3A 1E 1B 1C |
 1535 |  8        ../assets/maps.lzsa2      7 | Data        | 11 |         |   16 | 00/2CF6 : 1B 1B 09 04 |                          HEX     1B,1B,09,04,E6,2A,6E,E8,18,50,1D,1E,82,30,1F,20
      |                                       |             |    |         |      |           E6 2A 6E E8 |
      |                                       |             |    |         |      |           18 50 1D 1E |
      |                                       |             |    |         |      |           82 30 1F 20 |
 1536 |  8        ../assets/maps.lzsa2      8 | Data        | 11 |         |   16 | 00/2D06 : 10 29 21 42 |                          HEX     10,29,21,42,B0,5A,E5,22,01,23,04,24,25,26,06,05
      |                                       |             |    |         |      |           B0 5A E5 22 |
      |                                       |             |    |         |      |           01 23 04 24 |
      |                                       |             |    |         |      |           25 26 06 05 |
 1537 |  8        ../assets/maps.lzsa2      9 | Data        | 11 |         |   16 | 00/2D16 : 27 28 0F 00 |                          HEX     27,28,0F,00,29,73,04,74,60,51,04,2A,B9,38,2B,2C
      |                                       |             |    |         |      |           29 73 04 74 |
      |                                       |             |    |         |      |           60 51 04 2A |
      |                                       |             |    |         |      |           B9 38 2B 2C |
 1538 |  8        ../assets/maps.lzsa2     10 | Data        | 11 |         |   16 | 00/2D26 : 2D 2E 1F 20 |                          HEX     2D,2E,1F,20,00,2F,96,2B,00,59,22,30,04,31,32,33
      |                                       |             |    |         |      |           00 2F 96 2B |
      |                                       |             |    |         |      |           00 59 22 30 |
      |                                       |             |    |         |      |           04 31 32 33 |
 1539 |  8        ../assets/maps.lzsa2     11 | Data        | 11 |         |   16 | 00/2D36 : A2 40 42 48 |                          HEX     A2,40,42,48,00,D2,4B,44,38,F0,04,00,3B,06,34,35
      |                                       |             |    |         |      |           00 D2 4B 44 |
      |                                       |             |    |         |      |           38 F0 04 00 |
      |                                       |             |    |         |      |           3B 06 34 35 |
 1540 |  8        ../assets/maps.lzsa2     12 | Data        | 11 |         |   16 | 00/2D46 : 36 04 6A F3 |                          HEX     36,04,6A,F3,06,05,E8,02,22,27,64,EF,05,11,FE,37
      |                                       |             |    |         |      |           06 05 E8 02 |
      |                                       |             |    |         |      |           22 27 64 EF |
      |                                       |             |    |         |      |           05 11 FE 37 |
 1541 |  8        ../assets/maps.lzsa2     13 | Data        | 11 |         |   16 | 00/2D56 : 30 3C 30 38 |                          HEX     30,3C,30,38,28,38,39,3A,3B,04,43,44,25,60,5B,3D
      |                                       |             |    |         |      |           28 38 39 3A |
      |                                       |             |    |         |      |           3B 04 43 44 |
      |                                       |             |    |         |      |           25 60 5B 3D |
 1542 |  8        ../assets/maps.lzsa2     14 | Data        | 11 |         |   16 | 00/2D66 : 3E 3F 3B 70 |                          HEX     3E,3F,3B,70,00,40,D0,2D,7B,61,60,B6,F8,41,42,43
      |                                       |             |    |         |      |           00 40 D0 2D |
      |                                       |             |    |         |      |           7B 61 60 B6 |
      |                                       |             |    |         |      |           F8 41 42 43 |
 1543 |  8        ../assets/maps.lzsa2     15 | Data        | 11 |         |   16 | 00/2D76 : 44 41 B0 F5 |                          HEX     44,41,B0,F5,49,80,59,00,45,46,47,8E,42,74,68,83
      |                                       |             |    |         |      |           49 80 59 00 |
      |                                       |             |    |         |      |           45 46 47 8E |
      |                                       |             |    |         |      |           42 74 68 83 |
 1544 |  8        ../assets/maps.lzsa2     16 | Data        | 11 |         |   16 | 00/2D86 : D2 45 60 60 |                          HEX     D2,45,60,60,DA,6B,48,AC,48,00,DA,55,88,89,60,72
      |                                       |             |    |         |      |           DA 6B 48 AC |
      |                                       |             |    |         |      |           48 00 DA 55 |
      |                                       |             |    |         |      |           88 89 60 72 |
 1545 |  8        ../assets/maps.lzsa2     17 | Data        | 11 |         |   16 | 00/2D96 : 0E 0F AC F8 |                          HEX     0E,0F,AC,F8,4A,4B,00,F1,8F,90,7A,1F,4C,4D,4E,04
      |                                       |             |    |         |      |           4A 4B 00 F1 |
      |                                       |             |    |         |      |           8F 90 7A 1F |
      |                                       |             |    |         |      |           4C 4D 4E 04 |
 1546 |  8        ../assets/maps.lzsa2     18 | Data        | 11 |         |   16 | 00/2DA6 : C4 29 4F 5B |                          HEX     C4,29,4F,5B,00,00,50,57,88,7B,51,0F,52,C0,0A,1A
      |                                       |             |    |         |      |           00 00 50 57 |
      |                                       |             |    |         |      |           88 7B 51 0F |
      |                                       |             |    |         |      |           52 C0 0A 1A |
 1547 |  8        ../assets/maps.lzsa2     19 | Data        | 11 |         |   16 | 00/2DB6 : D6 33 53 94 |                          HEX     D6,33,53,94,51,0E,54,36,41,7C,29,55,F2,39,02,56
      |                                       |             |    |         |      |           51 0E 54 36 |
      |                                       |             |    |         |      |           41 7C 29 55 |
      |                                       |             |    |         |      |           F2 39 02 56 |
 1548 |  8        ../assets/maps.lzsa2     20 | Data        | 11 |         |   16 | 00/2DC6 : 05 03 97 61 |                          HEX     05,03,97,61,49,57,2A,F8,58,14,59,5A,23,FE,71,79
      |                                       |             |    |         |      |           49 57 2A F8 |
      |                                       |             |    |         |      |           58 14 59 5A |
      |                                       |             |    |         |      |           23 FE 71 79 |
 1549 |  8        ../assets/maps.lzsa2     21 | Data        | 11 |         |   16 | 00/2DD6 : 99 E8 F0 2A |                          HEX     99,E8,F0,2A,37,68,4F,78,49,5B,2A,30,5C,5D,52,7A
      |                                       |             |    |         |      |           37 68 4F 78 |
      |                                       |             |    |         |      |           49 5B 2A 30 |
      |                                       |             |    |         |      |           5C 5D 52 7A |
 1550 |  8        ../assets/maps.lzsa2     22 | Data        | 11 |         |   16 | 00/2DE6 : 15 88 E8 1A |                          HEX     15,88,E8,1A,6D,1A,00,26,CE,68,4C,74,08,5E,04,FC
      |                                       |             |    |         |      |           6D 1A 00 26 |
      |                                       |             |    |         |      |           CE 68 4C 74 |
      |                                       |             |    |         |      |           08 5E 04 FC |
 1551 |  8        ../assets/maps.lzsa2     23 | Data        | 11 |         |   16 | 00/2DF6 : 23 21 60 3C |                          HEX     23,21,60,3C,5F,60,61,F0,F8,62,63,2E,9F,0F,9B,60
      |                                       |             |    |         |      |           5F 60 61 F0 |
      |                                       |             |    |         |      |           F8 62 63 2E |
      |                                       |             |    |         |      |           9F 0F 9B 60 |
 1552 |  8        ../assets/maps.lzsa2     24 | Data        | 11 |         |   16 | 00/2E06 : 9C 85 F6 2B |                          HEX     9C,85,F6,2B,2F,01,3F,84,8E,23,DB,2A,00,22,CF,84
      |                                       |             |    |         |      |           2F 01 3F 84 |
      |                                       |             |    |         |      |           8E 23 DB 2A |
      |                                       |             |    |         |      |           00 22 CF 84 |
 1553 |  8        ../assets/maps.lzsa2     25 | Data        | 11 |         |   16 | 00/2E16 : 8E 20 D1 60 |                          HEX     8E,20,D1,60,72,FA,65,00,66,30,94,37,00,F7,8E,7A
      |                                       |             |    |         |      |           72 FA 65 00 |
      |                                       |             |    |         |      |           66 30 94 37 |
      |                                       |             |    |         |      |           00 F7 8E 7A |
 1554 |  8        ../assets/maps.lzsa2     26 | Data        | 11 |         |   16 | 00/2E26 : 68 04 69 51 |                          HEX     68,04,69,51,0F,00,6A,01,1A,01,F5,84,FD,8E,2A,0F
      |                                       |             |    |         |      |           0F 00 6A 01 |
      |                                       |             |    |         |      |           1A 01 F5 84 |
      |                                       |             |    |         |      |           FD 8E 2A 0F |
 1555 |  8        ../assets/maps.lzsa2     27 | Data        | 11 |         |   16 | 00/2E36 : E8 00 70 6B |                          HEX     E8,00,70,6B,04,FE,94,9D,00,FD,8E,20,81,F6,80,21
      |                                       |             |    |         |      |           04 FE 94 9D |
      |                                       |             |    |         |      |           00 FD 8E 20 |
      |                                       |             |    |         |      |           81 F6 80 21 |
 1556 |  8        ../assets/maps.lzsa2     28 | Data        | 11 |         |   16 | 00/2E46 : 9C 2F 6C 04 |                          HEX     9C,2F,6C,04,6D,80,0F,8E,44,0F,21,6F,44,D0,84,8E
      |                                       |             |    |         |      |           6D 80 0F 8E |
      |                                       |             |    |         |      |           44 0F 21 6F |
      |                                       |             |    |         |      |           44 D0 84 8E |
 1557 |  8        ../assets/maps.lzsa2     29 | Data        | 11 |         |   16 | 00/2E56 : 43 0F 3B 16 |                          HEX     43,0F,3B,16,00,6F,04,50,84,FB,8E,21,51,70,06,90
      |                                       |             |    |         |      |           00 6F 04 50 |
      |                                       |             |    |         |      |           84 FB 8E 21 |
      |                                       |             |    |         |      |           51 70 06 90 |
 1558 |  8        ../assets/maps.lzsa2     30 | Data        | 11 |         |   16 | 00/2E66 : 9C 3F 71 04 |                          HEX     9C,3F,71,04,72,A3,A4,00,8E,61,72,29,75,60,7A,76
      |                                       |             |    |         |      |           72 A3 A4 00 |
      |                                       |             |    |         |      |           8E 61 72 29 |
      |                                       |             |    |         |      |           75 60 7A 76 |
 1559 |  8        ../assets/maps.lzsa2     31 | Data        | 11 |         |   16 | 00/2E76 : 56 04 30 82 |                          HEX     56,04,30,82,F6,8E,63,72,28,77,FB,0F,3C,30,3C,83
      |                                       |             |    |         |      |           F6 8E 63 72 |
      |                                       |             |    |         |      |           28 77 FB 0F |
      |                                       |             |    |         |      |           3C 30 3C 83 |
 1560 |  8        ../assets/maps.lzsa2     32 | Data        | 11 |         |   16 | 00/2E86 : 8E 62 72 52 |                          HEX     8E,62,72,52,78,06,24,27,60,25,F6,42,24,2F,76,76
      |                                       |             |    |         |      |           78 06 24 27 |
      |                                       |             |    |         |      |           60 25 F6 42 |
      |                                       |             |    |         |      |           24 2F 76 76 |
 1561 |  8        ../assets/maps.lzsa2     33 | Data        | 11 |         |   16 | 00/2E96 : 63 5E 31 4A |                          HEX     63,5E,31,4A,B4,41,1C,23,FB,29,37,62,5E,96,16,00
      |                                       |             |    |         |      |           B4 41 1C 23 |
      |                                       |             |    |         |      |           FB 29 37 62 |
      |                                       |             |    |         |      |           5E 96 16 00 |
 1562 |  8        ../assets/maps.lzsa2     34 | Data        | 11 |         |   16 | 00/2EA6 : FF 8E 6A 01 |                          HEX     FF,8E,6A,01,0D,64,59,85,8E,FC,B2,7C,4E,04,4E,7D
      |                                       |             |    |         |      |           0D 64 59 85 |
      |                                       |             |    |         |      |           8E FC B2 7C |
      |                                       |             |    |         |      |           4E 04 4E 7D |
 1563 |  8        ../assets/maps.lzsa2     35 | Data        | 11 |         |   16 | 00/2EB6 : 02 7E 4E 00 |                          HEX     02,7E,4E,00,7F,03,02,40,00,43,48,5A,81,0D,0E,00
      |                                       |             |    |         |      |           7F 03 02 40 |
      |                                       |             |    |         |      |           00 43 48 5A |
      |                                       |             |    |         |      |           81 0D 0E 00 |
 1564 |  8        ../assets/maps.lzsa2     36 | Data        | 11 |         |   16 | 00/2EC6 : 82 74 84 F6 |                          HEX     82,74,84,F6,8E,5B,84,85,04,85,86,87,0F,23,00,94
      |                                       |             |    |         |      |           8E 5B 84 85 |
      |                                       |             |    |         |      |           04 85 86 87 |
      |                                       |             |    |         |      |           0F 23 00 94 |
 1565 |  8        ../assets/maps.lzsa2     37 | Data        | 11 |         |   16 | 00/2ED6 : 84 F5 8E 3C |                          HEX     84,F5,8E,3C,8A,05,04,8B,8C,8D,8E,2A,6F,84,8E,AA
      |                                       |             |    |         |      |           8A 05 04 8B |
      |                                       |             |    |         |      |           8C 8D 8E 2A |
      |                                       |             |    |         |      |           6F 84 8E AA |
 1566 |  8        ../assets/maps.lzsa2     38 | Data        | 11 |         |   16 | 00/2EE6 : 06 F0 C2 BA |                          HEX     06,F0,C2,BA,91,92,93,F7,34,20,84,FF,8E,AC,3C,B6
      |                                       |             |    |         |      |           91 92 93 F7 |
      |                                       |             |    |         |      |           34 20 84 FF |
      |                                       |             |    |         |      |           8E AC 3C B6 |
 1567 |  8        ../assets/maps.lzsa2     39 | Data        | 11 |         |   16 | 00/2EF6 : B2 01 00 FF |                          HEX     B2,01,00,FF,10,8E,00,8E,A9,95,FF,B6,48,96,D3,51
      |                                       |             |    |         |      |           10 8E 00 8E |
      |                                       |             |    |         |      |           A9 95 FF B6 |
      |                                       |             |    |         |      |           48 96 D3 51 |
 1568 |  8        ../assets/maps.lzsa2     40 | Data        | 11 |         |   16 | 00/2F06 : 15 18 60 84 |                          HEX     15,18,60,84,8E,5C,5F,7C,4E,95,98,66,05,0B,04,60
      |                                       |             |    |         |      |           8E 5C 5F 7C |
      |                                       |             |    |         |      |           4E 95 98 66 |
      |                                       |             |    |         |      |           05 0B 04 60 |
 1569 |  8        ../assets/maps.lzsa2     41 | Data        | 11 |         |   16 | 00/2F16 : 84 8E 62 BC |                          HEX     84,8E,62,BC,9C,1F,6C,4A,9A,04,B9,84,FF,8E,92,16
      |                                       |             |    |         |      |           9C 1F 6C 4A |
      |                                       |             |    |         |      |           9A 04 B9 84 |
      |                                       |             |    |         |      |           FF 8E 92 16 |
 1570 |  8        ../assets/maps.lzsa2     42 | Data        | 11 |         |   16 | 00/2F26 : 15 7E F0 16 |                          HEX     15,7E,F0,16,04,5C,1F,06,4C,C1,C2,2F,64,6F,49,1A
      |                                       |             |    |         |      |           04 5C 1F 06 |
      |                                       |             |    |         |      |           4C C1 C2 2F |
      |                                       |             |    |         |      |           64 6F 49 1A |
 1571 |  8        ../assets/maps.lzsa2     43 | Data        | 11 |         |   16 | 00/2F36 : 83 70 06 C3 |                          HEX     83,70,06,C3,8C,84,8E,84,F1,7E,F0,1C,5E,9C,06,CF
      |                                       |             |    |         |      |           8C 84 8E 84 |
      |                                       |             |    |         |      |           F1 7E F0 1C |
      |                                       |             |    |         |      |           5E 9C 06 CF |
 1572 |  8        ../assets/maps.lzsa2     44 | Data        | 11 |         |   16 | 00/2F46 : D0 D1 FD 8E |                          HEX     D0,D1,FD,8E,20,27,F3,86,EE,00,A7,F8,FF,2F,84,8C
      |                                       |             |    |         |      |           20 27 F3 86 |
      |                                       |             |    |         |      |           EE 00 A7 F8 |
      |                                       |             |    |         |      |           FF 2F 84 8C |
 1573 |  8        ../assets/maps.lzsa2     45 | Data        | 11 |         |   16 | 00/2F56 : 24 DE A4 F8 |                          HEX     24,DE,A4,F8,21,6F,84,8E,73,3C,5D,6C,39,16,5D,04
      |                                       |             |    |         |      |           21 6F 84 8E |
      |                                       |             |    |         |      |           73 3C 5D 6C |
      |                                       |             |    |         |      |           39 16 5D 04 |
 1574 |  8        ../assets/maps.lzsa2     46 | Data        | 11 |         |   16 | 00/2F66 : 30 07 83 FE |                          HEX     30,07,83,FE,8E,02,0A,01,90,39,95,01,0D,6F,84,8E
      |                                       |             |    |         |      |           8E 02 0A 01 |
      |                                       |             |    |         |      |           90 39 95 01 |
      |                                       |             |    |         |      |           0D 6F 84 8E |
 1575 |  8        ../assets/maps.lzsa2     47 | Data        | 11 |         |   16 | 00/2F76 : 39 0C 9E 55 |                          HEX     39,0C,9E,55,03,7A,1F,7C,9F,A0,04,D6,84,8E,99,3F
      |                                       |             |    |         |      |           03 7A 1F 7C |
      |                                       |             |    |         |      |           9F A0 04 D6 |
      |                                       |             |    |         |      |           84 8E 99 3F |
 1576 |  8        ../assets/maps.lzsa2     48 | Data        | 11 |         |   16 | 00/2F86 : 14 48 4B 04 |                          HEX     14,48,4B,04,4B,A1,64,23,6F,84,5E,22,9F,8B,16,64
      |                                       |             |    |         |      |           4B A1 64 23 |
      |                                       |             |    |         |      |           6F 84 5E 22 |
      |                                       |             |    |         |      |           9F 8B 16 64 |
 1577 |  8        ../assets/maps.lzsa2     49 | Data        | 11 |         |   16 | 00/2F96 : 29 A2 60 EE |                          HEX     29,A2,60,EE,50,63,FB,39,01,04,27,6F,83,8E,22,65
      |                                       |             |    |         |      |           50 63 FB 39 |
      |                                       |             |    |         |      |           01 04 27 6F |
      |                                       |             |    |         |      |           83 8E 22 65 |
 1578 |  8        ../assets/maps.lzsa2     50 | Data        | 11 |         |   16 | 00/2FA6 : F9 A5 A6 7F |                          HEX     F9,A5,A6,7F,A7,55,95,76,06,84,FE,8E,A9,A8,A0,92
      |                                       |             |    |         |      |           A7 55 95 76 |
      |                                       |             |    |         |      |           06 84 FE 8E |
      |                                       |             |    |         |      |           A9 A8 A0 92 |
 1579 |  8        ../assets/maps.lzsa2     51 | Data        | 11 |         |   16 | 00/2FB6 : 84 82 E6 4E |                          HEX     84,82,E6,4E,22,85,F6,8E,28,A9,F6,AA,05,EB,00,F9
      |                                       |             |    |         |      |           22 85 F6 8E |
      |                                       |             |    |         |      |           28 A9 F6 AA |
      |                                       |             |    |         |      |           05 EB 00 F9 |
 1580 |  8        ../assets/maps.lzsa2     52 | Data        | 11 |         |   16 | 00/2FC6 : 8F AB AC AD |                          HEX     8F,AB,AC,AD,AE,06,05,0B,AF,04,B0,B1,81,8E,23,22
      |                                       |             |    |         |      |           AE 06 05 0B |
      |                                       |             |    |         |      |           AF 04 B0 B1 |
      |                                       |             |    |         |      |           81 8E 23 22 |
 1581 |  8        ../assets/maps.lzsa2     53 | Data        | 11 |         |   16 | 00/2FD6 : 79 B2 92 3C |                          HEX     79,B2,92,3C,4C,B3,6A,29,14,6F,84,8E,51,B5,B6,00
      |                                       |             |    |         |      |           4C B3 6A 29 |
      |                                       |             |    |         |      |           14 6F 84 8E |
      |                                       |             |    |         |      |           51 B5 B6 00 |
 1582 |  8        ../assets/maps.lzsa2     54 | Data        | 11 |         |   16 | 00/2FE6 : 69 51 56 63 |                          HEX     69,51,56,63,22,84,F1,8E,38,B7,05,B8,B9,86,26,64
      |                                       |             |    |         |      |           22 84 F1 8E |
      |                                       |             |    |         |      |           38 B7 05 B8 |
      |                                       |             |    |         |      |           B9 86 26 64 |
 1583 |  8        ../assets/maps.lzsa2     55 | Data        | 11 |         |   16 | 00/2FF6 : 2E 50 6C 4A |                          HEX     2E,50,6C,4A,3A,69,04,10,20,E7,09,BA,84,F8,8E,4A
      |                                       |             |    |         |      |           3A 69 04 10 |
      |                                       |             |    |         |      |           20 E7 09 BA |
      |                                       |             |    |         |      |           84 F8 8E 4A |
 1584 |  8        ../assets/maps.lzsa2     56 | Data        | 11 |         |   16 | 00/3006 : 6F DC 61 F9 |                          HEX     6F,DC,61,F9,53,04,01,88,EA,82,F9,BB,BC,BD,BE,44
      |                                       |             |    |         |      |           53 04 01 88 |
      |                                       |             |    |         |      |           EA 82 F9 BB |
      |                                       |             |    |         |      |           BC BD BE 44 |
 1585 |  8        ../assets/maps.lzsa2     57 | Data        | 11 |         |   16 | 00/3016 : 02 04 97 4D |                          HEX     02,04,97,4D,04,11,84,F6,8E,72,3C,5D,BE,71,04,A1
      |                                       |             |    |         |      |           04 11 84 F6 |
      |                                       |             |    |         |      |           8E 72 3C 5D |
      |                                       |             |    |         |      |           BE 71 04 A1 |
 1586 |  8        ../assets/maps.lzsa2     58 | Data        | 11 |         |   16 | 00/3026 : FC 26 83 EF |                          HEX     FC,26,83,EF,40,41,C6,65,E8,84,8E,3D,46,BF,55,03
      |                                       |             |    |         |      |           40 41 C6 65 |
      |                                       |             |    |         |      |           E8 84 8E 3D |
      |                                       |             |    |         |      |           46 BF 55 03 |
 1587 |  8        ../assets/maps.lzsa2     59 | Data        | 11 |         |   16 | 00/3036 : C0 04 4E 4D |                          HEX     C0,04,4E,4D,83,FF,8E,44,88,6E,0E,C0,84,8E,81,DE
      |                                       |             |    |         |      |           83 FF 8E 44 |
      |                                       |             |    |         |      |           88 6E 0E C0 |
      |                                       |             |    |         |      |           84 8E 81 DE |
 1588 |  8        ../assets/maps.lzsa2     60 | Data        | 11 |         |   16 | 00/3046 : AE AA 4F E8 |                          HEX     AE,AA,4F,E8,5F,00,16,04,50,60,83,FC,BF,22,31,04
      |                                       |             |    |         |      |           5F 00 16 04 |
      |                                       |             |    |         |      |           50 60 83 FC |
      |                                       |             |    |         |      |           BF 22 31 04 |
 1589 |  8        ../assets/maps.lzsa2     61 | Data        | 11 |         |   16 | 00/3056 : 53 6F 84 8E |                          HEX     53,6F,84,8E,83,FC,BF,22,31,5E,56,6F,84,8E,38,3B
      |                                       |             |    |         |      |           83 FC BF 22 |
      |                                       |             |    |         |      |           31 5E 56 6F |
      |                                       |             |    |         |      |           84 8E 38 3B |
 1590 |  8        ../assets/maps.lzsa2     62 | Data        | 11 |         |   16 | 00/3066 : B1 05 49 0A |                          HEX     B1,05,49,0A,0B,0A,40,1C,29,66,6F,84,8E,FC,B6,C4
      |                                       |             |    |         |      |           0B 0A 40 1C |
      |                                       |             |    |         |      |           29 66 6F 84 |
      |                                       |             |    |         |      |           8E FC B6 C4 |
 1591 |  8        ../assets/maps.lzsa2     63 | Data        | 11 |         |   16 | 00/3076 : C5 C6 C7 C8 |                          HEX     C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,00,00,00,7B,2F,05
      |                                       |             |    |         |      |           C9 CA CB CC |
      |                                       |             |    |         |      |           CD CE 00 00 |
      |                                       |             |    |         |      |           00 7B 2F 05 |
 1592 |  8        ../assets/maps.lzsa2     64 | Data        | 11 |         |   16 | 00/3086 : 27 82 27 94 |                          HEX     27,82,27,94,06,D2,2F,98,37,2E,63,F6,0F,00,FD,EF
      |                                       |             |    |         |      |           06 D2 2F 98 |
      |                                       |             |    |         |      |           37 2E 63 F6 |
      |                                       |             |    |         |      |           0F 00 FD EF |
 1593 |  8        ../assets/maps.lzsa2     65 | Data        | 11 |         |   16 | 00/3096 : 01 D6 47 DB |                          HEX     01,D6,47,DB,26,6F,EE,02,ED,02,08,06,F2,02,06,03
      |                                       |             |    |         |      |           26 6F EE 02 |
      |                                       |             |    |         |      |           ED 02 08 06 |
      |                                       |             |    |         |      |           F2 02 06 03 |
 1594 |  8        ../assets/maps.lzsa2     66 | Data        | 11 |         |   16 | 00/30A6 : B0 47 B3 0F |                          HEX     B0,47,B3,0F,02,B1,27,6F,08,EC,03,EF,03,02,47,9C
      |                                       |             |    |         |      |           02 B1 27 6F |
      |                                       |             |    |         |      |           08 EC 03 EF |
      |                                       |             |    |         |      |           03 02 47 9C |
 1595 |  8        ../assets/maps.lzsa2     67 | Data        | 11 |         |   16 | 00/30B6 : 27 6F 06 0D |                          HEX     27,6F,06,0D,04,FB,00,46,4B,4F,01,74,00,EE,00,49
      |                                       |             |    |         |      |           04 FB 00 46 |
      |                                       |             |    |         |      |           4B 4F 01 74 |
      |                                       |             |    |         |      |           00 EE 00 49 |
 1596 |  8        ../assets/maps.lzsa2     68 | Data        | 11 |         |   16 | 00/30C6 : 02 B0 07 06 |                          HEX     02,B0,07,06,26,46,9C,27,63,4A,00,38,41,1E,27,65
      |                                       |             |    |         |      |           26 46 9C 27 |
      |                                       |             |    |         |      |           63 4A 00 38 |
      |                                       |             |    |         |      |           41 1E 27 65 |
 1597 |  8        ../assets/maps.lzsa2     69 | Data        | 11 |         |   16 | 00/30D6 : 43 1E 27 64 |                          HEX     43,1E,27,64,20,92,24,47,B0,46,27,15,EF,00,64,CE
      |                                       |             |    |         |      |           20 92 24 47 |
      |                                       |             |    |         |      |           B0 46 27 15 |
      |                                       |             |    |         |      |           EF 00 64 CE |
 1598 |  8        ../assets/maps.lzsa2     70 | Data        | 11 |         |   16 | 00/30E6 : 47 88 56 23 |                          HEX     47,88,56,23,EF,06,3A,45,4C,EE,01,43,38,21,47,74
      |                                       |             |    |         |      |           EF 06 3A 45 |
      |                                       |             |    |         |      |           4C EE 01 43 |
      |                                       |             |    |         |      |           38 21 47 74 |
 1599 |  8        ../assets/maps.lzsa2     71 | Data        | 11 |         |   16 | 00/30F6 : 76 2F 01 FA |                          HEX     76,2F,01,FA,0A,41,52,67,23,27,6C,66,48,EF,06,2D
      |                                       |             |    |         |      |           0A 41 52 67 |
      |                                       |             |    |         |      |           23 27 6C 66 |
      |                                       |             |    |         |      |           48 EF 06 2D |
 1600 |  8        ../assets/maps.lzsa2     72 | Data        | 11 |         |   16 | 00/3106 : 64 71 23 66 |                          HEX     64,71,23,66,0B,47,B0,66,27,EF,0F,04,3F,46,74,05
      |                                       |             |    |         |      |           0B 47 B0 66 |
      |                                       |             |    |         |      |           27 EF 0F 04 |
      |                                       |             |    |         |      |           3F 46 74 05 |
 1601 |  8        ../assets/maps.lzsa2     73 | Data        | 11 |         |   16 | 00/3116 : 46 9C 87 FF |                          HEX     46,9C,87,FF,80,1B,ED,05,26,66,EF,02,8D,06,F4,7F
      |                                       |             |    |         |      |           80 1B ED 05 |
      |                                       |             |    |         |      |           26 66 EF 02 |
      |                                       |             |    |         |      |           8D 06 F4 7F |
 1602 |  8        ../assets/maps.lzsa2     74 | Data        | 11 |         |   16 | 00/3126 : EA 05 F7 06 |                          HEX     EA,05,F7,06,01,4B,05,CE,27,66,62,17,27,64,EA,03
      |                                       |             |    |         |      |           01 4B 05 CE |
      |                                       |             |    |         |      |           27 66 62 17 |
      |                                       |             |    |         |      |           27 64 EA 03 |
 1603 |  8        ../assets/maps.lzsa2     75 | Data        | 11 |         |   16 | 00/3136 : 41 BC 47 9C |                          HEX     41,BC,47,9C,66,65,2B,64,3C,27,9F,8D,04,82,6F,05
      |                                       |             |    |         |      |           66 65 2B 64 |
      |                                       |             |    |         |      |           3C 27 9F 8D |
      |                                       |             |    |         |      |           04 82 6F 05 |
 1604 |  8        ../assets/maps.lzsa2     76 | Data        | 11 |         |   16 | 00/3146 : 67 2F A6 F6 |                          HEX     67,2F,A6,F6,23,65,67,86,41,88,20,46,27,83,01,25
      |                                       |             |    |         |      |           23 65 67 86 |
      |                                       |             |    |         |      |           41 88 20 46 |
      |                                       |             |    |         |      |           27 83 01 25 |
 1605 |  8        ../assets/maps.lzsa2     77 | Data        | 11 |         |   16 | 00/3156 : 66 66 D4 25 |                          HEX     66,66,D4,25,07,F5,43,24,27,67,67,D4,F9,0B,F7,00
      |                                       |             |    |         |      |           07 F5 43 24 |
      |                                       |             |    |         |      |           27 67 67 D4 |
      |                                       |             |    |         |      |           F9 0B F7 00 |
 1606 |  8        ../assets/maps.lzsa2     78 | Data        | 11 |         |   16 | 00/3166 : 02 45 5C 4F |                          HEX     02,45,5C,4F,00,AF,4F,AE,02,E1,27,6F,08,EE,00,46
      |                                       |             |    |         |      |           00 AF 4F AE |
      |                                       |             |    |         |      |           02 E1 27 6F |
      |                                       |             |    |         |      |           08 EE 00 46 |
 1607 |  8        ../assets/maps.lzsa2     79 | Data        | 11 |         |   16 | 00/3176 : 9B 46 20 27 |                          HEX     9B,46,20,27,63,AC,00,F6,B6,2F,02,6F,86,65,47,10
      |                                       |             |    |         |      |           63 AC 00 F6 |
      |                                       |             |    |         |      |           B6 2F 02 6F |
      |                                       |             |    |         |      |           86 65 47 10 |
 1608 |  8        ../assets/maps.lzsa2     80 | Data        | 11 |         |   16 | 00/3186 : 06 65 EF 23 |                          HEX     06,65,EF,23,67,6F,4F,A4,25,47,38,3D,05,2F,06,68
      |                                       |             |    |         |      |           67 6F 4F A4 |
      |                                       |             |    |         |      |           25 47 38 3D |
      |                                       |             |    |         |      |           05 2F 06 68 |
 1609 |  8        ../assets/maps.lzsa2     81 | Data        | 11 |         |   16 | 00/3196 : 87 FF 81 15 |                          HEX     87,FF,81,15,8F,01,EF,00,15,EF,05,76,26,47,87,4F
      |                                       |             |    |         |      |           8F 01 EF 00 |
      |                                       |             |    |         |      |           15 EF 05 76 |
      |                                       |             |    |         |      |           26 47 87 4F |
 1610 |  8        ../assets/maps.lzsa2     82 | Data        | 11 |         |   16 | 00/31A6 : 84 86 66 A6 |                          HEX     84,86,66,A6,47,D8,A2,47,B0,46,37,64,20,46,C4,4C
      |                                       |             |    |         |      |           47 D8 A2 47 |
      |                                       |             |    |         |      |           B0 46 37 64 |
      |                                       |             |    |         |      |           20 46 C4 4C |
 1611 |  8        ../assets/maps.lzsa2     83 | Data        | 11 |         |   16 | 00/31B6 : 02 C3 67 26 |                          HEX     02,C3,67,26,49,24,27,66,43,AF,27,6A,EF,02,5E,A7
      |                                       |             |    |         |      |           49 24 27 66 |
      |                                       |             |    |         |      |           43 AF 27 6A |
      |                                       |             |    |         |      |           EF 02 5E A7 |
 1612 |  8        ../assets/maps.lzsa2     84 | Data        | 11 |         |   16 | 00/31C6 : 75 71 EF 05 |                          HEX     75,71,EF,05,27,6F,19,44,38,27,66,A3,E6,DA,25,66
      |                                       |             |    |         |      |           27 6F 19 44 |
      |                                       |             |    |         |      |           38 27 66 A3 |
      |                                       |             |    |         |      |           E6 DA 25 66 |
 1613 |  8        ../assets/maps.lzsa2     85 | Data        | 11 |         |   16 | 00/31D6 : D4 42 89 27 |                          HEX     D4,42,89,27,67,66,23,6F,02,0D,16,25,4F,02,4C,64
      |                                       |             |    |         |      |           67 66 23 6F |
      |                                       |             |    |         |      |           02 0D 16 25 |
      |                                       |             |    |         |      |           4F 02 4C 64 |
 1614 |  8        ../assets/maps.lzsa2     86 | Data        | 11 |         |   16 | 00/31E6 : 43 C2 67 FC |                          HEX     43,C2,67,FC,4E,00,13,27,66,EF,02,65,65,88,67,D4
      |                                       |             |    |         |      |           4E 00 13 27 |
      |                                       |             |    |         |      |           66 EF 02 65 |
      |                                       |             |    |         |      |           65 88 67 D4 |
 1615 |  8        ../assets/maps.lzsa2     87 | Data        | 11 |         |   16 | 00/31F6 : 0D 03 84 6F |                          HEX     0D,03,84,6F,02,34,86,F6,BA,27,BE,87,3D,AB,EF,06
      |                                       |             |    |         |      |           02 34 86 F6 |
      |                                       |             |    |         |      |           BA 27 BE 87 |
      |                                       |             |    |         |      |           3D AB EF 06 |
 1616 |  8        ../assets/maps.lzsa2     88 | Data        | 11 |         |    6 | 00/3206 : 07 FF 27 E7 |                          HEX     07,FF,27,E7,F0,E8    
      |                                       |             |    |         |      |           F0 E8       |
 1617 |  8        ../assets/maps.lzsa2     89 | Empty       | 11 |         |    0 | 00/320C               |                                                       
 1618 |  1                    bagman.s     21 | Empty       | 11 |         |    0 | 00/320C               | TileAtlasCmp                                          
 1619 |  1                    bagman.s     22 | Directive   | 11 |         |    0 | 00/320C               |                          PUTBIN  ../assets/tileatlas.lzsa2
 1620 |  9   ../assets/tileatlas.lzsa2      1 | Data        | 11 |         |   16 | 00/320C : 0F 00 FF 0C |                          HEX     0F,00,FF,0C,35,60,02,E4,17,6E,05,35,3A,4D,1B,37
      |                                       |             |    |         |      |           35 60 02 E4 |
      |                                       |             |    |         |      |           17 6E 05 35 |
      |                                       |             |    |         |      |           3A 4D 1B 37 |
 1621 |  9   ../assets/tileatlas.lzsa2      2 | Data        | 11 |         |   16 | 00/321C : 6E 5C 39 73 |                          HEX     6E,5C,39,73,66,C4,27,36,22,26,2C,46,C4,34,30,77
      |                                       |             |    |         |      |           66 C4 27 36 |
      |                                       |             |    |         |      |           22 26 2C 46 |
      |                                       |             |    |         |      |           C4 34 30 77 |
 1622 |  9   ../assets/tileatlas.lzsa2      3 | Data        | 11 |         |   16 | 00/322C : 46 B8 46 DC |                          HEX     46,B8,46,DC,27,C7,26,6C,27,F6,0E,37,7B,76,60,F8
      |                                       |             |    |         |      |           27 C7 26 6C |
      |                                       |             |    |         |      |           27 F6 0E 37 |
      |                                       |             |    |         |      |           7B 76 60 F8 |
 1623 |  9   ../assets/tileatlas.lzsa2      4 | Data        | 11 |         |   16 | 00/323C : 6F 5E 3D 30 |                          HEX     6F,5E,3D,30,6D,5B,C3,47,A4,F0,5E,3D,20,62,24,47
      |                                       |             |    |         |      |           6D 5B C3 47 |
      |                                       |             |    |         |      |           A4 F0 5E 3D |
      |                                       |             |    |         |      |           20 62 24 47 |
 1624 |  9   ../assets/tileatlas.lzsa2      5 | Data        | 11 |         |   16 | 00/324C : 88 7F E9 5E |                          HEX     88,7F,E9,5E,EF,6D,02,4E,76,A8,EB,5C,47,A0,2A,26
      |                                       |             |    |         |      |           EF 6D 02 4E |
      |                                       |             |    |         |      |           76 A8 EB 5C |
      |                                       |             |    |         |      |           47 A0 2A 26 |
 1625 |  9   ../assets/tileatlas.lzsa2      6 | Data        | 11 |         |   16 | 00/325C : 27 C6 27 67 |                          HEX     27,C6,27,67,46,D0,EF,6D,FB,02,EF,66,47,48,2B,EA
      |                                       |             |    |         |      |           46 D0 EF 6D |
      |                                       |             |    |         |      |           FB 02 EF 66 |
      |                                       |             |    |         |      |           47 48 2B EA |
 1626 |  9   ../assets/tileatlas.lzsa2      7 | Data        | 11 |         |   16 | 00/326C : 6E 47 40 46 |                          HEX     6E,47,40,46,24,46,70,EF,5C,AE,43,C0,47,58,3A,1E
      |                                       |             |    |         |      |           24 46 70 EF |
      |                                       |             |    |         |      |           5C AE 43 C0 |
      |                                       |             |    |         |      |           47 58 3A 1E |
 1627 |  9   ../assets/tileatlas.lzsa2      8 | Data        | 11 |         |   16 | 00/327C : 44 08 11 22 |                          HEX     44,08,11,22,67,15,30,22,26,49,5B,0C,00,03,60,40
      |                                       |             |    |         |      |           67 15 30 22 |
      |                                       |             |    |         |      |           26 49 5B 0C |
      |                                       |             |    |         |      |           00 03 60 40 |
 1628 |  9   ../assets/tileatlas.lzsa2      9 | Data        | 11 |         |   16 | 00/328C : 01 03 06 00 |                          HEX     01,03,06,00,18,33,00,D0,FF,48,68,03,78,44,68,7F
      |                                       |             |    |         |      |           18 33 00 D0 |
      |                                       |             |    |         |      |           FF 48 68 03 |
      |                                       |             |    |         |      |           78 44 68 7F |
 1629 |  9   ../assets/tileatlas.lzsa2     10 | Data        | 11 |         |   16 | 00/329C : 7F 47 B8 E5 |                          HEX     7F,47,B8,E5,47,D0,26,EC,EF,03,07,F3,E9,7F,38,3F
      |                                       |             |    |         |      |           47 D0 26 EC |
      |                                       |             |    |         |      |           EF 03 07 F3 |
      |                                       |             |    |         |      |           E9 7F 38 3F |
 1630 |  9   ../assets/tileatlas.lzsa2     11 | Data        | 11 |         |   16 | 00/32AC : 40 08 11 02 |                          HEX     40,08,11,02,2A,55,47,D0,24,27,41,47,24,64,40,8D
      |                                       |             |    |         |      |           2A 55 47 D0 |
      |                                       |             |    |         |      |           24 27 41 47 |
      |                                       |             |    |         |      |           24 64 40 8D |
 1631 |  9   ../assets/tileatlas.lzsa2     12 | Data        | 11 |         |   16 | 00/32BC : 5E FE C0 EF |                          HEX     5E,FE,C0,EF,6D,82,F2,D4,62,38,21,EF,76,30,67,2C
      |                                       |             |    |         |      |           6D 82 F2 D4 |
      |                                       |             |    |         |      |           62 38 21 EF |
      |                                       |             |    |         |      |           76 30 67 2C |
 1632 |  9   ../assets/tileatlas.lzsa2     13 | Data        | 11 |         |   16 | 00/32CC : 65 C0 62 B8 |                          HEX     65,C0,62,B8,42,D4,87,F3,48,07,F3,46,D4,46,B0,46
      |                                       |             |    |         |      |           42 D4 87 F3 |
      |                                       |             |    |         |      |           48 07 F3 46 |
      |                                       |             |    |         |      |           D4 46 B0 46 |
 1633 |  9   ../assets/tileatlas.lzsa2     14 | Data        | 11 |         |   16 | 00/32DC : 94 67 08 DF |                          HEX     94,67,08,DF,44,7C,E9,40,E9,50,A1,C4,EF,6E,B2,2F
      |                                       |             |    |         |      |           44 7C E9 40 |
      |                                       |             |    |         |      |           E9 50 A1 C4 |
      |                                       |             |    |         |      |           EF 6E B2 2F |
 1634 |  9   ../assets/tileatlas.lzsa2     15 | Data        | 11 |         |   16 | 00/32EC : 5C 2B 47 44 |                          HEX     5C,2B,47,44,FF,17,00,1A,37,6E,26,CB,42,44,47,3C
      |                                       |             |    |         |      |           FF 17 00 1A |
      |                                       |             |    |         |      |           37 6E 26 CB |
      |                                       |             |    |         |      |           42 44 47 3C |
 1635 |  9   ../assets/tileatlas.lzsa2     16 | Data        | 11 |         |   16 | 00/32FC : 47 74 6F 85 |                          HEX     47,74,6F,85,B8,42,D0,A7,FD,88,A0,FB,05,F7,40,66
      |                                       |             |    |         |      |           B8 42 D0 A7 |
      |                                       |             |    |         |      |           FD 88 A0 FB |
      |                                       |             |    |         |      |           05 F7 40 66 |
 1636 |  9   ../assets/tileatlas.lzsa2     17 | Data        | 11 |         |   16 | 00/330C : 27 2B 47 58 |                          HEX     27,2B,47,58,3E,F0,00,38,87,EC,FA,0C,63,5C,67,68
      |                                       |             |    |         |      |           3E F0 00 38 |
      |                                       |             |    |         |      |           87 EC FA 0C |
      |                                       |             |    |         |      |           63 5C 67 68 |
 1637 |  9   ../assets/tileatlas.lzsa2     18 | Data        | 11 |         |   16 | 00/331C : 22 EF 87 78 |                          HEX     22,EF,87,78,B6,47,AC,EE,00,27,2E,47,44,DD,4A,01
      |                                       |             |    |         |      |           B6 47 AC EE |
      |                                       |             |    |         |      |           00 27 2E 47 |
      |                                       |             |    |         |      |           44 DD 4A 01 |
 1638 |  9   ../assets/tileatlas.lzsa2     19 | Data        | 11 |         |   16 | 00/332C : 58 57 33 00 |                          HEX     58,57,33,00,10,27,2D,46,C4,E9,5C,87,E7,68,A7,FB
      |                                       |             |    |         |      |           10 27 2D 46 |
      |                                       |             |    |         |      |           C4 E9 5C 87 |
      |                                       |             |    |         |      |           E7 68 A7 FB |
 1639 |  9   ../assets/tileatlas.lzsa2     20 | Data        | 11 |         |   16 | 00/333C : E8 87 EC 50 |                          HEX     E8,87,EC,50,48,09,DC,27,66,E8,22,43,C4,47,D0,16
      |                                       |             |    |         |      |           48 09 DC 27 |
      |                                       |             |    |         |      |           66 E8 22 43 |
      |                                       |             |    |         |      |           C4 47 D0 16 |
 1640 |  9   ../assets/tileatlas.lzsa2     21 | Data        | 11 |         |   16 | 00/334C : 4C 09 0C ED |                          HEX     4C,09,0C,ED,44,27,B7,66,80,67,E0,45,44,2D,22,44
      |                                       |             |    |         |      |           44 27 B7 66 |
      |                                       |             |    |         |      |           80 67 E0 45 |
      |                                       |             |    |         |      |           44 2D 22 44 |
 1641 |  9   ../assets/tileatlas.lzsa2     22 | Data        | 11 |         |   16 | 00/335C : 67 50 47 C0 |                          HEX     67,50,47,C0,74,26,27,64,A7,FE,70,67,F8,7A,47,B9
      |                                       |             |    |         |      |           74 26 27 64 |
      |                                       |             |    |         |      |           A7 FE 70 67 |
      |                                       |             |    |         |      |           F8 7A 47 B9 |
 1642 |  9   ../assets/tileatlas.lzsa2     23 | Data        | 11 |         |   16 | 00/336C : EF 6E 8A 4F |                          HEX     EF,6E,8A,4F,1A,D0,6F,1A,98,1E,A7,00,2E,47,A0,88
      |                                       |             |    |         |      |           1A D0 6F 1A |
      |                                       |             |    |         |      |           98 1E A7 00 |
      |                                       |             |    |         |      |           2E 47 A0 88 |
 1643 |  9   ../assets/tileatlas.lzsa2     24 | Data        | 11 |         |   16 | 00/337C : 40 E1 1C EF |                          HEX     40,E1,1C,EF,1B,03,6E,8F,38,1C,96,27,1C,27,8E,43
      |                                       |             |    |         |      |           1B 03 6E 8F |
      |                                       |             |    |         |      |           38 1C 96 27 |
      |                                       |             |    |         |      |           1C 27 8E 43 |
 1644 |  9   ../assets/tileatlas.lzsa2     25 | Data        | 11 |         |   16 | 00/338C : C0 A7 B8 7D |                          HEX     C0,A7,B8,7D,87,D0,66,E9,76,EF,6F,47,D0,EE,A7,90
      |                                       |             |    |         |      |           87 D0 66 E9 |
      |                                       |             |    |         |      |           76 EF 6F 47 |
      |                                       |             |    |         |      |           D0 EE A7 90 |
 1645 |  9   ../assets/tileatlas.lzsa2     26 | Data        | 11 |         |   16 | 00/339C : 9B 47 B4 47 |                          HEX     9B,47,B4,47,28,33,47,D0,A7,E7,B4,27,23,A7,EA,A8
      |                                       |             |    |         |      |           28 33 47 D0 |
      |                                       |             |    |         |      |           A7 E7 B4 27 |
      |                                       |             |    |         |      |           23 A7 EA A8 |
 1646 |  9   ../assets/tileatlas.lzsa2     27 | Data        | 11 |         |   16 | 00/33AC : A5 E2 90 2A |                          HEX     A5,E2,90,2A,51,69,6F,F4,42,C0,23,CD,42,54,87,CC
      |                                       |             |    |         |      |           51 69 6F F4 |
      |                                       |             |    |         |      |           42 C0 23 CD |
      |                                       |             |    |         |      |           42 54 87 CC |
 1647 |  9   ../assets/tileatlas.lzsa2     28 | Data        | 11 |         |   16 | 00/33BC : EE 8F 66 08 |                          HEX     EE,8F,66,08,BC,46,C8,25,83,EE,94,63,A4,47,CC,67
      |                                       |             |    |         |      |           BC 46 C8 25 |
      |                                       |             |    |         |      |           83 EE 94 63 |
      |                                       |             |    |         |      |           A4 47 CC 67 |
 1648 |  9   ../assets/tileatlas.lzsa2     29 | Data        | 11 |         |   16 | 00/33CC : 08 2D A7 38 |                          HEX     08,2D,A7,38,7E,86,F4,67,94,4D,47,78,67,A4,30,27
      |                                       |             |    |         |      |           7E 86 F4 67 |
      |                                       |             |    |         |      |           94 4D 47 78 |
      |                                       |             |    |         |      |           67 A4 30 27 |
 1649 |  9   ../assets/tileatlas.lzsa2     30 | Data        | 11 |         |   16 | 00/33DC : 51 67 68 67 |                          HEX     51,67,68,67,98,F5,02,47,DC,87,FD,18,42,6C,87,DB
      |                                       |             |    |         |      |           98 F5 02 47 |
      |                                       |             |    |         |      |           DC 87 FD 18 |
      |                                       |             |    |         |      |           42 6C 87 DB |
 1650 |  9   ../assets/tileatlas.lzsa2     31 | Data        | 11 |         |   16 | 00/33EC : 88 42 C4 67 |                          HEX     88,42,C4,67,B0,B2,67,68,87,D4,D0,6F,5C,5C,F4,0B
      |                                       |             |    |         |      |           B0 B2 67 68 |
      |                                       |             |    |         |      |           87 D4 D0 6F |
      |                                       |             |    |         |      |           5C 5C F4 0B |
 1651 |  9   ../assets/tileatlas.lzsa2     32 | Data        | 11 |         |   16 | 00/33FC : 27 2F 67 2C |                          HEX     27,2F,67,2C,01,47,50,2C,87,0C,EE,A7,F0,D2,26,A6
      |                                       |             |    |         |      |           01 47 50 2C |
      |                                       |             |    |         |      |           87 0C EE A7 |
      |                                       |             |    |         |      |           F0 D2 26 A6 |
 1652 |  9   ../assets/tileatlas.lzsa2     33 | Data        | 11 |         |   16 | 00/340C : D4 30 27 7C |                          HEX     D4,30,27,7C,82,B0,27,4C,65,50,67,B8,7C,26,47,A8
      |                                       |             |    |         |      |           82 B0 27 4C |
      |                                       |             |    |         |      |           65 50 67 B8 |
      |                                       |             |    |         |      |           7C 26 47 A8 |
 1653 |  9   ../assets/tileatlas.lzsa2     34 | Data        | 11 |         |   16 | 00/341C : 77 4F 6D B8 |                          HEX     77,4F,6D,B8,87,CD,F0,EF,66,7E,87,F8,BF,AF,5E,A4
      |                                       |             |    |         |      |           87 CD F0 EF |
      |                                       |             |    |         |      |           66 7E 87 F8 |
      |                                       |             |    |         |      |           BF AF 5E A4 |
 1654 |  9   ../assets/tileatlas.lzsa2     35 | Data        | 11 |         |   16 | 00/342C : 69 47 A0 F7 |                          HEX     69,47,A0,F7,7B,76,7D,A7,50,7B,ED,44,47,44,42,C0
      |                                       |             |    |         |      |           7B 76 7D A7 |
      |                                       |             |    |         |      |           50 7B ED 44 |
      |                                       |             |    |         |      |           47 44 42 C0 |
 1655 |  9   ../assets/tileatlas.lzsa2     36 | Data        | 11 |         |   16 | 00/343C : 27 65 65 A4 |                          HEX     27,65,65,A4,87,F5,30,EF,6E,76,47,18,EA,6F,24,6D
      |                                       |             |    |         |      |           87 F5 30 EF |
      |                                       |             |    |         |      |           6E 76 47 18 |
      |                                       |             |    |         |      |           EA 6F 24 6D |
 1656 |  9   ../assets/tileatlas.lzsa2     37 | Data        | 11 |         |   16 | 00/344C : 87 9C 9C 86 |                          HEX     87,9C,9C,86,18,E9,40,87,FA,C0,E8,6E,57,51,66,9C
      |                                       |             |    |         |      |           18 E9 40 87 |
      |                                       |             |    |         |      |           FA C0 E8 6E |
      |                                       |             |    |         |      |           57 51 66 9C |
 1657 |  9   ../assets/tileatlas.lzsa2     38 | Data        | 11 |         |   16 | 00/345C : 2E 87 50 4D |                          HEX     2E,87,50,4D,A7,E0,AC,27,FB,04,87,38,FD,08,6E,6F
      |                                       |             |    |         |      |           A7 E0 AC 27 |
      |                                       |             |    |         |      |           FB 04 87 38 |
      |                                       |             |    |         |      |           FD 08 6E 6F |
 1658 |  9   ../assets/tileatlas.lzsa2     39 | Data        | 11 |         |   16 | 00/346C : D0 87 10 FE |                          HEX     D0,87,10,FE,09,86,4C,87,FB,6C,67,50,EE,66,28,A7
      |                                       |             |    |         |      |           09 86 4C 87 |
      |                                       |             |    |         |      |           FB 6C 67 50 |
      |                                       |             |    |         |      |           EE 66 28 A7 |
 1659 |  9   ../assets/tileatlas.lzsa2     40 | Data        | 11 |         |   16 | 00/347C : 30 E3 EF 76 |                          HEX     30,E3,EF,76,A7,F4,40,87,BE,50,62,04,27,4C,A6,CB
      |                                       |             |    |         |      |           A7 F4 40 87 |
      |                                       |             |    |         |      |           BE 50 62 04 |
      |                                       |             |    |         |      |           27 4C A6 CB |
 1660 |  9   ../assets/tileatlas.lzsa2     41 | Data        | 11 |         |   16 | 00/348C : 90 A7 5C FC |                          HEX     90,A7,5C,FC,0A,87,78,BC,26,6F,66,3C,5C,A7,70,EE
      |                                       |             |    |         |      |           0A 87 78 BC |
      |                                       |             |    |         |      |           26 6F 66 3C |
      |                                       |             |    |         |      |           5C A7 70 EE |
 1661 |  9   ../assets/tileatlas.lzsa2     42 | Data        | 11 |         |   16 | 00/349C : 65 20 87 80 |                          HEX     65,20,87,80,EC,47,A0,66,A4,47,D0,74,26,20,AC,87
      |                                       |             |    |         |      |           EC 47 A0 66 |
      |                                       |             |    |         |      |           A4 47 D0 74 |
      |                                       |             |    |         |      |           26 20 AC 87 |
 1662 |  9   ../assets/tileatlas.lzsa2     43 | Data        | 11 |         |   16 | 00/34AC : 78 F3 05 ED |                          HEX     78,F3,05,ED,6E,6F,22,74,27,2B,63,34,26,2F,94,1A
      |                                       |             |    |         |      |           6E 6F 22 74 |
      |                                       |             |    |         |      |           27 2B 63 34 |
      |                                       |             |    |         |      |           26 2F 94 1A |
 1663 |  9   ../assets/tileatlas.lzsa2     44 | Data        | 11 |         |   16 | 00/34BC : 37 B8 21 03 |                          HEX     37,B8,21,03,47,5C,A6,AA,F8,F1,44,28,A8,18,9A,F0
      |                                       |             |    |         |      |           47 5C A6 AA |
      |                                       |             |    |         |      |           F8 F1 44 28 |
      |                                       |             |    |         |      |           A8 18 9A F0 |
 1664 |  9   ../assets/tileatlas.lzsa2     45 | Data        | 11 |         |   16 | 00/34CC : 40 01 EF 0C |                          HEX     40,01,EF,0C,83,EA,30,EA,06,07,6C,A7,F0,CE,44,7C
      |                                       |             |    |         |      |           83 EA 30 EA |
      |                                       |             |    |         |      |           06 07 6C A7 |
      |                                       |             |    |         |      |           F0 CE 44 7C |
 1665 |  9   ../assets/tileatlas.lzsa2     46 | Data        | 11 |         |   16 | 00/34DC : 20 27 48 A7 |                          HEX     20,27,48,A7,CE,BC,67,58,FA,00,A6,68,F7,00,76,5C
      |                                       |             |    |         |      |           CE BC 67 58 |
      |                                       |             |    |         |      |           FA 00 A6 68 |
      |                                       |             |    |         |      |           F7 00 76 5C |
 1666 |  9   ../assets/tileatlas.lzsa2     47 | Data        | 11 |         |   16 | 00/34EC : 83 04 EB 19 |                          HEX     83,04,EB,19,82,EB,2C,EF,06,A7,D3,AC,A7,E7,3C,A7
      |                                       |             |    |         |      |           82 EB 2C EF |
      |                                       |             |    |         |      |           06 A7 D3 AC |
      |                                       |             |    |         |      |           A7 E7 3C A7 |
 1667 |  9   ../assets/tileatlas.lzsa2     48 | Data        | 11 |         |   16 | 00/34FC : B3 E0 87 AB |                          HEX     B3,E0,87,AB,6C,87,D7,D4,26,CD,A7,5C,37,47,40,46
      |                                       |             |    |         |      |           6C 87 D7 D4 |
      |                                       |             |    |         |      |           26 CD A7 5C |
      |                                       |             |    |         |      |           37 47 40 46 |
 1668 |  9   ../assets/tileatlas.lzsa2     49 | Data        | 11 |         |   16 | 00/350C : A0 87 CF 48 |                          HEX     A0,87,CF,48,02,A7,DD,80,87,C3,C0,47,D0,33,47,70
      |                                       |             |    |         |      |           02 A7 DD 80 |
      |                                       |             |    |         |      |           87 C3 C0 47 |
      |                                       |             |    |         |      |           D0 33 47 70 |
 1669 |  9   ../assets/tileatlas.lzsa2     50 | Data        | 11 |         |   16 | 00/351C : 67 F8 35 47 |                          HEX     67,F8,35,47,70,E8,7B,A7,AF,38,0F,AF,5C,AC,08,87
      |                                       |             |    |         |      |           70 E8 7B A7 |
      |                                       |             |    |         |      |           AF 38 0F AF |
      |                                       |             |    |         |      |           5C AC 08 87 |
 1670 |  9   ../assets/tileatlas.lzsa2     51 | Data        | 11 |         |   16 | 00/352C : A5 A0 26 C9 |                          HEX     A5,A0,26,C9,A7,E8,B3,47,AC,47,58,2C,87,A8,5E,67
      |                                       |             |    |         |      |           A7 E8 B3 47 |
      |                                       |             |    |         |      |           AC 47 58 2C |
      |                                       |             |    |         |      |           87 A8 5E 67 |
 1671 |  9   ../assets/tileatlas.lzsa2     52 | Data        | 11 |         |   16 | 00/353C : 2C 22 0A 87 |                          HEX     2C,22,0A,87,24,BA,83,34,27,2A,87,CB,C4,87,F3,58
      |                                       |             |    |         |      |           24 BA 83 34 |
      |                                       |             |    |         |      |           27 2A 87 CB |
      |                                       |             |    |         |      |           C4 87 F3 58 |
 1672 |  9   ../assets/tileatlas.lzsa2     53 | Data        | 11 |         |   16 | 00/354C : 87 F7 A0 27 |                          HEX     87,F7,A0,27,2F,00,A7,F5,60,22,2B,A4,E0,86,A2,94
      |                                       |             |    |         |      |           2F 00 A7 F5 |
      |                                       |             |    |         |      |           60 22 2B A4 |
      |                                       |             |    |         |      |           E0 86 A2 94 |
 1673 |  9   ../assets/tileatlas.lzsa2     54 | Data        | 11 |         |   16 | 00/355C : 46 A4 26 66 |                          HEX     46,A4,26,66,74,A7,97,B0,A7,D7,E4,87,CB,D8,67,38
      |                                       |             |    |         |      |           74 A7 97 B0 |
      |                                       |             |    |         |      |           A7 D7 E4 87 |
      |                                       |             |    |         |      |           CB D8 67 38 |
 1674 |  9   ../assets/tileatlas.lzsa2     55 | Data        | 11 |         |   16 | 00/356C : 5A 87 D8 D0 |                          HEX     5A,87,D8,D0,20,87,9D,00,A7,97,14,67,B0,8F,86,10
      |                                       |             |    |         |      |           20 87 9D 00 |
      |                                       |             |    |         |      |           A7 97 14 67 |
      |                                       |             |    |         |      |           B0 8F 86 10 |
 1675 |  9   ../assets/tileatlas.lzsa2     56 | Data        | 11 |         |   16 | 00/357C : 87 BE 08 26 |                          HEX     87,BE,08,26,28,87,CC,9A,46,1C,A7,4C,EF,01,27,26
      |                                       |             |    |         |      |           28 87 CC 9A |
      |                                       |             |    |         |      |           46 1C A7 4C |
      |                                       |             |    |         |      |           EF 01 27 26 |
 1676 |  9   ../assets/tileatlas.lzsa2     57 | Data        | 11 |         |   16 | 00/358C : 63 D4 46 60 |                          HEX     63,D4,46,60,66,64,67,EC,3B,47,B8,44,D4,27,29,46
      |                                       |             |    |         |      |           66 64 67 EC |
      |                                       |             |    |         |      |           3B 47 B8 44 |
      |                                       |             |    |         |      |           D4 27 29 46 |
 1677 |  9   ../assets/tileatlas.lzsa2     58 | Data        | 11 |         |   16 | 00/359C : 20 47 D0 A9 |                          HEX     20,47,D0,A9,AF,66,FC,BF,A7,AC,6B,87,F8,E7,46,58
      |                                       |             |    |         |      |           AF 66 FC BF |
      |                                       |             |    |         |      |           A7 AC 6B 87 |
      |                                       |             |    |         |      |           F8 E7 46 58 |
 1678 |  9   ../assets/tileatlas.lzsa2     59 | Data        | 11 |         |   16 | 00/35AC : 67 80 87 8C |                          HEX     67,80,87,8C,80,A7,B2,48,67,84,CE,A6,00,EF,6E,BB
      |                                       |             |    |         |      |           80 A7 B2 48 |
      |                                       |             |    |         |      |           67 84 CE A6 |
      |                                       |             |    |         |      |           00 EF 6E BB |
 1679 |  9   ../assets/tileatlas.lzsa2     60 | Data        | 11 |         |   16 | 00/35BC : A7 48 69 8E |                          HEX     A7,48,69,8E,6E,68,87,EB,CC,AF,5C,8A,D8,24,89,45
      |                                       |             |    |         |      |           6E 68 87 EB |
      |                                       |             |    |         |      |           CC AF 5C 8A |
      |                                       |             |    |         |      |           D8 24 89 45 |
 1680 |  9   ../assets/tileatlas.lzsa2     61 | Data        | 11 |         |   16 | 00/35CC : D0 A7 40 A8 |                          HEX     D0,A7,40,A8,A7,C4,2B,A7,FC,22,67,38,84,D8,04,87
      |                                       |             |    |         |      |           A7 C4 2B A7 |
      |                                       |             |    |         |      |           FC 22 67 38 |
      |                                       |             |    |         |      |           84 D8 04 87 |
 1681 |  9   ../assets/tileatlas.lzsa2     62 | Data        | 11 |         |   16 | 00/35DC : E0 5D 87 84 |                          HEX     E0,5D,87,84,AA,87,A4,7F,46,54,66,30,46,C8,A6,A0
      |                                       |             |    |         |      |           AA 87 A4 7F |
      |                                       |             |    |         |      |           46 54 66 30 |
      |                                       |             |    |         |      |           46 C8 A6 A0 |
 1682 |  9   ../assets/tileatlas.lzsa2     63 | Data        | 11 |         |   16 | 00/35EC : A7 E6 F4 67 |                          HEX     A7,E6,F4,67,98,03,67,14,67,38,E9,AF,6F,28,B9,A7
      |                                       |             |    |         |      |           98 03 67 14 |
      |                                       |             |    |         |      |           67 38 E9 AF |
      |                                       |             |    |         |      |           6F 28 B9 A7 |
 1683 |  9   ../assets/tileatlas.lzsa2     64 | Data        | 11 |         |    7 | 00/35FC : 50 A8 87 38 |                          HEX     50,A8,87,38,CF,E7,E8 
      |                                       |             |    |         |      |           CF E7 E8    |
 1684 |  9   ../assets/tileatlas.lzsa2     65 | Empty       | 11 |         |    0 | 00/3603               |                                                       
 1685 |  1                    bagman.s     23 | Directive   | 11 |         |    0 | 00/3603               |                          PUT     sprshift.s           
 1686 | 10                  sprshift.s      1 | Comment     | 11 |         |    0 | 00/3603               | *
 1687 | 10                  sprshift.s      2 | Comment     | 11 |         |    0 | 00/3603               | * Bagman - Pre-shifted Sprite Generator
 1688 | 10                  sprshift.s      3 | Comment     | 11 |         |    0 | 00/3603               | *
 1689 | 10                  sprshift.s      4 | Comment     | 11 |         |    0 | 00/3603               | * Called once at init. Generates 7 shifted versions of each sprite
 1690 | 10                  sprshift.s      5 | Comment     | 11 |         |    0 | 00/3603               | * plus compressed pixel masks into aux RAM.
 1691 | 10                  sprshift.s      6 | Comment     | 11 |         |    0 | 00/3603               | *
 1692 | 10                  sprshift.s      7 | Comment     | 11 |         |    0 | 00/3603               | * Algorithm per row:
 1693 | 10                  sprshift.s      8 | Comment     | 11 |         |    0 | 00/3603               | *   1. Pack 4 DHGR bytes (7-bit) into 4 linear bytes (8-bit)
 1694 | 10                  sprshift.s      9 | Comment     | 11 |         |    0 | 00/3603               | *   2. Byte-shift and optional nibble-shift
 1695 | 10                  sprshift.s     10 | Comment     | 11 |         |    0 | 00/3603               | *   3. Unpack 7 linear bytes into 8 DHGR bytes (7-bit + bit 7)
 1696 | 10                  sprshift.s     11 | Comment     | 11 |         |    0 | 00/3603               | *   4. Write to aux RAM via RAMWRTAUX
 1697 | 10                  sprshift.s     12 | Comment     | 11 |         |    0 | 00/3603               | *
 1698 | 10                  sprshift.s     13 | Empty       | 11 |         |    0 | 00/3603               |                                                       
 1699 | 10                  sprshift.s     14 | Comment     | 11 |         |    0 | 00/3603               | * Work buffer in zero page
 1700 | 10                  sprshift.s     15 | Equivalence | 11 |         |    0 | 00/3603               | LinBuf                   =       $20                  ; 7 bytes - linear packed pixel buffer
 1701 | 10                  sprshift.s     16 | Equivalence | 11 |         |    0 | 00/3603               | DstBuf                   =       $27                  ; 8 bytes - DHGR output buffer
 1702 | 10                  sprshift.s     17 | Equivalence | 11 |         |    0 | 00/3603               | SrcBuf                   =       $30                  ; 4 bytes - source DHGR bytes
 1703 | 10                  sprshift.s     18 | Equivalence | 11 |         |    0 | 00/3603               | ShiftCnt                 =       $34                  ; current shift (0-6)
 1704 | 10                  sprshift.s     19 | Equivalence | 11 |         |    0 | 00/3603               | GenSprIdx                =       $35                  ; current sprite index
 1705 | 10                  sprshift.s     20 | Equivalence | 11 |         |    0 | 00/3603               | GenRowIdx                =       $36                  ; current row index
 1706 | 10                  sprshift.s     21 | Equivalence | 11 |         |    0 | 00/3603               | GenSrcOfs                =       $37                  ; source offset within sprite (0-47)
 1707 | 10                  sprshift.s     22 | Empty       | 11 |         |    0 | 00/3603               |                                                       
 1708 | 10                  sprshift.s     23 | Comment     | 11 |         |    0 | 00/3603               | *----------------------------------------------
 1709 | 10                  sprshift.s     24 | Comment     | 11 |         |    0 | 00/3603               | * GenShiftedSprites - Generate all pre-shifted
 1710 | 10                  sprshift.s     25 | Comment     | 11 |         |    0 | 00/3603               | * sprite data and compressed masks into aux RAM.
 1711 | 10                  sprshift.s     26 | Comment     | 11 |         |    0 | 00/3603               | * Also installs the ZP aux-read trampoline.
 1712 | 10                  sprshift.s     27 | Comment     | 11 |         |    0 | 00/3603               | *----------------------------------------------
 1713 | 10                  sprshift.s     28 | Empty       | 11 |         |    0 | 00/3603               | GenShiftedSprites                                     
 1714 | 10                  sprshift.s     29 | Comment     | 11 |         |    0 | 00/3603               | * Install ReadAux trampoline into zero page ($50-$68).
 1715 | 10                  sprshift.s     30 | Comment     | 11 |         |    0 | 00/3603               | * This code lives in ZP so instruction fetches always come
 1716 | 10                  sprshift.s     31 | Comment     | 11 |         |    0 | 00/3603               | * from main RAM even when RAMRDAUX is active.
 1717 | 10                  sprshift.s     32 | Comment     | 11 |         |    0 | 00/3603               | *
 1718 | 10                  sprshift.s     33 | Comment     | 11 |         |    0 | 00/3603               | * The routine reads 8 sprite bytes from (SrcPtr) and
 1719 | 10                  sprshift.s     34 | Comment     | 11 |         |    0 | 00/3603               | * 1 compressed mask byte from (DstPtr)[SubRow] into SprBuf/Temp1.
 1720 | 10                  sprshift.s     35 | Comment     | 11 |         |    0 | 00/3603               | *
 1721 | 10                  sprshift.s     36 | Comment     | 11 |         |    0 | 00/3603               | * $50: STA $C003       ; RAMRDAUX
 1722 | 10                  sprshift.s     37 | Comment     | 11 |         |    0 | 00/3603               | * $53: LDY #$00
 1723 | 10                  sprshift.s     38 | Comment     | 11 |         |    0 | 00/3603               | * $55: LDA (SrcPtr),Y  ; loop: read sprite byte from aux
 1724 | 10                  sprshift.s     39 | Comment     | 11 |         |    0 | 00/3603               | * $57: STA $0038,Y     ; store to SprBuf (abs,Y)
 1725 | 10                  sprshift.s     40 | Comment     | 11 |         |    0 | 00/3603               | * $5A: INY
 1726 | 10                  sprshift.s     41 | Comment     | 11 |         |    0 | 00/3603               | * $5B: CPY #$08
 1727 | 10                  sprshift.s     42 | Comment     | 11 |         |    0 | 00/3603               | * $5D: BNE $55
 1728 | 10                  sprshift.s     43 | Comment     | 11 |         |    0 | 00/3603               | * $5F: LDY SubRow
 1729 | 10                  sprshift.s     44 | Comment     | 11 |         |    0 | 00/3603               | * $61: LDA (DstPtr),Y  ; read compressed mask from aux
 1730 | 10                  sprshift.s     45 | Comment     | 11 |         |    0 | 00/3603               | * $63: STA Temp1
 1731 | 10                  sprshift.s     46 | Comment     | 11 |         |    0 | 00/3603               | * $65: STA $C002       ; RAMRDMAIN
 1732 | 10                  sprshift.s     47 | Comment     | 11 |         |    0 | 00/3603               | * $68: RTS
 1733 | 10                  sprshift.s     48 | Comment     | 11 |         |    0 | 00/3603               | *
 1734 | 10                  sprshift.s     49 | Code        | 11 |         |    2 | 00/3603 : A2 00       |                          LDX     #0                   
 1735 | 10                  sprshift.s     50 | Code        | 11 |         |    3 | 00/3605 : BD CB 38    | _cpyRA                   LDA     _ReadAuxBytes,X      
 1736 | 10                  sprshift.s     51 | Code        | 11 |         |    2 | 00/3608 : 95 50       |                          STA     {$50},X              
 1737 | 10                  sprshift.s     52 | Code        | 11 |         |    1 | 00/360A : E8          |                          INX                          
 1738 | 10                  sprshift.s     53 | Code        | 11 |         |    2 | 00/360B : E0 19       |                          CPX     #25                  
 1739 | 10                  sprshift.s     54 | Code        | 11 |         |    2 | 00/360D : D0 F6       |                          BNE     _cpyRA               
 1740 | 10                  sprshift.s     55 | Empty       | 11 |         |    0 | 00/360F               |                                                       
 1741 | 10                  sprshift.s     56 | Code        | 11 |         |    3 | 00/360F : 20 E4 38    |                          JSR     AnimInit             
 1742 | 10                  sprshift.s     57 | Empty       | 11 |         |    0 | 00/3612               |                                                       
 1743 | 10                  sprshift.s     58 | Code        | 11 |         |    2 | 00/3612 : 64 35       |                          STZ     {$35}                
 1744 | 10                  sprshift.s     59 | Empty       | 11 |         |    0 | 00/3614               |                                                       
 1745 | 10                  sprshift.s     60 | Empty       | 11 |         |    0 | 00/3614               | ozunid_3                                              
 1746 | 10                  sprshift.s     61 | Code        | 11 |         |    2 | 00/3614 : A6 35       |                          LDX     {$35}                
 1747 | 10                  sprshift.s     62 | Code        | 11 |         |    3 | 00/3616 : BD 6E 28    |                          LDA     SprKind,X            
 1748 | 10                  sprshift.s     63 | Code        | 11 |         |    2 | 00/3619 : C9 FF       |                          CMP     #$FF                 
 1749 | 10                  sprshift.s     64 | Code        | 11 |         |    2 | 00/361B : D0 03       |                          BNE     ozunid_4             
 1750 | 10                  sprshift.s     65 | Code        | 11 |         |    3 | 00/361D : 4C EE 36    |                          JMP     _nextSpr             ; unused slot: skip mask + shift passes
 1751 | 10                  sprshift.s     66 | Empty       | 11 |         |    0 | 00/3620               |                                                       
 1752 | 10                  sprshift.s     67 | Empty       | 11 |         |    0 | 00/3620               | ozunid_4                                              
 1753 | 10                  sprshift.s     68 | Comment     | 11 |         |    0 | 00/3620               | * Set source pointer to base sprite in SpriteAtlas
 1754 | 10                  sprshift.s     69 | Code        | 11 |         |    3 | 00/3620 : BD 48 27    |                          LDA     SprAddrL,X           
 1755 | 10                  sprshift.s     70 | Code        | 11 |         |    2 | 00/3623 : 85 04       |                          STA     {$04}                
 1756 | 10                  sprshift.s     71 | Code        | 11 |         |    3 | 00/3625 : BD 79 27    |                          LDA     SprAddrH,X           
 1757 | 10                  sprshift.s     72 | Code        | 11 |         |    2 | 00/3628 : 85 05       |                          STA     {$04}+1              
 1758 | 10                  sprshift.s     73 | Empty       | 11 |         |    0 | 00/362A               |                                                       
 1759 | 10                  sprshift.s     74 | Comment     | 11 |         |    0 | 00/362A               | * Compact frames have no mask: skip Pass 1
 1760 | 10                  sprshift.s     75 | Code        | 11 |         |    3 | 00/362A : BD 6E 28    |                          LDA     SprKind,X            
 1761 | 10                  sprshift.s     76 | Code        | 11 |         |    2 | 00/362D : C9 01       |                          CMP     #$01                 
 1762 | 10                  sprshift.s     77 | Code        | 11 |         |    2 | 00/362F : F0 42       |                          BEQ     _skipMaskPass        
 1763 | 10                  sprshift.s     78 | Empty       | 11 |         |    0 | 00/3631               |                                                       
 1764 | 10                  sprshift.s     79 | Comment     | 11 |         |    0 | 00/3631               | * Set compressed mask destination
 1765 | 10                  sprshift.s     80 | Code        | 11 |         |    3 | 00/3631 : BD 0C 28    |                          LDA     ICmpMaskAdL,X        
 1766 | 10                  sprshift.s     81 | Code        | 11 |         |    2 | 00/3634 : 85 02       |                          STA     {$02}                
 1767 | 10                  sprshift.s     82 | Code        | 11 |         |    3 | 00/3636 : BD 3D 28    |                          LDA     ICmpMaskAdH,X        
 1768 | 10                  sprshift.s     83 | Code        | 11 |         |    2 | 00/3639 : 85 03       |                          STA     {$02}+1              
 1769 | 10                  sprshift.s     84 | Empty       | 11 |         |    0 | 00/363B               |                                                       
 1770 | 10                  sprshift.s     85 | Comment     | 11 |         |    0 | 00/363B               | * --- Pass 1: compute compressed masks (12 bytes) ---
 1771 | 10                  sprshift.s     86 | Code        | 11 |         |    2 | 00/363B : A0 00       |                          LDY     #0                   ; source offset & row index
 1772 | 10                  sprshift.s     87 | Empty       | 11 |         |    0 | 00/363D               | _maskLoop                                             
 1773 | 10                  sprshift.s     88 | Code        | 11 |         |    2 | 00/363D : B1 04       |                          LDA     ({$04}),Y            
 1774 | 10                  sprshift.s     89 | Code        | 11 |         |    2 | 00/363F : 29 7F       |                          AND     #$7F                 
 1775 | 10                  sprshift.s     90 | Code        | 11 |         |    2 | 00/3641 : 85 30       |                          STA     {$30}+0              
 1776 | 10                  sprshift.s     91 | Code        | 11 |         |    1 | 00/3643 : C8          |                          INY                          
 1777 | 10                  sprshift.s     92 | Code        | 11 |         |    2 | 00/3644 : B1 04       |                          LDA     ({$04}),Y            
 1778 | 10                  sprshift.s     93 | Code        | 11 |         |    2 | 00/3646 : 29 7F       |                          AND     #$7F                 
 1779 | 10                  sprshift.s     94 | Code        | 11 |         |    2 | 00/3648 : 85 31       |                          STA     {$30}+1              
 1780 | 10                  sprshift.s     95 | Code        | 11 |         |    1 | 00/364A : C8          |                          INY                          
 1781 | 10                  sprshift.s     96 | Code        | 11 |         |    2 | 00/364B : B1 04       |                          LDA     ({$04}),Y            
 1782 | 10                  sprshift.s     97 | Code        | 11 |         |    2 | 00/364D : 29 7F       |                          AND     #$7F                 
 1783 | 10                  sprshift.s     98 | Code        | 11 |         |    2 | 00/364F : 85 32       |                          STA     {$30}+2              
 1784 | 10                  sprshift.s     99 | Code        | 11 |         |    1 | 00/3651 : C8          |                          INY                          
 1785 | 10                  sprshift.s    100 | Code        | 11 |         |    2 | 00/3652 : B1 04       |                          LDA     ({$04}),Y            
 1786 | 10                  sprshift.s    101 | Code        | 11 |         |    2 | 00/3654 : 29 7F       |                          AND     #$7F                 
 1787 | 10                  sprshift.s    102 | Code        | 11 |         |    2 | 00/3656 : 85 33       |                          STA     {$30}+3              
 1788 | 10                  sprshift.s    103 | Code        | 11 |         |    1 | 00/3658 : C8          |                          INY                          
 1789 | 10                  sprshift.s    104 | Code        | 11 |         |    1 | 00/3659 : 5A          |                          PHY                          ; save source offset
 1790 | 10                  sprshift.s    105 | Empty       | 11 |         |    0 | 00/365A               |                                                       
 1791 | 10                  sprshift.s    106 | Code        | 11 |         |    3 | 00/365A : 20 FD 36    |                          JSR     ComputeMask          ; result in Temp1
 1792 | 10                  sprshift.s    107 | Empty       | 11 |         |    0 | 00/365D               |                                                       
 1793 | 10                  sprshift.s    108 | Code        | 11 |         |    1 | 00/365D : 7A          |                          PLY                          
 1794 | 10                  sprshift.s    109 | Code        | 11 |         |    1 | 00/365E : 5A          |                          PHY                          
 1795 | 10                  sprshift.s    110 | Code        | 11 |         |    1 | 00/365F : 98          |                          TYA                          
 1796 | 10                  sprshift.s    111 | Code        | 11 |         |    1 | 00/3660 : 4A          |                          LSR                          
 1797 | 10                  sprshift.s    112 | Code        | 11 |         |    1 | 00/3661 : 4A          |                          LSR                          ; Y/4 = row index
 1798 | 10                  sprshift.s    113 | Code        | 11 |         |    1 | 00/3662 : A8          |                          TAY                          
 1799 | 10                  sprshift.s    114 | Code        | 11 |         |    1 | 00/3663 : 88          |                          DEY                          ; 0-based row index
 1800 | 10                  sprshift.s    115 | Code        | 11 |         |    2 | 00/3664 : A5 18       |                          LDA     {$18}                
 1801 | 10                  sprshift.s    116 | Code        | 11 |         |    3 | 00/3666 : 8D 05 C0    |                          STA     {$C005}              
 1802 | 10                  sprshift.s    117 | Code        | 11 |         |    2 | 00/3669 : 91 02       |                          STA     ({$02}),Y            
 1803 | 10                  sprshift.s    118 | Code        | 11 |         |    3 | 00/366B : 8D 04 C0    |                          STA     {$C004}              
 1804 | 10                  sprshift.s    119 | Empty       | 11 |         |    0 | 00/366E               |                                                       
 1805 | 10                  sprshift.s    120 | Code        | 11 |         |    1 | 00/366E : 7A          |                          PLY                          
 1806 | 10                  sprshift.s    121 | Code        | 11 |         |    2 | 00/366F : C0 30       |                          CPY     #48                  ; 12 rows × 4 bytes
 1807 | 10                  sprshift.s    122 | Code        | 11 |         |    2 | 00/3671 : D0 CA       |                          BNE     _maskLoop            
 1808 | 10                  sprshift.s    123 | Empty       | 11 |         |    0 | 00/3673               |                                                       
 1809 | 10                  sprshift.s    124 | Empty       | 11 |         |    0 | 00/3673               | _skipMaskPass                                         
 1810 | 10                  sprshift.s    125 | Comment     | 11 |         |    0 | 00/3673               | * --- Pass 2: generate shifted data in [shift][row] order ---
 1811 | 10                  sprshift.s    126 | Comment     | 11 |         |    0 | 00/3673               | * Destination layout: shift0-row0..row11, shift1-row0..row11, ...
 1812 | 10                  sprshift.s    127 | Comment     | 11 |         |    0 | 00/3673               | * Compact frames emit shift 0 only (96 bytes); full frames emit 7 shifts.
 1813 | 10                  sprshift.s    128 | Code        | 11 |         |    2 | 00/3673 : A6 35       |                          LDX     {$35}                
 1814 | 10                  sprshift.s    129 | Code        | 11 |         |    3 | 00/3675 : BD AA 27    |                          LDA     ISprAuxAdL,X         
 1815 | 10                  sprshift.s    130 | Code        | 11 |         |    2 | 00/3678 : 85 06       |                          STA     {$06}                
 1816 | 10                  sprshift.s    131 | Code        | 11 |         |    3 | 00/367A : BD DB 27    |                          LDA     ISprAuxAdH,X         
 1817 | 10                  sprshift.s    132 | Code        | 11 |         |    2 | 00/367D : 85 07       |                          STA     {$06}+1              
 1818 | 10                  sprshift.s    133 | Empty       | 11 |         |    0 | 00/367F               |                                                       
 1819 | 10                  sprshift.s    134 | Code        | 11 |         |    2 | 00/367F : 64 34       |                          STZ     {$34}                
 1820 | 10                  sprshift.s    135 | Empty       | 11 |         |    0 | 00/3681               |                                                       
 1821 | 10                  sprshift.s    136 | Empty       | 11 |         |    0 | 00/3681               | _shiftLoop                                            
 1822 | 10                  sprshift.s    137 | Code        | 11 |         |    2 | 00/3681 : 64 37       |                          STZ     {$37}                ; restart source for each shift
 1823 | 10                  sprshift.s    138 | Empty       | 11 |         |    0 | 00/3683               |                                                       
 1824 | 10                  sprshift.s    139 | Code        | 11 |         |    2 | 00/3683 : 64 36       |                          STZ     {$36}                
 1825 | 10                  sprshift.s    140 | Empty       | 11 |         |    0 | 00/3685               | ozunid_5                                              
 1826 | 10                  sprshift.s    141 | Comment     | 11 |         |    0 | 00/3685               | * Load 4 source bytes
 1827 | 10                  sprshift.s    142 | Code        | 11 |         |    2 | 00/3685 : A4 37       |                          LDY     {$37}                
 1828 | 10                  sprshift.s    143 | Code        | 11 |         |    2 | 00/3687 : B1 04       |                          LDA     ({$04}),Y            
 1829 | 10                  sprshift.s    144 | Code        | 11 |         |    2 | 00/3689 : 29 7F       |                          AND     #$7F                 
 1830 | 10                  sprshift.s    145 | Code        | 11 |         |    2 | 00/368B : 85 30       |                          STA     {$30}+0              
 1831 | 10                  sprshift.s    146 | Code        | 11 |         |    1 | 00/368D : C8          |                          INY                          
 1832 | 10                  sprshift.s    147 | Code        | 11 |         |    2 | 00/368E : B1 04       |                          LDA     ({$04}),Y            
 1833 | 10                  sprshift.s    148 | Code        | 11 |         |    2 | 00/3690 : 29 7F       |                          AND     #$7F                 
 1834 | 10                  sprshift.s    149 | Code        | 11 |         |    2 | 00/3692 : 85 31       |                          STA     {$30}+1              
 1835 | 10                  sprshift.s    150 | Code        | 11 |         |    1 | 00/3694 : C8          |                          INY                          
 1836 | 10                  sprshift.s    151 | Code        | 11 |         |    2 | 00/3695 : B1 04       |                          LDA     ({$04}),Y            
 1837 | 10                  sprshift.s    152 | Code        | 11 |         |    2 | 00/3697 : 29 7F       |                          AND     #$7F                 
 1838 | 10                  sprshift.s    153 | Code        | 11 |         |    2 | 00/3699 : 85 32       |                          STA     {$30}+2              
 1839 | 10                  sprshift.s    154 | Code        | 11 |         |    1 | 00/369B : C8          |                          INY                          
 1840 | 10                  sprshift.s    155 | Code        | 11 |         |    2 | 00/369C : B1 04       |                          LDA     ({$04}),Y            
 1841 | 10                  sprshift.s    156 | Code        | 11 |         |    2 | 00/369E : 29 7F       |                          AND     #$7F                 
 1842 | 10                  sprshift.s    157 | Code        | 11 |         |    2 | 00/36A0 : 85 33       |                          STA     {$30}+3              
 1843 | 10                  sprshift.s    158 | Code        | 11 |         |    1 | 00/36A2 : C8          |                          INY                          
 1844 | 10                  sprshift.s    159 | Code        | 11 |         |    2 | 00/36A3 : 84 37       |                          STY     {$37}                
 1845 | 10                  sprshift.s    160 | Empty       | 11 |         |    0 | 00/36A5               |                                                       
 1846 | 10                  sprshift.s    161 | Comment     | 11 |         |    0 | 00/36A5               | * Pack, shift, unpack
 1847 | 10                  sprshift.s    162 | Code        | 11 |         |    3 | 00/36A5 : 20 88 37    |                          JSR     PackToLinear         
 1848 | 10                  sprshift.s    163 | Code        | 11 |         |    2 | 00/36A8 : A5 34       |                          LDA     {$34}                
 1849 | 10                  sprshift.s    164 | Code        | 11 |         |    3 | 00/36AA : 20 D3 37    |                          JSR     ApplyShift           
 1850 | 10                  sprshift.s    165 | Code        | 11 |         |    3 | 00/36AD : 20 3E 38    |                          JSR     UnpackToDHGR         
 1851 | 10                  sprshift.s    166 | Empty       | 11 |         |    0 | 00/36B0               |                                                       
 1852 | 10                  sprshift.s    167 | Comment     | 11 |         |    0 | 00/36B0               | * Write 8 bytes to aux RAM. No sprite now lives in aux LC so this is
 1853 | 10                  sprshift.s    168 | Comment     | 11 |         |    0 | 00/36B0               | * always a simple RAMWRTAUX block.
 1854 | 10                  sprshift.s    169 | Code        | 11 |         |    3 | 00/36B0 : 8D 05 C0    |                          STA     {$C005}              
 1855 | 10                  sprshift.s    170 | Code        | 11 |         |    2 | 00/36B3 : A0 00       |                          LDY     #0                   
 1856 | 10                  sprshift.s    171 | Code        | 11 |         |    3 | 00/36B5 : B9 27 00    | _wrLoop                  LDA     {$27},Y              
 1857 | 10                  sprshift.s    172 | Code        | 11 |         |    2 | 00/36B8 : 91 06       |                          STA     ({$06}),Y            
 1858 | 10                  sprshift.s    173 | Code        | 11 |         |    1 | 00/36BA : C8          |                          INY                          
 1859 | 10                  sprshift.s    174 | Code        | 11 |         |    2 | 00/36BB : C0 08       |                          CPY     #8                   
 1860 | 10                  sprshift.s    175 | Code        | 11 |         |    2 | 00/36BD : D0 F6       |                          BNE     _wrLoop              
 1861 | 10                  sprshift.s    176 | Code        | 11 |         |    3 | 00/36BF : 8D 04 C0    |                          STA     {$C004}              
 1862 | 10                  sprshift.s    177 | Empty       | 11 |         |    0 | 00/36C2               |                                                       
 1863 | 10                  sprshift.s    178 | Comment     | 11 |         |    0 | 00/36C2               | * Advance destination by 8
 1864 | 10                  sprshift.s    179 | Code        | 11 |         |    1 | 00/36C2 : 18          |                          CLC                          
 1865 | 10                  sprshift.s    180 | Code        | 11 |         |    2 | 00/36C3 : A5 06       |                          LDA     {$06}                
 1866 | 10                  sprshift.s    181 | Code        | 11 |         |    2 | 00/36C5 : 69 08       |                          ADC     #8                   
 1867 | 10                  sprshift.s    182 | Code        | 11 |         |    2 | 00/36C7 : 85 06       |                          STA     {$06}                
 1868 | 10                  sprshift.s    183 | Code        | 11 |         |    2 | 00/36C9 : A5 07       |                          LDA     {$06}+1              
 1869 | 10                  sprshift.s    184 | Code        | 11 |         |    2 | 00/36CB : 69 00       |                          ADC     #0                   
 1870 | 10                  sprshift.s    185 | Code        | 11 |         |    2 | 00/36CD : 85 07       |                          STA     {$06}+1              
 1871 | 10                  sprshift.s    186 | Empty       | 11 |         |    0 | 00/36CF               |                                                       
 1872 | 10                  sprshift.s    187 | Comment     | 11 |         |    0 | 00/36CF               | * Next row
 1873 | 10                  sprshift.s    188 | Code        | 11 |         |    2 | 00/36CF : E6 36       |                          INC     {$36}                
 1874 | 10                  sprshift.s    189 | Code        | 11 |         |    2 | 00/36D1 : A5 36       |                          LDA     {$36}                
 1875 | 10                  sprshift.s    190 | Code        | 11 |         |    2 | 00/36D3 : C9 0C       |                          CMP     #12                  
 1876 | 10                  sprshift.s    191 | Code        | 11 |         |    2 | 00/36D5 : F0 03       |                          BEQ     ozunid_6             
 1877 | 10                  sprshift.s    192 | Code        | 11 |         |    3 | 00/36D7 : 4C 85 36    |                          JMP     ozunid_5             
 1878 | 10                  sprshift.s    193 | Empty       | 11 |         |    0 | 00/36DA               | ozunid_6                                              
 1879 | 10                  sprshift.s    194 | Empty       | 11 |         |    0 | 00/36DA               |                                                       
 1880 | 10                  sprshift.s    195 | Comment     | 11 |         |    0 | 00/36DA               | * Compact frames emit only shift 0 — exit before incrementing.
 1881 | 10                  sprshift.s    196 | Code        | 11 |         |    2 | 00/36DA : A6 35       |                          LDX     {$35}                
 1882 | 10                  sprshift.s    197 | Code        | 11 |         |    3 | 00/36DC : BD 6E 28    |                          LDA     SprKind,X            
 1883 | 10                  sprshift.s    198 | Code        | 11 |         |    2 | 00/36DF : C9 01       |                          CMP     #$01                 
 1884 | 10                  sprshift.s    199 | Code        | 11 |         |    2 | 00/36E1 : F0 0B       |                          BEQ     _shiftsDone          
 1885 | 10                  sprshift.s    200 | Empty       | 11 |         |    0 | 00/36E3               |                                                       
 1886 | 10                  sprshift.s    201 | Comment     | 11 |         |    0 | 00/36E3               | * Next shift
 1887 | 10                  sprshift.s    202 | Code        | 11 |         |    2 | 00/36E3 : E6 34       |                          INC     {$34}                
 1888 | 10                  sprshift.s    203 | Code        | 11 |         |    2 | 00/36E5 : A5 34       |                          LDA     {$34}                
 1889 | 10                  sprshift.s    204 | Code        | 11 |         |    2 | 00/36E7 : C9 07       |                          CMP     #7                   
 1890 | 10                  sprshift.s    205 | Code        | 11 |         |    2 | 00/36E9 : F0 03       |                          BEQ     _shiftsDone          
 1891 | 10                  sprshift.s    206 | Code        | 11 |         |    3 | 00/36EB : 4C 81 36    |                          JMP     _shiftLoop           
 1892 | 10                  sprshift.s    207 | Empty       | 11 |         |    0 | 00/36EE               | _shiftsDone                                           
 1893 | 10                  sprshift.s    208 | Empty       | 11 |         |    0 | 00/36EE               |                                                       
 1894 | 10                  sprshift.s    209 | Empty       | 11 |         |    0 | 00/36EE               | _nextSpr                                              
 1895 | 10                  sprshift.s    210 | Code        | 11 |         |    3 | 00/36EE : 20 3B 39    |                          JSR     AnimTick             
 1896 | 10                  sprshift.s    211 | Code        | 11 |         |    2 | 00/36F1 : E6 35       |                          INC     {$35}                
 1897 | 10                  sprshift.s    212 | Code        | 11 |         |    2 | 00/36F3 : A5 35       |                          LDA     {$35}                
 1898 | 10                  sprshift.s    213 | Code        | 11 |         |    2 | 00/36F5 : C9 31       |                          CMP     #{49}                
 1899 | 10                  sprshift.s    214 | Code        | 11 |         |    2 | 00/36F7 : F0 03       |                          BEQ     ozunid_7             
 1900 | 10                  sprshift.s    215 | Code        | 11 |         |    3 | 00/36F9 : 4C 14 36    |                          JMP     ozunid_3             
 1901 | 10                  sprshift.s    216 | Empty       | 11 |         |    0 | 00/36FC               |                                                       
 1902 | 10                  sprshift.s    217 | Code        | 11 |         |    1 | 00/36FC : 60          | ozunid_7                 RTS                          
 1903 | 10                  sprshift.s    218 | Empty       | 11 |         |    0 | 00/36FD               |                                                       
 1904 | 10                  sprshift.s    219 | Comment     | 11 |         |    0 | 00/36FD               | *----------------------------------------------
 1905 | 10                  sprshift.s    220 | Comment     | 11 |         |    0 | 00/36FD               | * ComputeMask - 7-bit pixel mask from SrcBuf
 1906 | 10                  sprshift.s    221 | Comment     | 11 |         |    0 | 00/36FD               | * Bit N set if pixel N is opaque (non-zero).
 1907 | 10                  sprshift.s    222 | Comment     | 11 |         |    0 | 00/36FD               | * Result in Temp1.
 1908 | 10                  sprshift.s    223 | Comment     | 11 |         |    0 | 00/36FD               | *----------------------------------------------
 1909 | 10                  sprshift.s    224 | Empty       | 11 |         |    0 | 00/36FD               | ComputeMask                                           
 1910 | 10                  sprshift.s    225 | Code        | 11 |         |    2 | 00/36FD : 64 18       |                          STZ     {$18}                
 1911 | 10                  sprshift.s    226 | Empty       | 11 |         |    0 | 00/36FF               |                                                       
 1912 | 10                  sprshift.s    227 | Comment     | 11 |         |    0 | 00/36FF               | * Pixel 0: SrcBuf[0] bits 0-3
 1913 | 10                  sprshift.s    228 | Code        | 11 |         |    2 | 00/36FF : A5 30       |                          LDA     {$30}+0              
 1914 | 10                  sprshift.s    229 | Code        | 11 |         |    2 | 00/3701 : 29 0F       |                          AND     #$0F                 
 1915 | 10                  sprshift.s    230 | Code        | 11 |         |    2 | 00/3703 : F0 06       |                          BEQ     ozunid_8             
 1916 | 10                  sprshift.s    231 | Code        | 11 |         |    2 | 00/3705 : A9 01       |                          LDA     #$01                 
 1917 | 10                  sprshift.s    232 | Code        | 11 |         |    2 | 00/3707 : 05 18       |                          ORA     {$18}                
 1918 | 10                  sprshift.s    233 | Code        | 11 |         |    2 | 00/3709 : 85 18       |                          STA     {$18}                
 1919 | 10                  sprshift.s    234 | Empty       | 11 |         |    0 | 00/370B               |                                                       
 1920 | 10                  sprshift.s    235 | Comment     | 11 |         |    0 | 00/370B               | * Pixel 1: SrcBuf[0] bits 4-6 + SrcBuf[1] bit 0
 1921 | 10                  sprshift.s    236 | Code        | 11 |         |    2 | 00/370B : A5 31       | ozunid_8                 LDA     {$30}+1              
 1922 | 10                  sprshift.s    237 | Code        | 11 |         |    2 | 00/370D : 29 01       |                          AND     #$01                 
 1923 | 10                  sprshift.s    238 | Code        | 11 |         |    1 | 00/370F : 0A          |                          ASL                          
 1924 | 10                  sprshift.s    239 | Code        | 11 |         |    1 | 00/3710 : 0A          |                          ASL                          
 1925 | 10                  sprshift.s    240 | Code        | 11 |         |    1 | 00/3711 : 0A          |                          ASL                          
 1926 | 10                  sprshift.s    241 | Code        | 11 |         |    2 | 00/3712 : 85 19       |                          STA     {$19}                
 1927 | 10                  sprshift.s    242 | Code        | 11 |         |    2 | 00/3714 : A5 30       |                          LDA     {$30}+0              
 1928 | 10                  sprshift.s    243 | Code        | 11 |         |    1 | 00/3716 : 4A          |                          LSR                          
 1929 | 10                  sprshift.s    244 | Code        | 11 |         |    1 | 00/3717 : 4A          |                          LSR                          
 1930 | 10                  sprshift.s    245 | Code        | 11 |         |    1 | 00/3718 : 4A          |                          LSR                          
 1931 | 10                  sprshift.s    246 | Code        | 11 |         |    1 | 00/3719 : 4A          |                          LSR                          
 1932 | 10                  sprshift.s    247 | Code        | 11 |         |    2 | 00/371A : 05 19       |                          ORA     {$19}                
 1933 | 10                  sprshift.s    248 | Code        | 11 |         |    2 | 00/371C : 29 0F       |                          AND     #$0F                 
 1934 | 10                  sprshift.s    249 | Code        | 11 |         |    2 | 00/371E : F0 06       |                          BEQ     ozunid_9             
 1935 | 10                  sprshift.s    250 | Code        | 11 |         |    2 | 00/3720 : A5 18       |                          LDA     {$18}                
 1936 | 10                  sprshift.s    251 | Code        | 11 |         |    2 | 00/3722 : 09 02       |                          ORA     #$02                 
 1937 | 10                  sprshift.s    252 | Code        | 11 |         |    2 | 00/3724 : 85 18       |                          STA     {$18}                
 1938 | 10                  sprshift.s    253 | Empty       | 11 |         |    0 | 00/3726               |                                                       
 1939 | 10                  sprshift.s    254 | Comment     | 11 |         |    0 | 00/3726               | * Pixel 2: SrcBuf[1] bits 1-4
 1940 | 10                  sprshift.s    255 | Code        | 11 |         |    2 | 00/3726 : A5 31       | ozunid_9                 LDA     {$30}+1              
 1941 | 10                  sprshift.s    256 | Code        | 11 |         |    1 | 00/3728 : 4A          |                          LSR                          
 1942 | 10                  sprshift.s    257 | Code        | 11 |         |    2 | 00/3729 : 29 0F       |                          AND     #$0F                 
 1943 | 10                  sprshift.s    258 | Code        | 11 |         |    2 | 00/372B : F0 06       |                          BEQ     ozunid_10            
 1944 | 10                  sprshift.s    259 | Code        | 11 |         |    2 | 00/372D : A5 18       |                          LDA     {$18}                
 1945 | 10                  sprshift.s    260 | Code        | 11 |         |    2 | 00/372F : 09 04       |                          ORA     #$04                 
 1946 | 10                  sprshift.s    261 | Code        | 11 |         |    2 | 00/3731 : 85 18       |                          STA     {$18}                
 1947 | 10                  sprshift.s    262 | Empty       | 11 |         |    0 | 00/3733               |                                                       
 1948 | 10                  sprshift.s    263 | Comment     | 11 |         |    0 | 00/3733               | * Pixel 3: SrcBuf[1] bits 5-6 + SrcBuf[2] bits 0-1
 1949 | 10                  sprshift.s    264 | Code        | 11 |         |    2 | 00/3733 : A5 32       | ozunid_10                LDA     {$30}+2              
 1950 | 10                  sprshift.s    265 | Code        | 11 |         |    2 | 00/3735 : 29 03       |                          AND     #$03                 
 1951 | 10                  sprshift.s    266 | Code        | 11 |         |    1 | 00/3737 : 0A          |                          ASL                          
 1952 | 10                  sprshift.s    267 | Code        | 11 |         |    1 | 00/3738 : 0A          |                          ASL                          
 1953 | 10                  sprshift.s    268 | Code        | 11 |         |    2 | 00/3739 : 85 19       |                          STA     {$19}                
 1954 | 10                  sprshift.s    269 | Code        | 11 |         |    2 | 00/373B : A5 31       |                          LDA     {$30}+1              
 1955 | 10                  sprshift.s    270 | Code        | 11 |         |    1 | 00/373D : 4A          |                          LSR                          
 1956 | 10                  sprshift.s    271 | Code        | 11 |         |    1 | 00/373E : 4A          |                          LSR                          
 1957 | 10                  sprshift.s    272 | Code        | 11 |         |    1 | 00/373F : 4A          |                          LSR                          
 1958 | 10                  sprshift.s    273 | Code        | 11 |         |    1 | 00/3740 : 4A          |                          LSR                          
 1959 | 10                  sprshift.s    274 | Code        | 11 |         |    1 | 00/3741 : 4A          |                          LSR                          
 1960 | 10                  sprshift.s    275 | Code        | 11 |         |    2 | 00/3742 : 05 19       |                          ORA     {$19}                
 1961 | 10                  sprshift.s    276 | Code        | 11 |         |    2 | 00/3744 : 29 0F       |                          AND     #$0F                 
 1962 | 10                  sprshift.s    277 | Code        | 11 |         |    2 | 00/3746 : F0 06       |                          BEQ     ozunid_11            
 1963 | 10                  sprshift.s    278 | Code        | 11 |         |    2 | 00/3748 : A5 18       |                          LDA     {$18}                
 1964 | 10                  sprshift.s    279 | Code        | 11 |         |    2 | 00/374A : 09 08       |                          ORA     #$08                 
 1965 | 10                  sprshift.s    280 | Code        | 11 |         |    2 | 00/374C : 85 18       |                          STA     {$18}                
 1966 | 10                  sprshift.s    281 | Empty       | 11 |         |    0 | 00/374E               |                                                       
 1967 | 10                  sprshift.s    282 | Comment     | 11 |         |    0 | 00/374E               | * Pixel 4: SrcBuf[2] bits 2-5
 1968 | 10                  sprshift.s    283 | Code        | 11 |         |    2 | 00/374E : A5 32       | ozunid_11                LDA     {$30}+2              
 1969 | 10                  sprshift.s    284 | Code        | 11 |         |    1 | 00/3750 : 4A          |                          LSR                          
 1970 | 10                  sprshift.s    285 | Code        | 11 |         |    1 | 00/3751 : 4A          |                          LSR                          
 1971 | 10                  sprshift.s    286 | Code        | 11 |         |    2 | 00/3752 : 29 0F       |                          AND     #$0F                 
 1972 | 10                  sprshift.s    287 | Code        | 11 |         |    2 | 00/3754 : F0 06       |                          BEQ     ozunid_12            
 1973 | 10                  sprshift.s    288 | Code        | 11 |         |    2 | 00/3756 : A5 18       |                          LDA     {$18}                
 1974 | 10                  sprshift.s    289 | Code        | 11 |         |    2 | 00/3758 : 09 10       |                          ORA     #$10                 
 1975 | 10                  sprshift.s    290 | Code        | 11 |         |    2 | 00/375A : 85 18       |                          STA     {$18}                
 1976 | 10                  sprshift.s    291 | Empty       | 11 |         |    0 | 00/375C               |                                                       
 1977 | 10                  sprshift.s    292 | Comment     | 11 |         |    0 | 00/375C               | * Pixel 5: SrcBuf[2] bit 6 + SrcBuf[3] bits 0-2
 1978 | 10                  sprshift.s    293 | Code        | 11 |         |    2 | 00/375C : A5 33       | ozunid_12                LDA     {$30}+3              
 1979 | 10                  sprshift.s    294 | Code        | 11 |         |    2 | 00/375E : 29 07       |                          AND     #$07                 
 1980 | 10                  sprshift.s    295 | Code        | 11 |         |    1 | 00/3760 : 0A          |                          ASL                          
 1981 | 10                  sprshift.s    296 | Code        | 11 |         |    2 | 00/3761 : 85 19       |                          STA     {$19}                
 1982 | 10                  sprshift.s    297 | Code        | 11 |         |    2 | 00/3763 : A5 32       |                          LDA     {$30}+2              
 1983 | 10                  sprshift.s    298 | Code        | 11 |         |    1 | 00/3765 : 2A          |                          ROL                          ; bit 6 → bit 7 → carry after ROL... no
 1984 | 10                  sprshift.s    299 | Code        | 11 |         |    1 | 00/3766 : 4A          |                          LSR                          ; bit 6 → position 5
 1985 | 10                  sprshift.s    300 | Code        | 11 |         |    1 | 00/3767 : 4A          |                          LSR                          
 1986 | 10                  sprshift.s    301 | Code        | 11 |         |    1 | 00/3768 : 4A          |                          LSR                          
 1987 | 10                  sprshift.s    302 | Code        | 11 |         |    1 | 00/3769 : 4A          |                          LSR                          
 1988 | 10                  sprshift.s    303 | Code        | 11 |         |    1 | 00/376A : 4A          |                          LSR                          
 1989 | 10                  sprshift.s    304 | Code        | 11 |         |    1 | 00/376B : 4A          |                          LSR                          ; bit 6 now in bit 0
 1990 | 10                  sprshift.s    305 | Code        | 11 |         |    2 | 00/376C : 05 19       |                          ORA     {$19}                
 1991 | 10                  sprshift.s    306 | Code        | 11 |         |    2 | 00/376E : 29 0F       |                          AND     #$0F                 
 1992 | 10                  sprshift.s    307 | Code        | 11 |         |    2 | 00/3770 : F0 06       |                          BEQ     _m6                  
 1993 | 10                  sprshift.s    308 | Code        | 11 |         |    2 | 00/3772 : A5 18       |                          LDA     {$18}                
 1994 | 10                  sprshift.s    309 | Code        | 11 |         |    2 | 00/3774 : 09 20       |                          ORA     #$20                 
 1995 | 10                  sprshift.s    310 | Code        | 11 |         |    2 | 00/3776 : 85 18       |                          STA     {$18}                
 1996 | 10                  sprshift.s    311 | Empty       | 11 |         |    0 | 00/3778               |                                                       
 1997 | 10                  sprshift.s    312 | Comment     | 11 |         |    0 | 00/3778               | * Pixel 6: SrcBuf[3] bits 3-6
 1998 | 10                  sprshift.s    313 | Code        | 11 |         |    2 | 00/3778 : A5 33       | _m6                      LDA     {$30}+3              
 1999 | 10                  sprshift.s    314 | Code        | 11 |         |    1 | 00/377A : 4A          |                          LSR                          
 2000 | 10                  sprshift.s    315 | Code        | 11 |         |    1 | 00/377B : 4A          |                          LSR                          
 2001 | 10                  sprshift.s    316 | Code        | 11 |         |    1 | 00/377C : 4A          |                          LSR                          
 2002 | 10                  sprshift.s    317 | Code        | 11 |         |    2 | 00/377D : 29 0F       |                          AND     #$0F                 
 2003 | 10                  sprshift.s    318 | Code        | 11 |         |    2 | 00/377F : F0 06       |                          BEQ     _mDone               
 2004 | 10                  sprshift.s    319 | Code        | 11 |         |    2 | 00/3781 : A5 18       |                          LDA     {$18}                
 2005 | 10                  sprshift.s    320 | Code        | 11 |         |    2 | 00/3783 : 09 40       |                          ORA     #$40                 
 2006 | 10                  sprshift.s    321 | Code        | 11 |         |    2 | 00/3785 : 85 18       |                          STA     {$18}                
 2007 | 10                  sprshift.s    322 | Code        | 11 |         |    1 | 00/3787 : 60          | _mDone                   RTS                          
 2008 | 10                  sprshift.s    323 | Empty       | 11 |         |    0 | 00/3788               |                                                       
 2009 | 10                  sprshift.s    324 | Comment     | 11 |         |    0 | 00/3788               | *----------------------------------------------
 2010 | 10                  sprshift.s    325 | Comment     | 11 |         |    0 | 00/3788               | * PackToLinear - pack 4 DHGR bytes to linear
 2011 | 10                  sprshift.s    326 | Comment     | 11 |         |    0 | 00/3788               | * Input: SrcBuf[0-3] (7 bits each)
 2012 | 10                  sprshift.s    327 | Comment     | 11 |         |    0 | 00/3788               | * Output: LinBuf[0-6]
 2013 | 10                  sprshift.s    328 | Comment     | 11 |         |    0 | 00/3788               | *
 2014 | 10                  sprshift.s    329 | Comment     | 11 |         |    0 | 00/3788               | * LinBuf[0] = SrcBuf[0] | (SrcBuf[1] & 1) << 7
 2015 | 10                  sprshift.s    330 | Comment     | 11 |         |    0 | 00/3788               | * LinBuf[1] = (SrcBuf[1] >> 1) | (SrcBuf[2] & 3) << 6
 2016 | 10                  sprshift.s    331 | Comment     | 11 |         |    0 | 00/3788               | * LinBuf[2] = (SrcBuf[2] >> 2) | (SrcBuf[3] & 7) << 5
 2017 | 10                  sprshift.s    332 | Comment     | 11 |         |    0 | 00/3788               | * LinBuf[3] = SrcBuf[3] >> 3
 2018 | 10                  sprshift.s    333 | Comment     | 11 |         |    0 | 00/3788               | * LinBuf[4-6] = 0
 2019 | 10                  sprshift.s    334 | Comment     | 11 |         |    0 | 00/3788               | *----------------------------------------------
 2020 | 10                  sprshift.s    335 | Empty       | 11 |         |    0 | 00/3788               | PackToLinear                                          
 2021 | 10                  sprshift.s    336 | Comment     | 11 |         |    0 | 00/3788               | * LinBuf[0]
 2022 | 10                  sprshift.s    337 | Code        | 11 |         |    2 | 00/3788 : A5 30       |                          LDA     {$30}+0              
 2023 | 10                  sprshift.s    338 | Code        | 11 |         |    2 | 00/378A : 85 20       |                          STA     {$20}+0              
 2024 | 10                  sprshift.s    339 | Code        | 11 |         |    2 | 00/378C : A5 31       |                          LDA     {$30}+1              
 2025 | 10                  sprshift.s    340 | Code        | 11 |         |    2 | 00/378E : 29 01       |                          AND     #$01                 
 2026 | 10                  sprshift.s    341 | Code        | 11 |         |    2 | 00/3790 : F0 06       |                          BEQ     _pk1                 
 2027 | 10                  sprshift.s    342 | Code        | 11 |         |    2 | 00/3792 : A5 20       |                          LDA     {$20}+0              
 2028 | 10                  sprshift.s    343 | Code        | 11 |         |    2 | 00/3794 : 09 80       |                          ORA     #$80                 
 2029 | 10                  sprshift.s    344 | Code        | 11 |         |    2 | 00/3796 : 85 20       |                          STA     {$20}+0              
 2030 | 10                  sprshift.s    345 | Empty       | 11 |         |    0 | 00/3798               | _pk1                                                  
 2031 | 10                  sprshift.s    346 | Comment     | 11 |         |    0 | 00/3798               | * LinBuf[1]
 2032 | 10                  sprshift.s    347 | Code        | 11 |         |    2 | 00/3798 : A5 31       |                          LDA     {$30}+1              
 2033 | 10                  sprshift.s    348 | Code        | 11 |         |    1 | 00/379A : 4A          |                          LSR                          
 2034 | 10                  sprshift.s    349 | Code        | 11 |         |    2 | 00/379B : 85 21       |                          STA     {$20}+1              
 2035 | 10                  sprshift.s    350 | Code        | 11 |         |    2 | 00/379D : A5 32       |                          LDA     {$30}+2              
 2036 | 10                  sprshift.s    351 | Code        | 11 |         |    2 | 00/379F : 29 03       |                          AND     #$03                 
 2037 | 10                  sprshift.s    352 | Code        | 11 |         |    1 | 00/37A1 : 18          |                          CLC                          
 2038 | 10                  sprshift.s    353 | Code        | 11 |         |    1 | 00/37A2 : 6A          |                          ROR                          ; bit 0 → carry
 2039 | 10                  sprshift.s    354 | Code        | 11 |         |    1 | 00/37A3 : 6A          |                          ROR                          ; carry → bit 7, bit 0 → carry. Hmm, this is messy
 2040 | 10                  sprshift.s    355 | Comment     | 11 |         |    0 | 00/37A4               | * Redo: (SrcBuf[2] & $03) << 6
 2041 | 10                  sprshift.s    356 | Code        | 11 |         |    2 | 00/37A4 : A5 32       |                          LDA     {$30}+2              
 2042 | 10                  sprshift.s    357 | Code        | 11 |         |    2 | 00/37A6 : 29 03       |                          AND     #$03                 
 2043 | 10                  sprshift.s    358 | Code        | 11 |         |    1 | 00/37A8 : 0A          |                          ASL                          
 2044 | 10                  sprshift.s    359 | Code        | 11 |         |    1 | 00/37A9 : 0A          |                          ASL                          
 2045 | 10                  sprshift.s    360 | Code        | 11 |         |    1 | 00/37AA : 0A          |                          ASL                          
 2046 | 10                  sprshift.s    361 | Code        | 11 |         |    1 | 00/37AB : 0A          |                          ASL                          
 2047 | 10                  sprshift.s    362 | Code        | 11 |         |    1 | 00/37AC : 0A          |                          ASL                          
 2048 | 10                  sprshift.s    363 | Code        | 11 |         |    1 | 00/37AD : 0A          |                          ASL                          
 2049 | 10                  sprshift.s    364 | Code        | 11 |         |    2 | 00/37AE : 05 21       |                          ORA     {$20}+1              
 2050 | 10                  sprshift.s    365 | Code        | 11 |         |    2 | 00/37B0 : 85 21       |                          STA     {$20}+1              
 2051 | 10                  sprshift.s    366 | Empty       | 11 |         |    0 | 00/37B2               |                                                       
 2052 | 10                  sprshift.s    367 | Comment     | 11 |         |    0 | 00/37B2               | * LinBuf[2]
 2053 | 10                  sprshift.s    368 | Code        | 11 |         |    2 | 00/37B2 : A5 32       |                          LDA     {$30}+2              
 2054 | 10                  sprshift.s    369 | Code        | 11 |         |    1 | 00/37B4 : 4A          |                          LSR                          
 2055 | 10                  sprshift.s    370 | Code        | 11 |         |    1 | 00/37B5 : 4A          |                          LSR                          
 2056 | 10                  sprshift.s    371 | Code        | 11 |         |    2 | 00/37B6 : 85 22       |                          STA     {$20}+2              
 2057 | 10                  sprshift.s    372 | Code        | 11 |         |    2 | 00/37B8 : A5 33       |                          LDA     {$30}+3              
 2058 | 10                  sprshift.s    373 | Code        | 11 |         |    2 | 00/37BA : 29 07       |                          AND     #$07                 
 2059 | 10                  sprshift.s    374 | Code        | 11 |         |    1 | 00/37BC : 0A          |                          ASL                          
 2060 | 10                  sprshift.s    375 | Code        | 11 |         |    1 | 00/37BD : 0A          |                          ASL                          
 2061 | 10                  sprshift.s    376 | Code        | 11 |         |    1 | 00/37BE : 0A          |                          ASL                          
 2062 | 10                  sprshift.s    377 | Code        | 11 |         |    1 | 00/37BF : 0A          |                          ASL                          
 2063 | 10                  sprshift.s    378 | Code        | 11 |         |    1 | 00/37C0 : 0A          |                          ASL                          
 2064 | 10                  sprshift.s    379 | Code        | 11 |         |    2 | 00/37C1 : 05 22       |                          ORA     {$20}+2              
 2065 | 10                  sprshift.s    380 | Code        | 11 |         |    2 | 00/37C3 : 85 22       |                          STA     {$20}+2              
 2066 | 10                  sprshift.s    381 | Empty       | 11 |         |    0 | 00/37C5               |                                                       
 2067 | 10                  sprshift.s    382 | Comment     | 11 |         |    0 | 00/37C5               | * LinBuf[3]
 2068 | 10                  sprshift.s    383 | Code        | 11 |         |    2 | 00/37C5 : A5 33       |                          LDA     {$30}+3              
 2069 | 10                  sprshift.s    384 | Code        | 11 |         |    1 | 00/37C7 : 4A          |                          LSR                          
 2070 | 10                  sprshift.s    385 | Code        | 11 |         |    1 | 00/37C8 : 4A          |                          LSR                          
 2071 | 10                  sprshift.s    386 | Code        | 11 |         |    1 | 00/37C9 : 4A          |                          LSR                          
 2072 | 10                  sprshift.s    387 | Code        | 11 |         |    2 | 00/37CA : 85 23       |                          STA     {$20}+3              
 2073 | 10                  sprshift.s    388 | Empty       | 11 |         |    0 | 00/37CC               |                                                       
 2074 | 10                  sprshift.s    389 | Comment     | 11 |         |    0 | 00/37CC               | * Clear high bytes
 2075 | 10                  sprshift.s    390 | Code        | 11 |         |    2 | 00/37CC : 64 24       |                          STZ     {$20}+4              
 2076 | 10                  sprshift.s    391 | Code        | 11 |         |    2 | 00/37CE : 64 25       |                          STZ     {$20}+5              
 2077 | 10                  sprshift.s    392 | Code        | 11 |         |    2 | 00/37D0 : 64 26       |                          STZ     {$20}+6              
 2078 | 10                  sprshift.s    393 | Code        | 11 |         |    1 | 00/37D2 : 60          |                          RTS                          
 2079 | 10                  sprshift.s    394 | Empty       | 11 |         |    0 | 00/37D3               |                                                       
 2080 | 10                  sprshift.s    395 | Comment     | 11 |         |    0 | 00/37D3               | *----------------------------------------------
 2081 | 10                  sprshift.s    396 | Comment     | 11 |         |    0 | 00/37D3               | * ApplyShift - shift LinBuf left by A*4 bits
 2082 | 10                  sprshift.s    397 | Comment     | 11 |         |    0 | 00/37D3               | * A = pixel shift (0-6)
 2083 | 10                  sprshift.s    398 | Comment     | 11 |         |    0 | 00/37D3               | *
 2084 | 10                  sprshift.s    399 | Comment     | 11 |         |    0 | 00/37D3               | * Decomposed: byte_shift = A/2, nibble = A&1
 2085 | 10                  sprshift.s    400 | Comment     | 11 |         |    0 | 00/37D3               | *----------------------------------------------
 2086 | 10                  sprshift.s    401 | Empty       | 11 |         |    0 | 00/37D3               | ApplyShift                                            
 2087 | 10                  sprshift.s    402 | Code        | 11 |         |    2 | 00/37D3 : F0 68       |                          BEQ     _asDone              ; shift 0 = no-op
 2088 | 10                  sprshift.s    403 | Code        | 11 |         |    1 | 00/37D5 : 48          |                          PHA                          
 2089 | 10                  sprshift.s    404 | Empty       | 11 |         |    0 | 00/37D6               |                                                       
 2090 | 10                  sprshift.s    405 | Comment     | 11 |         |    0 | 00/37D6               | * Compute byte shift = A/2
 2091 | 10                  sprshift.s    406 | Code        | 11 |         |    1 | 00/37D6 : 4A          |                          LSR                          ; A/2
 2092 | 10                  sprshift.s    407 | Code        | 11 |         |    2 | 00/37D7 : F0 37       |                          BEQ     _noBytes             
 2093 | 10                  sprshift.s    408 | Code        | 11 |         |    1 | 00/37D9 : AA          |                          TAX                          ; X = byte shift count (1-3)
 2094 | 10                  sprshift.s    409 | Empty       | 11 |         |    0 | 00/37DA               |                                                       
 2095 | 10                  sprshift.s    410 | Comment     | 11 |         |    0 | 00/37DA               | * Move bytes up by X positions (from top down)
 2096 | 10                  sprshift.s    411 | Code        | 11 |         |    2 | 00/37DA : A0 06       |                          LDY     #6                   
 2097 | 10                  sprshift.s    412 | Code        | 11 |         |    2 | 00/37DC : 86 1B       | _mvLoop                  STX     {$1B}                
 2098 | 10                  sprshift.s    413 | Code        | 11 |         |    1 | 00/37DE : 98          |                          TYA                          
 2099 | 10                  sprshift.s    414 | Code        | 11 |         |    1 | 00/37DF : 38          |                          SEC                          
 2100 | 10                  sprshift.s    415 | Code        | 11 |         |    2 | 00/37E0 : E5 1B       |                          SBC     {$1B}                
 2101 | 10                  sprshift.s    416 | Code        | 11 |         |    2 | 00/37E2 : 30 0D       |                          BMI     _mvClr               
 2102 | 10                  sprshift.s    417 | Code        | 11 |         |    1 | 00/37E4 : AA          |                          TAX                          
 2103 | 10                  sprshift.s    418 | Code        | 11 |         |    2 | 00/37E5 : B5 20       |                          LDA     {$20},X              
 2104 | 10                  sprshift.s    419 | Code        | 11 |         |    3 | 00/37E7 : 99 20 00    |                          STA     {$20},Y              
 2105 | 10                  sprshift.s    420 | Code        | 11 |         |    2 | 00/37EA : A6 1B       |                          LDX     {$1B}                
 2106 | 10                  sprshift.s    421 | Code        | 11 |         |    1 | 00/37EC : 88          |                          DEY                          
 2107 | 10                  sprshift.s    422 | Code        | 11 |         |    2 | 00/37ED : 10 ED       |                          BPL     _mvLoop              
 2108 | 10                  sprshift.s    423 | Code        | 11 |         |    2 | 00/37EF : 80 1F       |                          BRA     _noBytes             
 2109 | 10                  sprshift.s    424 | Empty       | 11 |         |    0 | 00/37F1               |                                                       
 2110 | 10                  sprshift.s    425 | Code        | 11 |         |    2 | 00/37F1 : A9 00       | _mvClr                   LDA     #0                   
 2111 | 10                  sprshift.s    426 | Code        | 11 |         |    3 | 00/37F3 : 99 20 00    |                          STA     {$20},Y              
 2112 | 10                  sprshift.s    427 | Code        | 11 |         |    2 | 00/37F6 : A6 1B       |                          LDX     {$1B}                
 2113 | 10                  sprshift.s    428 | Code        | 11 |         |    1 | 00/37F8 : 88          |                          DEY                          
 2114 | 10                  sprshift.s    429 | Code        | 11 |         |    2 | 00/37F9 : 10 02       |                          BPL     _mvLoop2             
 2115 | 10                  sprshift.s    430 | Code        | 11 |         |    2 | 00/37FB : 80 13       |                          BRA     _noBytes             
 2116 | 10                  sprshift.s    431 | Code        | 11 |         |    2 | 00/37FD : 86 1B       | _mvLoop2                 STX     {$1B}                
 2117 | 10                  sprshift.s    432 | Code        | 11 |         |    1 | 00/37FF : 98          |                          TYA                          
 2118 | 10                  sprshift.s    433 | Code        | 11 |         |    1 | 00/3800 : 38          |                          SEC                          
 2119 | 10                  sprshift.s    434 | Code        | 11 |         |    2 | 00/3801 : E5 1B       |                          SBC     {$1B}                
 2120 | 10                  sprshift.s    435 | Code        | 11 |         |    2 | 00/3803 : 30 EC       |                          BMI     _mvClr               
 2121 | 10                  sprshift.s    436 | Code        | 11 |         |    1 | 00/3805 : AA          |                          TAX                          
 2122 | 10                  sprshift.s    437 | Code        | 11 |         |    2 | 00/3806 : B5 20       |                          LDA     {$20},X              
 2123 | 10                  sprshift.s    438 | Code        | 11 |         |    3 | 00/3808 : 99 20 00    |                          STA     {$20},Y              
 2124 | 10                  sprshift.s    439 | Code        | 11 |         |    2 | 00/380B : A6 1B       |                          LDX     {$1B}                
 2125 | 10                  sprshift.s    440 | Code        | 11 |         |    1 | 00/380D : 88          |                          DEY                          
 2126 | 10                  sprshift.s    441 | Code        | 11 |         |    2 | 00/380E : 10 ED       |                          BPL     _mvLoop2             
 2127 | 10                  sprshift.s    442 | Empty       | 11 |         |    0 | 00/3810               |                                                       
 2128 | 10                  sprshift.s    443 | Empty       | 11 |         |    0 | 00/3810               | _noBytes                                              
 2129 | 10                  sprshift.s    444 | Comment     | 11 |         |    0 | 00/3810               | * Check if nibble shift needed (original A was odd)
 2130 | 10                  sprshift.s    445 | Code        | 11 |         |    1 | 00/3810 : 68          |                          PLA                          
 2131 | 10                  sprshift.s    446 | Code        | 11 |         |    2 | 00/3811 : 29 01       |                          AND     #$01                 
 2132 | 10                  sprshift.s    447 | Code        | 11 |         |    2 | 00/3813 : F0 28       |                          BEQ     _asDone              
 2133 | 10                  sprshift.s    448 | Empty       | 11 |         |    0 | 00/3815               |                                                       
 2134 | 10                  sprshift.s    449 | Comment     | 11 |         |    0 | 00/3815               | * Nibble shift: shift LinBuf left by 4 bits (from MSB to LSB)
 2135 | 10                  sprshift.s    450 | Code        | 11 |         |    2 | 00/3815 : A0 06       |                          LDY     #6                   
 2136 | 10                  sprshift.s    451 | Code        | 11 |         |    3 | 00/3817 : B9 20 00    |                          LDA     {$20},Y              
 2137 | 10                  sprshift.s    452 | Code        | 11 |         |    1 | 00/381A : 0A          |                          ASL                          
 2138 | 10                  sprshift.s    453 | Code        | 11 |         |    1 | 00/381B : 0A          |                          ASL                          
 2139 | 10                  sprshift.s    454 | Code        | 11 |         |    1 | 00/381C : 0A          |                          ASL                          
 2140 | 10                  sprshift.s    455 | Code        | 11 |         |    1 | 00/381D : 0A          |                          ASL                          
 2141 | 10                  sprshift.s    456 | Code        | 11 |         |    3 | 00/381E : 99 20 00    |                          STA     {$20},Y              ; high byte gets upper nibble only
 2142 | 10                  sprshift.s    457 | Empty       | 11 |         |    0 | 00/3821               |                                                       
 2143 | 10                  sprshift.s    458 | Code        | 11 |         |    1 | 00/3821 : 88          | _nibLoop                 DEY                          
 2144 | 10                  sprshift.s    459 | Code        | 11 |         |    2 | 00/3822 : 30 19       |                          BMI     _asDone              
 2145 | 10                  sprshift.s    460 | Code        | 11 |         |    3 | 00/3824 : B9 20 00    |                          LDA     {$20},Y              
 2146 | 10                  sprshift.s    461 | Code        | 11 |         |    1 | 00/3827 : 4A          |                          LSR                          
 2147 | 10                  sprshift.s    462 | Code        | 11 |         |    1 | 00/3828 : 4A          |                          LSR                          
 2148 | 10                  sprshift.s    463 | Code        | 11 |         |    1 | 00/3829 : 4A          |                          LSR                          
 2149 | 10                  sprshift.s    464 | Code        | 11 |         |    1 | 00/382A : 4A          |                          LSR                          ; high nibble → low nibble
 2150 | 10                  sprshift.s    465 | Code        | 11 |         |    3 | 00/382B : 19 21 00    |                          ORA     {$20}+1,Y            ; combine with already-shifted byte above
 2151 | 10                  sprshift.s    466 | Code        | 11 |         |    3 | 00/382E : 99 21 00    |                          STA     {$20}+1,Y            
 2152 | 10                  sprshift.s    467 | Code        | 11 |         |    3 | 00/3831 : B9 20 00    |                          LDA     {$20},Y              
 2153 | 10                  sprshift.s    468 | Code        | 11 |         |    1 | 00/3834 : 0A          |                          ASL                          
 2154 | 10                  sprshift.s    469 | Code        | 11 |         |    1 | 00/3835 : 0A          |                          ASL                          
 2155 | 10                  sprshift.s    470 | Code        | 11 |         |    1 | 00/3836 : 0A          |                          ASL                          
 2156 | 10                  sprshift.s    471 | Code        | 11 |         |    1 | 00/3837 : 0A          |                          ASL                          ; low nibble → high nibble
 2157 | 10                  sprshift.s    472 | Code        | 11 |         |    3 | 00/3838 : 99 20 00    |                          STA     {$20},Y              
 2158 | 10                  sprshift.s    473 | Code        | 11 |         |    2 | 00/383B : 80 E4       |                          BRA     _nibLoop             
 2159 | 10                  sprshift.s    474 | Empty       | 11 |         |    0 | 00/383D               |                                                       
 2160 | 10                  sprshift.s    475 | Code        | 11 |         |    1 | 00/383D : 60          | _asDone                  RTS                          
 2161 | 10                  sprshift.s    476 | Empty       | 11 |         |    0 | 00/383E               |                                                       
 2162 | 10                  sprshift.s    477 | Comment     | 11 |         |    0 | 00/383E               | *----------------------------------------------
 2163 | 10                  sprshift.s    478 | Comment     | 11 |         |    0 | 00/383E               | * UnpackToDHGR - 7 linear bytes → 8 DHGR bytes
 2164 | 10                  sprshift.s    479 | Comment     | 11 |         |    0 | 00/383E               | * Each DHGR byte = 7 bits from linear stream + bit 7 set
 2165 | 10                  sprshift.s    480 | Comment     | 11 |         |    0 | 00/383E               | *----------------------------------------------
 2166 | 10                  sprshift.s    481 | Empty       | 11 |         |    0 | 00/383E               | UnpackToDHGR                                          
 2167 | 10                  sprshift.s    482 | Comment     | 11 |         |    0 | 00/383E               | * DstBuf[0] = LinBuf[0] & $7F | $80
 2168 | 10                  sprshift.s    483 | Code        | 11 |         |    2 | 00/383E : A5 20       |                          LDA     {$20}+0              
 2169 | 10                  sprshift.s    484 | Code        | 11 |         |    2 | 00/3840 : 29 7F       |                          AND     #$7F                 
 2170 | 10                  sprshift.s    485 | Code        | 11 |         |    2 | 00/3842 : 09 80       |                          ORA     #$80                 
 2171 | 10                  sprshift.s    486 | Code        | 11 |         |    2 | 00/3844 : 85 27       |                          STA     {$27}+0              
 2172 | 10                  sprshift.s    487 | Empty       | 11 |         |    0 | 00/3846               |                                                       
 2173 | 10                  sprshift.s    488 | Comment     | 11 |         |    0 | 00/3846               | * DstBuf[1] = ((LinBuf[0] >> 7) | (LinBuf[1] << 1)) & $7F | $80
 2174 | 10                  sprshift.s    489 | Code        | 11 |         |    1 | 00/3846 : 18          |                          CLC                          
 2175 | 10                  sprshift.s    490 | Code        | 11 |         |    2 | 00/3847 : A5 20       |                          LDA     {$20}+0              
 2176 | 10                  sprshift.s    491 | Code        | 11 |         |    1 | 00/3849 : 0A          |                          ASL                          ; bit 7 → carry
 2177 | 10                  sprshift.s    492 | Code        | 11 |         |    2 | 00/384A : A5 21       |                          LDA     {$20}+1              
 2178 | 10                  sprshift.s    493 | Code        | 11 |         |    1 | 00/384C : 2A          |                          ROL                          ; carry in, shift left 1
 2179 | 10                  sprshift.s    494 | Code        | 11 |         |    2 | 00/384D : 29 7F       |                          AND     #$7F                 
 2180 | 10                  sprshift.s    495 | Code        | 11 |         |    2 | 00/384F : 09 80       |                          ORA     #$80                 
 2181 | 10                  sprshift.s    496 | Code        | 11 |         |    2 | 00/3851 : 85 28       |                          STA     {$27}+1              
 2182 | 10                  sprshift.s    497 | Empty       | 11 |         |    0 | 00/3853               |                                                       
 2183 | 10                  sprshift.s    498 | Comment     | 11 |         |    0 | 00/3853               | * DstBuf[2] = ((LinBuf[1] >> 6) | (LinBuf[2] << 2)) & $7F | $80
 2184 | 10                  sprshift.s    499 | Code        | 11 |         |    2 | 00/3853 : A5 22       |                          LDA     {$20}+2              
 2185 | 10                  sprshift.s    500 | Code        | 11 |         |    1 | 00/3855 : 0A          |                          ASL                          
 2186 | 10                  sprshift.s    501 | Code        | 11 |         |    1 | 00/3856 : 0A          |                          ASL                          
 2187 | 10                  sprshift.s    502 | Code        | 11 |         |    2 | 00/3857 : 85 19       |                          STA     {$19}                
 2188 | 10                  sprshift.s    503 | Code        | 11 |         |    2 | 00/3859 : A5 21       |                          LDA     {$20}+1              
 2189 | 10                  sprshift.s    504 | Code        | 11 |         |    1 | 00/385B : 4A          |                          LSR                          
 2190 | 10                  sprshift.s    505 | Code        | 11 |         |    1 | 00/385C : 4A          |                          LSR                          
 2191 | 10                  sprshift.s    506 | Code        | 11 |         |    1 | 00/385D : 4A          |                          LSR                          
 2192 | 10                  sprshift.s    507 | Code        | 11 |         |    1 | 00/385E : 4A          |                          LSR                          
 2193 | 10                  sprshift.s    508 | Code        | 11 |         |    1 | 00/385F : 4A          |                          LSR                          
 2194 | 10                  sprshift.s    509 | Code        | 11 |         |    1 | 00/3860 : 4A          |                          LSR                          
 2195 | 10                  sprshift.s    510 | Code        | 11 |         |    2 | 00/3861 : 05 19       |                          ORA     {$19}                
 2196 | 10                  sprshift.s    511 | Code        | 11 |         |    2 | 00/3863 : 29 7F       |                          AND     #$7F                 
 2197 | 10                  sprshift.s    512 | Code        | 11 |         |    2 | 00/3865 : 09 80       |                          ORA     #$80                 
 2198 | 10                  sprshift.s    513 | Code        | 11 |         |    2 | 00/3867 : 85 29       |                          STA     {$27}+2              
 2199 | 10                  sprshift.s    514 | Empty       | 11 |         |    0 | 00/3869               |                                                       
 2200 | 10                  sprshift.s    515 | Comment     | 11 |         |    0 | 00/3869               | * DstBuf[3] = ((LinBuf[2] >> 5) | (LinBuf[3] << 3)) & $7F | $80
 2201 | 10                  sprshift.s    516 | Code        | 11 |         |    2 | 00/3869 : A5 23       |                          LDA     {$20}+3              
 2202 | 10                  sprshift.s    517 | Code        | 11 |         |    1 | 00/386B : 0A          |                          ASL                          
 2203 | 10                  sprshift.s    518 | Code        | 11 |         |    1 | 00/386C : 0A          |                          ASL                          
 2204 | 10                  sprshift.s    519 | Code        | 11 |         |    1 | 00/386D : 0A          |                          ASL                          
 2205 | 10                  sprshift.s    520 | Code        | 11 |         |    2 | 00/386E : 85 19       |                          STA     {$19}                
 2206 | 10                  sprshift.s    521 | Code        | 11 |         |    2 | 00/3870 : A5 22       |                          LDA     {$20}+2              
 2207 | 10                  sprshift.s    522 | Code        | 11 |         |    1 | 00/3872 : 4A          |                          LSR                          
 2208 | 10                  sprshift.s    523 | Code        | 11 |         |    1 | 00/3873 : 4A          |                          LSR                          
 2209 | 10                  sprshift.s    524 | Code        | 11 |         |    1 | 00/3874 : 4A          |                          LSR                          
 2210 | 10                  sprshift.s    525 | Code        | 11 |         |    1 | 00/3875 : 4A          |                          LSR                          
 2211 | 10                  sprshift.s    526 | Code        | 11 |         |    1 | 00/3876 : 4A          |                          LSR                          
 2212 | 10                  sprshift.s    527 | Code        | 11 |         |    2 | 00/3877 : 05 19       |                          ORA     {$19}                
 2213 | 10                  sprshift.s    528 | Code        | 11 |         |    2 | 00/3879 : 29 7F       |                          AND     #$7F                 
 2214 | 10                  sprshift.s    529 | Code        | 11 |         |    2 | 00/387B : 09 80       |                          ORA     #$80                 
 2215 | 10                  sprshift.s    530 | Code        | 11 |         |    2 | 00/387D : 85 2A       |                          STA     {$27}+3              
 2216 | 10                  sprshift.s    531 | Empty       | 11 |         |    0 | 00/387F               |                                                       
 2217 | 10                  sprshift.s    532 | Comment     | 11 |         |    0 | 00/387F               | * DstBuf[4] = ((LinBuf[3] >> 4) | (LinBuf[4] << 4)) & $7F | $80
 2218 | 10                  sprshift.s    533 | Code        | 11 |         |    2 | 00/387F : A5 24       |                          LDA     {$20}+4              
 2219 | 10                  sprshift.s    534 | Code        | 11 |         |    1 | 00/3881 : 0A          |                          ASL                          
 2220 | 10                  sprshift.s    535 | Code        | 11 |         |    1 | 00/3882 : 0A          |                          ASL                          
 2221 | 10                  sprshift.s    536 | Code        | 11 |         |    1 | 00/3883 : 0A          |                          ASL                          
 2222 | 10                  sprshift.s    537 | Code        | 11 |         |    1 | 00/3884 : 0A          |                          ASL                          
 2223 | 10                  sprshift.s    538 | Code        | 11 |         |    2 | 00/3885 : 85 19       |                          STA     {$19}                
 2224 | 10                  sprshift.s    539 | Code        | 11 |         |    2 | 00/3887 : A5 23       |                          LDA     {$20}+3              
 2225 | 10                  sprshift.s    540 | Code        | 11 |         |    1 | 00/3889 : 4A          |                          LSR                          
 2226 | 10                  sprshift.s    541 | Code        | 11 |         |    1 | 00/388A : 4A          |                          LSR                          
 2227 | 10                  sprshift.s    542 | Code        | 11 |         |    1 | 00/388B : 4A          |                          LSR                          
 2228 | 10                  sprshift.s    543 | Code        | 11 |         |    1 | 00/388C : 4A          |                          LSR                          
 2229 | 10                  sprshift.s    544 | Code        | 11 |         |    2 | 00/388D : 05 19       |                          ORA     {$19}                
 2230 | 10                  sprshift.s    545 | Code        | 11 |         |    2 | 00/388F : 29 7F       |                          AND     #$7F                 
 2231 | 10                  sprshift.s    546 | Code        | 11 |         |    2 | 00/3891 : 09 80       |                          ORA     #$80                 
 2232 | 10                  sprshift.s    547 | Code        | 11 |         |    2 | 00/3893 : 85 2B       |                          STA     {$27}+4              
 2233 | 10                  sprshift.s    548 | Empty       | 11 |         |    0 | 00/3895               |                                                       
 2234 | 10                  sprshift.s    549 | Comment     | 11 |         |    0 | 00/3895               | * DstBuf[5] = ((LinBuf[4] >> 3) | (LinBuf[5] << 5)) & $7F | $80
 2235 | 10                  sprshift.s    550 | Code        | 11 |         |    2 | 00/3895 : A5 25       |                          LDA     {$20}+5              
 2236 | 10                  sprshift.s    551 | Code        | 11 |         |    1 | 00/3897 : 0A          |                          ASL                          
 2237 | 10                  sprshift.s    552 | Code        | 11 |         |    1 | 00/3898 : 0A          |                          ASL                          
 2238 | 10                  sprshift.s    553 | Code        | 11 |         |    1 | 00/3899 : 0A          |                          ASL                          
 2239 | 10                  sprshift.s    554 | Code        | 11 |         |    1 | 00/389A : 0A          |                          ASL                          
 2240 | 10                  sprshift.s    555 | Code        | 11 |         |    1 | 00/389B : 0A          |                          ASL                          
 2241 | 10                  sprshift.s    556 | Code        | 11 |         |    2 | 00/389C : 85 19       |                          STA     {$19}                
 2242 | 10                  sprshift.s    557 | Code        | 11 |         |    2 | 00/389E : A5 24       |                          LDA     {$20}+4              
 2243 | 10                  sprshift.s    558 | Code        | 11 |         |    1 | 00/38A0 : 4A          |                          LSR                          
 2244 | 10                  sprshift.s    559 | Code        | 11 |         |    1 | 00/38A1 : 4A          |                          LSR                          
 2245 | 10                  sprshift.s    560 | Code        | 11 |         |    1 | 00/38A2 : 4A          |                          LSR                          
 2246 | 10                  sprshift.s    561 | Code        | 11 |         |    2 | 00/38A3 : 05 19       |                          ORA     {$19}                
 2247 | 10                  sprshift.s    562 | Code        | 11 |         |    2 | 00/38A5 : 29 7F       |                          AND     #$7F                 
 2248 | 10                  sprshift.s    563 | Code        | 11 |         |    2 | 00/38A7 : 09 80       |                          ORA     #$80                 
 2249 | 10                  sprshift.s    564 | Code        | 11 |         |    2 | 00/38A9 : 85 2C       |                          STA     {$27}+5              
 2250 | 10                  sprshift.s    565 | Empty       | 11 |         |    0 | 00/38AB               |                                                       
 2251 | 10                  sprshift.s    566 | Comment     | 11 |         |    0 | 00/38AB               | * DstBuf[6] = ((LinBuf[5] >> 2) | (LinBuf[6] << 6)) & $7F | $80
 2252 | 10                  sprshift.s    567 | Code        | 11 |         |    2 | 00/38AB : A5 26       |                          LDA     {$20}+6              
 2253 | 10                  sprshift.s    568 | Code        | 11 |         |    1 | 00/38AD : 0A          |                          ASL                          
 2254 | 10                  sprshift.s    569 | Code        | 11 |         |    1 | 00/38AE : 0A          |                          ASL                          
 2255 | 10                  sprshift.s    570 | Code        | 11 |         |    1 | 00/38AF : 0A          |                          ASL                          
 2256 | 10                  sprshift.s    571 | Code        | 11 |         |    1 | 00/38B0 : 0A          |                          ASL                          
 2257 | 10                  sprshift.s    572 | Code        | 11 |         |    1 | 00/38B1 : 0A          |                          ASL                          
 2258 | 10                  sprshift.s    573 | Code        | 11 |         |    1 | 00/38B2 : 0A          |                          ASL                          
 2259 | 10                  sprshift.s    574 | Code        | 11 |         |    2 | 00/38B3 : 85 19       |                          STA     {$19}                
 2260 | 10                  sprshift.s    575 | Code        | 11 |         |    2 | 00/38B5 : A5 25       |                          LDA     {$20}+5              
 2261 | 10                  sprshift.s    576 | Code        | 11 |         |    1 | 00/38B7 : 4A          |                          LSR                          
 2262 | 10                  sprshift.s    577 | Code        | 11 |         |    1 | 00/38B8 : 4A          |                          LSR                          
 2263 | 10                  sprshift.s    578 | Code        | 11 |         |    2 | 00/38B9 : 05 19       |                          ORA     {$19}                
 2264 | 10                  sprshift.s    579 | Code        | 11 |         |    2 | 00/38BB : 29 7F       |                          AND     #$7F                 
 2265 | 10                  sprshift.s    580 | Code        | 11 |         |    2 | 00/38BD : 09 80       |                          ORA     #$80                 
 2266 | 10                  sprshift.s    581 | Code        | 11 |         |    2 | 00/38BF : 85 2D       |                          STA     {$27}+6              
 2267 | 10                  sprshift.s    582 | Empty       | 11 |         |    0 | 00/38C1               |                                                       
 2268 | 10                  sprshift.s    583 | Comment     | 11 |         |    0 | 00/38C1               | * DstBuf[7] = (LinBuf[6] >> 1) & $7F | $80
 2269 | 10                  sprshift.s    584 | Code        | 11 |         |    2 | 00/38C1 : A5 26       |                          LDA     {$20}+6              
 2270 | 10                  sprshift.s    585 | Code        | 11 |         |    1 | 00/38C3 : 4A          |                          LSR                          
 2271 | 10                  sprshift.s    586 | Code        | 11 |         |    2 | 00/38C4 : 29 7F       |                          AND     #$7F                 
 2272 | 10                  sprshift.s    587 | Code        | 11 |         |    2 | 00/38C6 : 09 80       |                          ORA     #$80                 
 2273 | 10                  sprshift.s    588 | Code        | 11 |         |    2 | 00/38C8 : 85 2E       |                          STA     {$27}+7              
 2274 | 10                  sprshift.s    589 | Empty       | 11 |         |    0 | 00/38CA               |                                                       
 2275 | 10                  sprshift.s    590 | Code        | 11 |         |    1 | 00/38CA : 60          |                          RTS                          
 2276 | 10                  sprshift.s    591 | Empty       | 11 |         |    0 | 00/38CB               |                                                       
 2277 | 10                  sprshift.s    592 | Comment     | 11 |         |    0 | 00/38CB               | *----------------------------------------------
 2278 | 10                  sprshift.s    593 | Comment     | 11 |         |    0 | 00/38CB               | * ReadAux trampoline byte data (25 bytes)
 2279 | 10                  sprshift.s    594 | Comment     | 11 |         |    0 | 00/38CB               | * Installed into ZP at $50 by GenShiftedSprites
 2280 | 10                  sprshift.s    595 | Comment     | 11 |         |    0 | 00/38CB               | *----------------------------------------------
 2281 | 10                  sprshift.s    596 | Empty       | 11 |         |    0 | 00/38CB               | _ReadAuxBytes                                         
 2282 | 10                  sprshift.s    597 | Data        | 11 |         |    3 | 00/38CB : 8D 03 C0    |                          HEX     8D03C0               ; STA $C003  (RAMRDAUX)
 2283 | 10                  sprshift.s    598 | Data        | 11 |         |    2 | 00/38CE : A0 00       |                          HEX     A000                 ; LDY #$00
 2284 | 10                  sprshift.s    599 | Data        | 11 |         |    2 | 00/38D0 : B1 04       |                          HEX     B104                 ; LDA ($04),Y  (SrcPtr)
 2285 | 10                  sprshift.s    600 | Data        | 11 |         |    3 | 00/38D2 : 99 38 00    |                          HEX     993800               ; STA $0038,Y  (SprBuf)
 2286 | 10                  sprshift.s    601 | Data        | 11 |         |    1 | 00/38D5 : C8          |                          HEX     C8                   ; INY
 2287 | 10                  sprshift.s    602 | Data        | 11 |         |    2 | 00/38D6 : C0 08       |                          HEX     C008                 ; CPY #$08
 2288 | 10                  sprshift.s    603 | Data        | 11 |         |    2 | 00/38D8 : D0 F6       |                          HEX     D0F6                 ; BNE $55  (-10)
 2289 | 10                  sprshift.s    604 | Data        | 11 |         |    2 | 00/38DA : A4 0D       |                          HEX     A40D                 ; LDY $0D  (SubRow)
 2290 | 10                  sprshift.s    605 | Data        | 11 |         |    2 | 00/38DC : B1 06       |                          HEX     B106                 ; LDA ($06),Y  (DstPtr)
 2291 | 10                  sprshift.s    606 | Data        | 11 |         |    2 | 00/38DE : 85 18       |                          HEX     8518                 ; STA $18  (Temp1)
 2292 | 10                  sprshift.s    607 | Data        | 11 |         |    3 | 00/38E0 : 8D 02 C0    |                          HEX     8D02C0               ; STA $C002  (RAMRDMAIN)
 2293 | 10                  sprshift.s    608 | Data        | 11 |         |    1 | 00/38E3 : 60          |                          HEX     60                   ; RTS
 2294 | 10                  sprshift.s    609 | Empty       | 11 |         |    0 | 00/38E4               |                                                       
 2295 | 10                  sprshift.s    610 | Comment     | 11 |         |    0 | 00/38E4               | * ISprAuxAdL/H, ICmpMaskAdL/H, and SprKind are generated into
 2296 | 10                  sprshift.s    611 | Comment     | 11 |         |    0 | 00/38E4               | * spriteinit.s by tools/gen_shifted_sprites.py.
 2297 | 10                  sprshift.s    612 | Empty       | 11 |         |    0 | 00/38E4               |                                                       
 2298 | 10                  sprshift.s    613 | Comment     | 11 |         |    0 | 00/38E4               | *----------------------------------------------
 2299 | 10                  sprshift.s    614 | Comment     | 11 |         |    0 | 00/38E4               | * AnimInit / AnimTick - Boot-stub progress animation.
 2300 | 10                  sprshift.s    615 | Comment     | 11 |         |    0 | 00/38E4               | * Draws a bouncing "O" with trailing "o" across
 2301 | 10                  sprshift.s    616 | Comment     | 11 |         |    0 | 00/38E4               | * text-page line 11 ($05A8) while sprite preshift
 2302 | 10                  sprshift.s    617 | Comment     | 11 |         |    0 | 00/38E4               | * runs, so the screen doesn't look hung. Lives in
 2303 | 10                  sprshift.s    618 | Comment     | 11 |         |    0 | 00/38E4               | * the throwaway boot region and vanishes when
 2304 | 10                  sprshift.s    619 | Comment     | 11 |         |    0 | 00/38E4               | * DHGRClear wipes $2000+.
 2305 | 10                  sprshift.s    620 | Comment     | 11 |         |    0 | 00/38E4               | *----------------------------------------------
 2306 | 10                  sprshift.s    621 | Equivalence | 11 |         |    0 | 00/38E4               | AnimLine                 =       $05A8                ; text-page row 11, col 0
 2307 | 10                  sprshift.s    622 | Empty       | 11 |         |    0 | 00/38E4               |                                                       
 2308 | 10                  sprshift.s    623 | Empty       | 11 |         |    0 | 00/38E4               | AnimInit                                              
 2309 | 10                  sprshift.s    624 | Code        | 11 |         |    2 | 00/38E4 : A2 27       |                          LDX     #39                  
 2310 | 10                  sprshift.s    625 | Code        | 11 |         |    2 | 00/38E6 : A9 AE       |                          LDA     #$AE                 ; '.'
 2311 | 10                  sprshift.s    626 | Code        | 11 |         |    3 | 00/38E8 : 9D A8 05    | _fill                    STA     {$05A8},X            
 2312 | 10                  sprshift.s    627 | Code        | 11 |         |    1 | 00/38EB : CA          |                          DEX                          
 2313 | 10                  sprshift.s    628 | Code        | 11 |         |    2 | 00/38EC : 10 FA       |                          BPL     _fill                
 2314 | 10                  sprshift.s    629 | Comment     | 11 |         |    0 | 00/38EE               | * Artwork credit on text row 13 ($06A8), col 7 = (40-26)/2
 2315 | 10                  sprshift.s    630 | Code        | 11 |         |    2 | 00/38EE : A2 19       |                          LDX     #25                  
 2316 | 10                  sprshift.s    631 | Code        | 11 |         |    3 | 00/38F0 : BD 0F 39    | _art                     LDA     ArtworkStr,X         
 2317 | 10                  sprshift.s    632 | Code        | 11 |         |    3 | 00/38F3 : 9D AF 06    |                          STA     $06A8+7,X            
 2318 | 10                  sprshift.s    633 | Code        | 11 |         |    1 | 00/38F6 : CA          |                          DEX                          
 2319 | 10                  sprshift.s    634 | Code        | 11 |         |    2 | 00/38F7 : 10 F7       |                          BPL     _art                 
 2320 | 10                  sprshift.s    635 | Comment     | 11 |         |    0 | 00/38F9               | * Coded credit on text row 15 ($07A8), col 11 = (40-18)/2
 2321 | 10                  sprshift.s    636 | Code        | 11 |         |    2 | 00/38F9 : A2 11       |                          LDX     #17                  
 2322 | 10                  sprshift.s    637 | Code        | 11 |         |    3 | 00/38FB : BD 29 39    | _credit                  LDA     CodedByStr,X         
 2323 | 10                  sprshift.s    638 | Code        | 11 |         |    3 | 00/38FE : 9D B3 07    |                          STA     $07A8+11,X           
 2324 | 10                  sprshift.s    639 | Code        | 11 |         |    1 | 00/3901 : CA          |                          DEX                          
 2325 | 10                  sprshift.s    640 | Code        | 11 |         |    2 | 00/3902 : 10 F7       |                          BPL     _credit              
 2326 | 10                  sprshift.s    641 | Code        | 11 |         |    2 | 00/3904 : A9 00       |                          LDA     #0                   
 2327 | 10                  sprshift.s    642 | Code        | 11 |         |    3 | 00/3906 : 8D 8B 39    |                          STA     AnimPos              
 2328 | 10                  sprshift.s    643 | Code        | 11 |         |    2 | 00/3909 : A9 01       |                          LDA     #$01                 
 2329 | 10                  sprshift.s    644 | Code        | 11 |         |    3 | 00/390B : 8D 8C 39    |                          STA     AnimDir              
 2330 | 10                  sprshift.s    645 | Code        | 11 |         |    1 | 00/390E : 60          |                          RTS                          
 2331 | 10                  sprshift.s    646 | Empty       | 11 |         |    0 | 00/390F               |                                                       
 2332 | 10                  sprshift.s    647 | Data        | 11 |         |   26 | 00/390F : C1 D2 D4 D7 | ArtworkStr               ASC     "ARTWORK BY FATDOG PROJECTS"
      |                                       |             |    |         |      |           CF D2 CB A0 |
      |                                       |             |    |         |      |           C2 D9 A0 C6 |
      |                                       |             |    |         |      |           C1 D4 C4 CF |
      |                                       |             |    |         |      |           C7 A0 D0 D2 |
      |                                       |             |    |         |      |           CF CA C5 C3 |
      |                                       |             |    |         |      |           D4 D3       |
 2333 | 10                  sprshift.s    648 | Data        | 11 |         |   18 | 00/3929 : C3 CF C4 C5 | CodedByStr               ASC     "CODED BY CLAUDE AI" 
      |                                       |             |    |         |      |           C4 A0 C2 D9 |
      |                                       |             |    |         |      |           A0 C3 CC C1 |
      |                                       |             |    |         |      |           D5 C4 C5 A0 |
      |                                       |             |    |         |      |           C1 C9       |
 2334 | 10                  sprshift.s    649 | Empty       | 11 |         |    0 | 00/393B               |                                                       
 2335 | 10                  sprshift.s    650 | Empty       | 11 |         |    0 | 00/393B               | AnimTick                                              
 2336 | 10                  sprshift.s    651 | Comment     | 11 |         |    0 | 00/393B               | * Wipe old 'O'
 2337 | 10                  sprshift.s    652 | Code        | 11 |         |    3 | 00/393B : AE 8B 39    |                          LDX     AnimPos              
 2338 | 10                  sprshift.s    653 | Code        | 11 |         |    2 | 00/393E : A9 AE       |                          LDA     #$AE                 
 2339 | 10                  sprshift.s    654 | Code        | 11 |         |    3 | 00/3940 : 9D A8 05    |                          STA     {$05A8},X            
 2340 | 10                  sprshift.s    655 | Comment     | 11 |         |    0 | 00/3943               | * Wipe old 'o' at AnimPos - AnimDir (skip if out of 0..39)
 2341 | 10                  sprshift.s    656 | Code        | 11 |         |    3 | 00/3943 : AD 8B 39    |                          LDA     AnimPos              
 2342 | 10                  sprshift.s    657 | Code        | 11 |         |    1 | 00/3946 : 38          |                          SEC                          
 2343 | 10                  sprshift.s    658 | Code        | 11 |         |    3 | 00/3947 : ED 8C 39    |                          SBC     AnimDir              
 2344 | 10                  sprshift.s    659 | Code        | 11 |         |    1 | 00/394A : AA          |                          TAX                          
 2345 | 10                  sprshift.s    660 | Code        | 11 |         |    2 | 00/394B : E0 28       |                          CPX     #40                  
 2346 | 10                  sprshift.s    661 | Code        | 11 |         |    2 | 00/394D : B0 05       |                          BCS     _noWipeTrail         
 2347 | 10                  sprshift.s    662 | Code        | 11 |         |    2 | 00/394F : A9 AE       |                          LDA     #$AE                 
 2348 | 10                  sprshift.s    663 | Code        | 11 |         |    3 | 00/3951 : 9D A8 05    |                          STA     {$05A8},X            
 2349 | 10                  sprshift.s    664 | Empty       | 11 |         |    0 | 00/3954               | _noWipeTrail                                          
 2350 | 10                  sprshift.s    665 | Comment     | 11 |         |    0 | 00/3954               | * Bounce at edges
 2351 | 10                  sprshift.s    666 | Code        | 11 |         |    3 | 00/3954 : AD 8B 39    |                          LDA     AnimPos              
 2352 | 10                  sprshift.s    667 | Code        | 11 |         |    2 | 00/3957 : D0 07       |                          BNE     _notLeft             
 2353 | 10                  sprshift.s    668 | Code        | 11 |         |    2 | 00/3959 : A9 01       |                          LDA     #$01                 
 2354 | 10                  sprshift.s    669 | Code        | 11 |         |    3 | 00/395B : 8D 8C 39    |                          STA     AnimDir              
 2355 | 10                  sprshift.s    670 | Code        | 11 |         |    2 | 00/395E : D0 09       |                          BNE     _doMove              
 2356 | 10                  sprshift.s    671 | Empty       | 11 |         |    0 | 00/3960               | _notLeft                                              
 2357 | 10                  sprshift.s    672 | Code        | 11 |         |    2 | 00/3960 : C9 27       |                          CMP     #39                  
 2358 | 10                  sprshift.s    673 | Code        | 11 |         |    2 | 00/3962 : D0 05       |                          BNE     _doMove              
 2359 | 10                  sprshift.s    674 | Code        | 11 |         |    2 | 00/3964 : A9 FF       |                          LDA     #$FF                 
 2360 | 10                  sprshift.s    675 | Code        | 11 |         |    3 | 00/3966 : 8D 8C 39    |                          STA     AnimDir              
 2361 | 10                  sprshift.s    676 | Empty       | 11 |         |    0 | 00/3969               | _doMove                                               
 2362 | 10                  sprshift.s    677 | Comment     | 11 |         |    0 | 00/3969               | * Advance position
 2363 | 10                  sprshift.s    678 | Code        | 11 |         |    3 | 00/3969 : AD 8B 39    |                          LDA     AnimPos              
 2364 | 10                  sprshift.s    679 | Code        | 11 |         |    1 | 00/396C : 18          |                          CLC                          
 2365 | 10                  sprshift.s    680 | Code        | 11 |         |    3 | 00/396D : 6D 8C 39    |                          ADC     AnimDir              
 2366 | 10                  sprshift.s    681 | Code        | 11 |         |    3 | 00/3970 : 8D 8B 39    |                          STA     AnimPos              
 2367 | 10                  sprshift.s    682 | Code        | 11 |         |    1 | 00/3973 : AA          |                          TAX                          
 2368 | 10                  sprshift.s    683 | Comment     | 11 |         |    0 | 00/3974               | * Draw new 'O'
 2369 | 10                  sprshift.s    684 | Code        | 11 |         |    2 | 00/3974 : A9 CF       |                          LDA     #$CF                 
 2370 | 10                  sprshift.s    685 | Code        | 11 |         |    3 | 00/3976 : 9D A8 05    |                          STA     {$05A8},X            
 2371 | 10                  sprshift.s    686 | Comment     | 11 |         |    0 | 00/3979               | * Draw new 'o' at AnimPos - AnimDir (skip if out of 0..39)
 2372 | 10                  sprshift.s    687 | Code        | 11 |         |    3 | 00/3979 : AD 8B 39    |                          LDA     AnimPos              
 2373 | 10                  sprshift.s    688 | Code        | 11 |         |    1 | 00/397C : 38          |                          SEC                          
 2374 | 10                  sprshift.s    689 | Code        | 11 |         |    3 | 00/397D : ED 8C 39    |                          SBC     AnimDir              
 2375 | 10                  sprshift.s    690 | Code        | 11 |         |    1 | 00/3980 : AA          |                          TAX                          
 2376 | 10                  sprshift.s    691 | Code        | 11 |         |    2 | 00/3981 : E0 28       |                          CPX     #40                  
 2377 | 10                  sprshift.s    692 | Code        | 11 |         |    2 | 00/3983 : B0 05       |                          BCS     _noDrawTrail         
 2378 | 10                  sprshift.s    693 | Code        | 11 |         |    2 | 00/3985 : A9 EF       |                          LDA     #$EF                 
 2379 | 10                  sprshift.s    694 | Code        | 11 |         |    3 | 00/3987 : 9D A8 05    |                          STA     {$05A8},X            
 2380 | 10                  sprshift.s    695 | Empty       | 11 |         |    0 | 00/398A               | _noDrawTrail                                          
 2381 | 10                  sprshift.s    696 | Code        | 11 |         |    1 | 00/398A : 60          |                          RTS                          
 2382 | 10                  sprshift.s    697 | Empty       | 11 |         |    0 | 00/398B               |                                                       
 2383 | 10                  sprshift.s    698 | Data        | 11 |         |    1 | 00/398B : 00          | AnimPos                  DS      1                    
 2384 | 10                  sprshift.s    699 | Data        | 11 |         |    1 | 00/398C : 00          | AnimDir                  DS      1                    
 2385 | 10                  sprshift.s    700 | Empty       | 11 |         |    0 | 00/398D               |                                                       
 2386 |  1                    bagman.s     24 | Directive   | 11 |         |    0 | 00/398D               |                          PUT     fontinit.s           
 2387 | 11                  fontinit.s      1 | Comment     | 11 |         |    0 | 00/398D               | *
 2388 | 11                  fontinit.s      2 | Comment     | 11 |         |    0 | 00/398D               | * Font install - copies font data to AUX Language Card
 2389 | 11                  fontinit.s      3 | Comment     | 11 |         |    0 | 00/398D               | * Init-only: this code is reclaimed after startup.
 2390 | 11                  fontinit.s      4 | Comment     | 11 |         |    0 | 00/398D               | * Font data persists in AUX LC at $E260-$E65F.
 2391 | 11                  fontinit.s      5 | Comment     | 11 |         |    0 | 00/398D               | *
 2392 | 11                  fontinit.s      6 | Empty       | 11 |         |    0 | 00/398D               |                                                       
 2393 | 11                  fontinit.s      7 | Equivalence | 11 |         |    0 | 00/398D               | FontBase                 =       $E260                ; font in AUX LC (past last sprite)
 2394 | 11                  fontinit.s      8 | Empty       | 11 |         |    0 | 00/398D               |                                                       
 2395 | 11                  fontinit.s      9 | Comment     | 11 |         |    0 | 00/398D               | *----------------------------------------------
 2396 | 11                  fontinit.s     10 | Comment     | 11 |         |    0 | 00/398D               | * InstallFont - Copy font data from stub to AUX LC
 2397 | 11                  fontinit.s     11 | Comment     | 11 |         |    0 | 00/398D               | * Must be called before DHGRInit (stub at $2000 still intact).
 2398 | 11                  fontinit.s     12 | Comment     | 11 |         |    0 | 00/398D               | * Uses ALTZP to access aux LC. Saves/restores ZP pointer
 2399 | 11                  fontinit.s     13 | Comment     | 11 |         |    0 | 00/398D               | * via main RAM buffer at $0300 (same ALTZP pass-through pattern used
 2400 | 11                  fontinit.s     14 | Comment     | 11 |         |    0 | 00/398D               | * elsewhere for aux LC writes).
 2401 | 11                  fontinit.s     15 | Comment     | 11 |         |    0 | 00/398D               | *----------------------------------------------
 2402 | 11                  fontinit.s     16 | Empty       | 11 |         |    0 | 00/398D               | InstallFont                                           
 2403 | 11                  fontinit.s     17 | Code        | 11 |         |    2 | 00/398D : A9 48       |                          LDA     #<FontData           
 2404 | 11                  fontinit.s     18 | Code        | 11 |         |    2 | 00/398F : 85 04       |                          STA     {$04}                
 2405 | 11                  fontinit.s     19 | Code        | 11 |         |    2 | 00/3991 : A9 23       |                          LDA     #>FontData           
 2406 | 11                  fontinit.s     20 | Code        | 11 |         |    2 | 00/3993 : 85 05       |                          STA     {$04}+1              
 2407 | 11                  fontinit.s     21 | Code        | 11 |         |    2 | 00/3995 : A9 60       |                          LDA     #<{$E260}            
 2408 | 11                  fontinit.s     22 | Code        | 11 |         |    3 | 00/3997 : 8D 00 03    |                          STA     $0300                ; DstPtr low → main RAM buffer
 2409 | 11                  fontinit.s     23 | Code        | 11 |         |    2 | 00/399A : A9 E2       |                          LDA     #>{$E260}            
 2410 | 11                  fontinit.s     24 | Code        | 11 |         |    3 | 00/399C : 8D 01 03    |                          STA     $0301                ; DstPtr high → main RAM buffer
 2411 | 11                  fontinit.s     25 | Empty       | 11 |         |    0 | 00/399F               |                                                       
 2412 | 11                  fontinit.s     26 | Code        | 11 |         |    2 | 00/399F : A2 04       |                          LDX     #4                   ; 4 pages = 1024 bytes
 2413 | 11                  fontinit.s     27 | Code        | 11 |         |    3 | 00/39A1 : 8D 09 C0    | _cpPage                  STA     {$C009}              ; ZP+stack+LC → aux
 2414 | 11                  fontinit.s     28 | Comment     | 11 |         |    0 | 00/39A4               | * Set up dest pointer in aux ZP
 2415 | 11                  fontinit.s     29 | Code        | 11 |         |    3 | 00/39A4 : AD 00 03    |                          LDA     $0300                ; read from main RAM buffer
 2416 | 11                  fontinit.s     30 | Code        | 11 |         |    2 | 00/39A7 : 85 06       |                          STA     $06                  ; DstPtr low in aux ZP
 2417 | 11                  fontinit.s     31 | Code        | 11 |         |    3 | 00/39A9 : AD 01 03    |                          LDA     $0301                
 2418 | 11                  fontinit.s     32 | Code        | 11 |         |    2 | 00/39AC : 85 07       |                          STA     $07                  ; DstPtr high in aux ZP
 2419 | 11                  fontinit.s     33 | Code        | 11 |         |    3 | 00/39AE : 8D 08 C0    |                          STA     {$C008}              ; ZP+stack+LC → main
 2420 | 11                  fontinit.s     34 | Empty       | 11 |         |    0 | 00/39B1               |                                                       
 2421 | 11                  fontinit.s     35 | Comment     | 11 |         |    0 | 00/39B1               | * Copy 256 bytes: read from main (stub), write to aux LC
 2422 | 11                  fontinit.s     36 | Code        | 11 |         |    2 | 00/39B1 : A0 00       |                          LDY     #0                   
 2423 | 11                  fontinit.s     37 | Code        | 11 |         |    2 | 00/39B3 : B1 04       | ozunid_13                LDA     ({$04}),Y            ; read from main RAM (stub)
 2424 | 11                  fontinit.s     38 | Code        | 11 |         |    3 | 00/39B5 : 8D 02 03    |                          STA     $0302                ; pass byte via main RAM buffer
 2425 | 11                  fontinit.s     39 | Code        | 11 |         |    3 | 00/39B8 : 8D 09 C0    |                          STA     {$C009}              ; switch to aux
 2426 | 11                  fontinit.s     40 | Code        | 11 |         |    3 | 00/39BB : AD 02 03    |                          LDA     $0302                ; read byte from main buffer
 2427 | 11                  fontinit.s     41 | Code        | 11 |         |    2 | 00/39BE : 91 06       |                          STA     ($06),Y              ; write to aux LC
 2428 | 11                  fontinit.s     42 | Code        | 11 |         |    3 | 00/39C0 : 8D 08 C0    |                          STA     {$C008}              ; switch to main
 2429 | 11                  fontinit.s     43 | Code        | 11 |         |    1 | 00/39C3 : C8          |                          INY                          
 2430 | 11                  fontinit.s     44 | Code        | 11 |         |    2 | 00/39C4 : D0 ED       |                          BNE     ozunid_13            
 2431 | 11                  fontinit.s     45 | Empty       | 11 |         |    0 | 00/39C6               |                                                       
 2432 | 11                  fontinit.s     46 | Comment     | 11 |         |    0 | 00/39C6               | * Advance source and dest pointers
 2433 | 11                  fontinit.s     47 | Code        | 11 |         |    2 | 00/39C6 : E6 05       |                          INC     {$04}+1              
 2434 | 11                  fontinit.s     48 | Code        | 11 |         |    3 | 00/39C8 : EE 01 03    |                          INC     $0301                ; dest high in main buffer
 2435 | 11                  fontinit.s     49 | Code        | 11 |         |    1 | 00/39CB : CA          |                          DEX                          
 2436 | 11                  fontinit.s     50 | Code        | 11 |         |    2 | 00/39CC : D0 D3       |                          BNE     _cpPage              
 2437 | 11                  fontinit.s     51 | Code        | 11 |         |    1 | 00/39CE : 60          |                          RTS                          
 2438 | 11                  fontinit.s     52 | Empty       | 11 |         |    0 | 00/39CF               |                                                       
 2439 |  1                    bagman.s     25 | Directive   | 11 |         |    0 | 00/39CF               |                          PUT     hud_init.s           
 2440 | 12                  hud_init.s      1 | Comment     | 11 |         |    0 | 00/39CF               | *
 2441 | 12                  hud_init.s      2 | Comment     | 11 |         |    0 | 00/39CF               | * Bagman - Fast HUD init-only routines (boot stub)
 2442 | 12                  hud_init.s      3 | Comment     | 11 |         |    0 | 00/39CF               | *
 2443 | 12                  hud_init.s      4 | Comment     | 11 |         |    0 | 00/39CF               | * CacheDigitGlyphs + BuildHudDigitTables + private helpers and tables.
 2444 | 12                  hud_init.s      5 | Comment     | 11 |         |    0 | 00/39CF               | * All run once from GameInit, then the stub region they live in
 2445 | 12                  hud_init.s      6 | Comment     | 11 |         |    0 | 00/39CF               | * ($2000-$3???) is wiped by DHGRClear when the game starts.
 2446 | 12                  hud_init.s      7 | Comment     | 11 |         |    0 | 00/39CF               | *
 2447 | 12                  hud_init.s      8 | Comment     | 11 |         |    0 | 00/39CF               | * Moved out of game.s ($6000+) to shrink the game-code block's
 2448 | 12                  hud_init.s      9 | Comment     | 11 |         |    0 | 00/39CF               | * overlap with the tilemap buffer at $B000-$BEFF.
 2449 | 12                  hud_init.s     10 | Comment     | 11 |         |    0 | 00/39CF               | *
 2450 | 12                  hud_init.s     11 | Comment     | 11 |         |    0 | 00/39CF               | * Dependencies resolved against game.s:
 2451 | 12                  hud_init.s     12 | Comment     | 11 |         |    0 | 00/39CF               | *   DigitGlyphs / DigitBuf / ScoreDigitBytes / BonusDigitBytes (equates)
 2452 | 12                  hud_init.s     13 | Comment     | 11 |         |    0 | 00/39CF               | *   BuildPos / BuildShift / BuildDigit / BuildScan / BuildEntryOfs /
 2453 | 12                  hud_init.s     14 | Comment     | 11 |         |    0 | 00/39CF               | *     BuildGlyphOfs (main-RAM scratch in HUD state region)
 2454 | 12                  hud_init.s     15 | Comment     | 11 |         |    0 | 00/39CF               | *   ScoreScanPtrL/H / BonusScanPtrL/H (main-RAM per-scan ptr arrays)
 2455 | 12                  hud_init.s     16 | Comment     | 11 |         |    0 | 00/39CF               | *   ShiftBuf (ZP scratch from font.s)
 2456 | 12                  hud_init.s     17 | Comment     | 11 |         |    0 | 00/39CF               | *   FontData (in stub, fontdata.s)
 2457 | 12                  hud_init.s     18 | Comment     | 11 |         |    0 | 00/39CF               | *
 2458 | 12                  hud_init.s     19 | Empty       | 11 |         |    0 | 00/39CF               |                                                       
 2459 | 12                  hud_init.s     20 | Comment     | 11 |         |    0 | 00/39CF               | *----------------------------------------------
 2460 | 12                  hud_init.s     21 | Comment     | 11 |         |    0 | 00/39CF               | * CacheDigitGlyphs - Copy '0'..'9' glyphs from FontData into
 2461 | 12                  hud_init.s     22 | Comment     | 11 |         |    0 | 00/39CF               | * DigitGlyphs at $0210. Called once from GameInit before the stub
 2462 | 12                  hud_init.s     23 | Comment     | 11 |         |    0 | 00/39CF               | * gets trampled by DHGRClear.
 2463 | 12                  hud_init.s     24 | Comment     | 11 |         |    0 | 00/39CF               | *----------------------------------------------
 2464 | 12                  hud_init.s     25 | Empty       | 11 |         |    0 | 00/39CF               | CacheDigitGlyphs                                      
 2465 | 12                  hud_init.s     26 | Code        | 11 |         |    2 | 00/39CF : A9 48       |                          LDA     #<{FontData+$100}    ; glyph index $10 = ASCII '0'
 2466 | 12                  hud_init.s     27 | Code        | 11 |         |    2 | 00/39D1 : 85 04       |                          STA     {$04}                
 2467 | 12                  hud_init.s     28 | Code        | 11 |         |    2 | 00/39D3 : A9 24       |                          LDA     #>{FontData+$100}    
 2468 | 12                  hud_init.s     29 | Code        | 11 |         |    2 | 00/39D5 : 85 05       |                          STA     {$04}+1              
 2469 | 12                  hud_init.s     30 | Code        | 11 |         |    2 | 00/39D7 : A0 00       |                          LDY     #0                   
 2470 | 12                  hud_init.s     31 | Code        | 11 |         |    2 | 00/39D9 : B1 04       | _cpLp                    LDA     ({$04}),Y            
 2471 | 12                  hud_init.s     32 | Code        | 11 |         |    3 | 00/39DB : 99 10 02    |                          STA     {$0210},Y            
 2472 | 12                  hud_init.s     33 | Code        | 11 |         |    1 | 00/39DE : C8          |                          INY                          
 2473 | 12                  hud_init.s     34 | Code        | 11 |         |    2 | 00/39DF : C0 A0       |                          CPY     #160                 
 2474 | 12                  hud_init.s     35 | Code        | 11 |         |    2 | 00/39E1 : D0 F6       |                          BNE     _cpLp                
 2475 | 12                  hud_init.s     36 | Code        | 11 |         |    1 | 00/39E3 : 60          |                          RTS                          
 2476 | 12                  hud_init.s     37 | Empty       | 11 |         |    0 | 00/39E4               |                                                       
 2477 | 12                  hud_init.s     38 | Comment     | 11 |         |    0 | 00/39E4               | *----------------------------------------------
 2478 | 12                  hud_init.s     39 | Comment     | 11 |         |    0 | 00/39E4               | * BuildHudDigitTables - Called once from GameInit after CacheDigitGlyphs.
 2479 | 12                  hud_init.s     40 | Comment     | 11 |         |    0 | 00/39E4               | * Fills ScoreDigitBytes and BonusDigitBytes with pre-shifted glyph
 2480 | 12                  hud_init.s     41 | Comment     | 11 |         |    0 | 00/39E4               | * bytes and populates the per-scan base-pointer arrays.
 2481 | 12                  hud_init.s     42 | Comment     | 11 |         |    0 | 00/39E4               | *----------------------------------------------
 2482 | 12                  hud_init.s     43 | Empty       | 11 |         |    0 | 00/39E4               |                                                       
 2483 | 12                  hud_init.s     44 | Comment     | 11 |         |    0 | 00/39E4               | * Bit-shift amount per score position (col*2 mod 7 for cols 14..21)
 2484 | 12                  hud_init.s     45 | Data        | 11 |         |    8 | 00/39E4 : 00 02 04 06 | ScoreShiftTbl            HEX     0002040601030500     
      |                                       |             |    |         |      |           01 03 05 00 |
 2485 | 12                  hud_init.s     46 | Comment     | 11 |         |    0 | 00/39EC               | * Bit-shift amount per bonus position (col*2 mod 7 for cols 28..31)
 2486 | 12                  hud_init.s     47 | Data        | 11 |         |    4 | 00/39EC : 00 02 04 06 | BonusShiftTbl            HEX     00020406             
 2487 | 12                  hud_init.s     48 | Comment     | 11 |         |    0 | 00/39F0               | * Per-scan offset into score table (stride 256, page-aligned)
 2488 | 12                  hud_init.s     49 | Data        | 11 |         |    8 | 00/39F0 : 00 00 00 00 | ScoreScanOfsL            HEX     0000000000000000     
      |                                       |             |    |         |      |           00 00 00 00 |
 2489 | 12                  hud_init.s     50 | Data        | 11 |         |    8 | 00/39F8 : 00 01 02 03 | ScoreScanOfsH            HEX     0001020304050607     
      |                                       |             |    |         |      |           04 05 06 07 |
 2490 | 12                  hud_init.s     51 | Comment     | 11 |         |    0 | 00/3A00               | * Per-scan offset into bonus table (stride 128 to dodge text-page holes)
 2491 | 12                  hud_init.s     52 | Data        | 11 |         |    8 | 00/3A00 : 00 80 00 80 | BonusScanOfsL            HEX     0080008000800080     
      |                                       |             |    |         |      |           00 80 00 80 |
 2492 | 12                  hud_init.s     53 | Data        | 11 |         |    8 | 00/3A08 : 00 00 01 01 | BonusScanOfsH            HEX     0000010102020303     
      |                                       |             |    |         |      |           02 02 03 03 |
 2493 | 12                  hud_init.s     54 | Empty       | 11 |         |    0 | 00/3A10               |                                                       
 2494 | 12                  hud_init.s     55 | Empty       | 11 |         |    0 | 00/3A10               | BuildHudDigitTables                                   
 2495 | 12                  hud_init.s     56 | Comment     | 11 |         |    0 | 00/3A10               | * Step 1: build per-scan base-pointer arrays for both tables.
 2496 | 12                  hud_init.s     57 | Code        | 11 |         |    2 | 00/3A10 : A2 07       |                          LDX     #7                   
 2497 | 12                  hud_init.s     58 | Code        | 11 |         |    1 | 00/3A12 : 18          | _ptrLp                   CLC                          
 2498 | 12                  hud_init.s     59 | Code        | 11 |         |    2 | 00/3A13 : A9 00       |                          LDA     #<{$1600}            
 2499 | 12                  hud_init.s     60 | Code        | 11 |         |    3 | 00/3A15 : 7D F0 39    |                          ADC     ScoreScanOfsL,X      
 2500 | 12                  hud_init.s     61 | Code        | 11 |         |    3 | 00/3A18 : 9D 0F 1E    |                          STA     {$1E0F},X            
 2501 | 12                  hud_init.s     62 | Code        | 11 |         |    2 | 00/3A1B : A9 16       |                          LDA     #>{$1600}            
 2502 | 12                  hud_init.s     63 | Code        | 11 |         |    3 | 00/3A1D : 7D F8 39    |                          ADC     ScoreScanOfsH,X      
 2503 | 12                  hud_init.s     64 | Code        | 11 |         |    3 | 00/3A20 : 9D 17 1E    |                          STA     {$1E17},X            
 2504 | 12                  hud_init.s     65 | Code        | 11 |         |    1 | 00/3A23 : 18          |                          CLC                          
 2505 | 12                  hud_init.s     66 | Code        | 11 |         |    2 | 00/3A24 : A9 00       |                          LDA     #<{$0400}            
 2506 | 12                  hud_init.s     67 | Code        | 11 |         |    3 | 00/3A26 : 7D 00 3A    |                          ADC     BonusScanOfsL,X      
 2507 | 12                  hud_init.s     68 | Code        | 11 |         |    3 | 00/3A29 : 9D 1F 1E    |                          STA     {$1E1F},X            
 2508 | 12                  hud_init.s     69 | Code        | 11 |         |    2 | 00/3A2C : A9 04       |                          LDA     #>{$0400}            
 2509 | 12                  hud_init.s     70 | Code        | 11 |         |    3 | 00/3A2E : 7D 08 3A    |                          ADC     BonusScanOfsH,X      
 2510 | 12                  hud_init.s     71 | Code        | 11 |         |    3 | 00/3A31 : 9D 27 1E    |                          STA     {$1E27},X            
 2511 | 12                  hud_init.s     72 | Code        | 11 |         |    1 | 00/3A34 : CA          |                          DEX                          
 2512 | 12                  hud_init.s     73 | Code        | 11 |         |    2 | 00/3A35 : 10 DB       |                          BPL     _ptrLp               
 2513 | 12                  hud_init.s     74 | Comment     | 11 |         |    0 | 00/3A37               | * Step 2: populate per-position entries.
 2514 | 12                  hud_init.s     75 | Code        | 11 |         |    3 | 00/3A37 : 20 76 3A    |                          JSR     _BuildScoreEntries   
 2515 | 12                  hud_init.s     76 | Code        | 11 |         |    3 | 00/3A3A : 20 55 3A    |                          JSR     _BuildScoreBlanks    
 2516 | 12                  hud_init.s     77 | Code        | 11 |         |    3 | 00/3A3D : 20 C0 3A    |                          JSR     _BuildBonusEntries   
 2517 | 12                  hud_init.s     78 | Comment     | 11 |         |    0 | 00/3A40               | * Step 3: seed the dirty-skip state so the first draw runs the
 2518 | 12                  hud_init.s     79 | Comment     | 11 |         |    0 | 00/3A40               | * full composite path (Prev = $FF's can never match a real BCD).
 2519 | 12                  hud_init.s     80 | Code        | 11 |         |    2 | 00/3A40 : A9 FF       |                          LDA     #$FF                 
 2520 | 12                  hud_init.s     81 | Code        | 11 |         |    3 | 00/3A42 : 8D 3D 1E    |                          STA     {$1E3D}+0            
 2521 | 12                  hud_init.s     82 | Code        | 11 |         |    3 | 00/3A45 : 8D 3E 1E    |                          STA     {$1E3D}+1            
 2522 | 12                  hud_init.s     83 | Code        | 11 |         |    3 | 00/3A48 : 8D 3F 1E    |                          STA     {$1E3D}+2            
 2523 | 12                  hud_init.s     84 | Code        | 11 |         |    3 | 00/3A4B : 8D 40 1E    |                          STA     {$1E3D}+3            
 2524 | 12                  hud_init.s     85 | Code        | 11 |         |    3 | 00/3A4E : 8D D9 1E    |                          STA     {$1ED9}+0            
 2525 | 12                  hud_init.s     86 | Code        | 11 |         |    3 | 00/3A51 : 8D DA 1E    |                          STA     {$1ED9}+1            
 2526 | 12                  hud_init.s     87 | Code        | 11 |         |    1 | 00/3A54 : 60          |                          RTS                          
 2527 | 12                  hud_init.s     88 | Empty       | 11 |         |    0 | 00/3A55               |                                                       
 2528 | 12                  hud_init.s     89 | Comment     | 11 |         |    0 | 00/3A55               | *----------------------------------------------
 2529 | 12                  hud_init.s     90 | Comment     | 11 |         |    0 | 00/3A55               | * _BuildScoreBlanks - Write 3 bytes of $80 at offset 240 of each
 2530 | 12                  hud_init.s     91 | Comment     | 11 |         |    0 | 00/3A55               | * score-scan page. Used by DrawScoreAux for leading-zero positions:
 2531 | 12                  hud_init.s     92 | Comment     | 11 |         |    0 | 00/3A55               | * ScorePosOfs = 240 points the scan loop at transparent filler so
 2532 | 12                  hud_init.s     93 | Comment     | 11 |         |    0 | 00/3A55               | * the unrolled composite never needs a branch.
 2533 | 12                  hud_init.s     94 | Comment     | 11 |         |    0 | 00/3A55               | *----------------------------------------------
 2534 | 12                  hud_init.s     95 | Empty       | 11 |         |    0 | 00/3A55               | _BuildScoreBlanks                                     
 2535 | 12                  hud_init.s     96 | Code        | 11 |         |    2 | 00/3A55 : A2 07       |                          LDX     #7                   
 2536 | 12                  hud_init.s     97 | Code        | 11 |         |    3 | 00/3A57 : BD 0F 1E    | _scLp                    LDA     {$1E0F},X            
 2537 | 12                  hud_init.s     98 | Code        | 11 |         |    1 | 00/3A5A : 18          |                          CLC                          
 2538 | 12                  hud_init.s     99 | Code        | 11 |         |    2 | 00/3A5B : 69 F0       |                          ADC     #240                 
 2539 | 12                  hud_init.s    100 | Code        | 11 |         |    2 | 00/3A5D : 85 06       |                          STA     {$06}                
 2540 | 12                  hud_init.s    101 | Code        | 11 |         |    3 | 00/3A5F : BD 17 1E    |                          LDA     {$1E17},X            
 2541 | 12                  hud_init.s    102 | Code        | 11 |         |    2 | 00/3A62 : 69 00       |                          ADC     #0                   
 2542 | 12                  hud_init.s    103 | Code        | 11 |         |    2 | 00/3A64 : 85 07       |                          STA     {$06}+1              
 2543 | 12                  hud_init.s    104 | Code        | 11 |         |    2 | 00/3A66 : A9 80       |                          LDA     #$80                 
 2544 | 12                  hud_init.s    105 | Code        | 11 |         |    2 | 00/3A68 : A0 02       |                          LDY     #2                   
 2545 | 12                  hud_init.s    106 | Code        | 11 |         |    2 | 00/3A6A : 91 06       |                          STA     ({$06}),Y            
 2546 | 12                  hud_init.s    107 | Code        | 11 |         |    1 | 00/3A6C : 88          |                          DEY                          
 2547 | 12                  hud_init.s    108 | Code        | 11 |         |    2 | 00/3A6D : 91 06       |                          STA     ({$06}),Y            
 2548 | 12                  hud_init.s    109 | Code        | 11 |         |    1 | 00/3A6F : 88          |                          DEY                          
 2549 | 12                  hud_init.s    110 | Code        | 11 |         |    2 | 00/3A70 : 91 06       |                          STA     ({$06}),Y            
 2550 | 12                  hud_init.s    111 | Code        | 11 |         |    1 | 00/3A72 : CA          |                          DEX                          
 2551 | 12                  hud_init.s    112 | Code        | 11 |         |    2 | 00/3A73 : 10 E2       |                          BPL     _scLp                
 2552 | 12                  hud_init.s    113 | Code        | 11 |         |    1 | 00/3A75 : 60          |                          RTS                          
 2553 | 12                  hud_init.s    114 | Empty       | 11 |         |    0 | 00/3A76               |                                                       
 2554 | 12                  hud_init.s    115 | Comment     | 11 |         |    0 | 00/3A76               | *----------------------------------------------
 2555 | 12                  hud_init.s    116 | Comment     | 11 |         |    0 | 00/3A76               | * _BuildScoreEntries - Fill ScoreDigitBytes with 8 positions x 10
 2556 | 12                  hud_init.s    117 | Comment     | 11 |         |    0 | 00/3A76               | * digits x 8 scans x 3 bytes. Uses ScoreShiftTbl and ScoreScanPtrL/H.
 2557 | 12                  hud_init.s    118 | Comment     | 11 |         |    0 | 00/3A76               | *----------------------------------------------
 2558 | 12                  hud_init.s    119 | Empty       | 11 |         |    0 | 00/3A76               | _BuildScoreEntries                                    
 2559 | 12                  hud_init.s    120 | Code        | 11 |         |    3 | 00/3A76 : 9C 2F 1E    |                          STZ     {$1E2F}              
 2560 | 12                  hud_init.s    121 | Code        | 11 |         |    3 | 00/3A79 : AE 2F 1E    | ozunid_14                LDX     {$1E2F}              
 2561 | 12                  hud_init.s    122 | Code        | 11 |         |    3 | 00/3A7C : BD E4 39    |                          LDA     ScoreShiftTbl,X      
 2562 | 12                  hud_init.s    123 | Code        | 11 |         |    3 | 00/3A7F : 8D 32 1E    |                          STA     {$1E32}              
 2563 | 12                  hud_init.s    124 | Code        | 11 |         |    3 | 00/3A82 : 9C 30 1E    |                          STZ     {$1E30}              
 2564 | 12                  hud_init.s    125 | Code        | 11 |         |    3 | 00/3A85 : 20 0A 3B    | ozunid_15                JSR     _ComputeEntryAndGlyph
 2565 | 12                  hud_init.s    126 | Code        | 11 |         |    3 | 00/3A88 : 9C 31 1E    |                          STZ     {$1E31}              
 2566 | 12                  hud_init.s    127 | Code        | 11 |         |    3 | 00/3A8B : AE 31 1E    | ozunid_16                LDX     {$1E31}              
 2567 | 12                  hud_init.s    128 | Code        | 11 |         |    3 | 00/3A8E : BD 0F 1E    |                          LDA     {$1E0F},X            
 2568 | 12                  hud_init.s    129 | Code        | 11 |         |    1 | 00/3A91 : 18          |                          CLC                          
 2569 | 12                  hud_init.s    130 | Code        | 11 |         |    3 | 00/3A92 : 6D 33 1E    |                          ADC     {$1E33}              
 2570 | 12                  hud_init.s    131 | Code        | 11 |         |    2 | 00/3A95 : 85 06       |                          STA     {$06}                
 2571 | 12                  hud_init.s    132 | Code        | 11 |         |    3 | 00/3A97 : BD 17 1E    |                          LDA     {$1E17},X            
 2572 | 12                  hud_init.s    133 | Code        | 11 |         |    2 | 00/3A9A : 69 00       |                          ADC     #0                   
 2573 | 12                  hud_init.s    134 | Code        | 11 |         |    2 | 00/3A9C : 85 07       |                          STA     {$06}+1              
 2574 | 12                  hud_init.s    135 | Code        | 11 |         |    3 | 00/3A9E : 20 2D 3B    |                          JSR     _WriteOneScanEntry   
 2575 | 12                  hud_init.s    136 | Code        | 11 |         |    3 | 00/3AA1 : EE 31 1E    |                          INC     {$1E31}              
 2576 | 12                  hud_init.s    137 | Code        | 11 |         |    3 | 00/3AA4 : AD 31 1E    |                          LDA     {$1E31}              
 2577 | 12                  hud_init.s    138 | Code        | 11 |         |    2 | 00/3AA7 : C9 08       |                          CMP     #8                   
 2578 | 12                  hud_init.s    139 | Code        | 11 |         |    2 | 00/3AA9 : 90 E0       |                          BCC     ozunid_16            
 2579 | 12                  hud_init.s    140 | Code        | 11 |         |    3 | 00/3AAB : EE 30 1E    |                          INC     {$1E30}              
 2580 | 12                  hud_init.s    141 | Code        | 11 |         |    3 | 00/3AAE : AD 30 1E    |                          LDA     {$1E30}              
 2581 | 12                  hud_init.s    142 | Code        | 11 |         |    2 | 00/3AB1 : C9 0A       |                          CMP     #10                  
 2582 | 12                  hud_init.s    143 | Code        | 11 |         |    2 | 00/3AB3 : 90 D0       |                          BCC     ozunid_15            
 2583 | 12                  hud_init.s    144 | Code        | 11 |         |    3 | 00/3AB5 : EE 2F 1E    |                          INC     {$1E2F}              
 2584 | 12                  hud_init.s    145 | Code        | 11 |         |    3 | 00/3AB8 : AD 2F 1E    |                          LDA     {$1E2F}              
 2585 | 12                  hud_init.s    146 | Code        | 11 |         |    2 | 00/3ABB : C9 08       |                          CMP     #8                   
 2586 | 12                  hud_init.s    147 | Code        | 11 |         |    2 | 00/3ABD : 90 BA       |                          BCC     ozunid_14            
 2587 | 12                  hud_init.s    148 | Code        | 11 |         |    1 | 00/3ABF : 60          |                          RTS                          
 2588 | 12                  hud_init.s    149 | Empty       | 11 |         |    0 | 00/3AC0               |                                                       
 2589 | 12                  hud_init.s    150 | Comment     | 11 |         |    0 | 00/3AC0               | *----------------------------------------------
 2590 | 12                  hud_init.s    151 | Comment     | 11 |         |    0 | 00/3AC0               | * _BuildBonusEntries - same shape as _BuildScoreEntries but for bonus
 2591 | 12                  hud_init.s    152 | Comment     | 11 |         |    0 | 00/3AC0               | * (4 positions, BonusShiftTbl, BonusScanPtrL/H).
 2592 | 12                  hud_init.s    153 | Comment     | 11 |         |    0 | 00/3AC0               | *----------------------------------------------
 2593 | 12                  hud_init.s    154 | Empty       | 11 |         |    0 | 00/3AC0               | _BuildBonusEntries                                    
 2594 | 12                  hud_init.s    155 | Code        | 11 |         |    3 | 00/3AC0 : 9C 2F 1E    |                          STZ     {$1E2F}              
 2595 | 12                  hud_init.s    156 | Code        | 11 |         |    3 | 00/3AC3 : AE 2F 1E    | ozunid_17                LDX     {$1E2F}              
 2596 | 12                  hud_init.s    157 | Code        | 11 |         |    3 | 00/3AC6 : BD EC 39    |                          LDA     BonusShiftTbl,X      
 2597 | 12                  hud_init.s    158 | Code        | 11 |         |    3 | 00/3AC9 : 8D 32 1E    |                          STA     {$1E32}              
 2598 | 12                  hud_init.s    159 | Code        | 11 |         |    3 | 00/3ACC : 9C 30 1E    |                          STZ     {$1E30}              
 2599 | 12                  hud_init.s    160 | Code        | 11 |         |    3 | 00/3ACF : 20 0A 3B    | ozunid_18                JSR     _ComputeEntryAndGlyph
 2600 | 12                  hud_init.s    161 | Code        | 11 |         |    3 | 00/3AD2 : 9C 31 1E    |                          STZ     {$1E31}              
 2601 | 12                  hud_init.s    162 | Code        | 11 |         |    3 | 00/3AD5 : AE 31 1E    | ozunid_19                LDX     {$1E31}              
 2602 | 12                  hud_init.s    163 | Code        | 11 |         |    3 | 00/3AD8 : BD 1F 1E    |                          LDA     {$1E1F},X            
 2603 | 12                  hud_init.s    164 | Code        | 11 |         |    1 | 00/3ADB : 18          |                          CLC                          
 2604 | 12                  hud_init.s    165 | Code        | 11 |         |    3 | 00/3ADC : 6D 33 1E    |                          ADC     {$1E33}              
 2605 | 12                  hud_init.s    166 | Code        | 11 |         |    2 | 00/3ADF : 85 06       |                          STA     {$06}                
 2606 | 12                  hud_init.s    167 | Code        | 11 |         |    3 | 00/3AE1 : BD 27 1E    |                          LDA     {$1E27},X            
 2607 | 12                  hud_init.s    168 | Code        | 11 |         |    2 | 00/3AE4 : 69 00       |                          ADC     #0                   
 2608 | 12                  hud_init.s    169 | Code        | 11 |         |    2 | 00/3AE6 : 85 07       |                          STA     {$06}+1              
 2609 | 12                  hud_init.s    170 | Code        | 11 |         |    3 | 00/3AE8 : 20 2D 3B    |                          JSR     _WriteOneScanEntry   
 2610 | 12                  hud_init.s    171 | Code        | 11 |         |    3 | 00/3AEB : EE 31 1E    |                          INC     {$1E31}              
 2611 | 12                  hud_init.s    172 | Code        | 11 |         |    3 | 00/3AEE : AD 31 1E    |                          LDA     {$1E31}              
 2612 | 12                  hud_init.s    173 | Code        | 11 |         |    2 | 00/3AF1 : C9 08       |                          CMP     #8                   
 2613 | 12                  hud_init.s    174 | Code        | 11 |         |    2 | 00/3AF3 : 90 E0       |                          BCC     ozunid_19            
 2614 | 12                  hud_init.s    175 | Code        | 11 |         |    3 | 00/3AF5 : EE 30 1E    |                          INC     {$1E30}              
 2615 | 12                  hud_init.s    176 | Code        | 11 |         |    3 | 00/3AF8 : AD 30 1E    |                          LDA     {$1E30}              
 2616 | 12                  hud_init.s    177 | Code        | 11 |         |    2 | 00/3AFB : C9 0A       |                          CMP     #10                  
 2617 | 12                  hud_init.s    178 | Code        | 11 |         |    2 | 00/3AFD : 90 D0       |                          BCC     ozunid_18            
 2618 | 12                  hud_init.s    179 | Code        | 11 |         |    3 | 00/3AFF : EE 2F 1E    |                          INC     {$1E2F}              
 2619 | 12                  hud_init.s    180 | Code        | 11 |         |    3 | 00/3B02 : AD 2F 1E    |                          LDA     {$1E2F}              
 2620 | 12                  hud_init.s    181 | Code        | 11 |         |    2 | 00/3B05 : C9 04       |                          CMP     #4                   
 2621 | 12                  hud_init.s    182 | Code        | 11 |         |    2 | 00/3B07 : 90 BA       |                          BCC     ozunid_17            
 2622 | 12                  hud_init.s    183 | Code        | 11 |         |    1 | 00/3B09 : 60          |                          RTS                          
 2623 | 12                  hud_init.s    184 | Empty       | 11 |         |    0 | 00/3B0A               |                                                       
 2624 | 12                  hud_init.s    185 | Comment     | 11 |         |    0 | 00/3B0A               | *----------------------------------------------
 2625 | 12                  hud_init.s    186 | Comment     | 11 |         |    0 | 00/3B0A               | * _ComputeEntryAndGlyph - Set BuildEntryOfs = (pos*10+digit)*3 and
 2626 | 12                  hud_init.s    187 | Comment     | 11 |         |    0 | 00/3B0A               | * BuildGlyphOfs = digit*16. Called once per (pos, digit) iteration.
 2627 | 12                  hud_init.s    188 | Comment     | 11 |         |    0 | 00/3B0A               | *----------------------------------------------
 2628 | 12                  hud_init.s    189 | Empty       | 11 |         |    0 | 00/3B0A               | _ComputeEntryAndGlyph                                 
 2629 | 12                  hud_init.s    190 | Code        | 11 |         |    3 | 00/3B0A : AD 2F 1E    |                          LDA     {$1E2F}              
 2630 | 12                  hud_init.s    191 | Code        | 11 |         |    1 | 00/3B0D : 0A          |                          ASL                          
 2631 | 12                  hud_init.s    192 | Code        | 11 |         |    2 | 00/3B0E : 85 18       |                          STA     {$18}                ; pos*2
 2632 | 12                  hud_init.s    193 | Code        | 11 |         |    1 | 00/3B10 : 0A          |                          ASL                          
 2633 | 12                  hud_init.s    194 | Code        | 11 |         |    1 | 00/3B11 : 0A          |                          ASL                          ; pos*8
 2634 | 12                  hud_init.s    195 | Code        | 11 |         |    1 | 00/3B12 : 18          |                          CLC                          
 2635 | 12                  hud_init.s    196 | Code        | 11 |         |    2 | 00/3B13 : 65 18       |                          ADC     {$18}                ; pos*10
 2636 | 12                  hud_init.s    197 | Code        | 11 |         |    1 | 00/3B15 : 18          |                          CLC                          
 2637 | 12                  hud_init.s    198 | Code        | 11 |         |    3 | 00/3B16 : 6D 30 1E    |                          ADC     {$1E30}              ; + digit
 2638 | 12                  hud_init.s    199 | Code        | 11 |         |    2 | 00/3B19 : 85 18       |                          STA     {$18}                
 2639 | 12                  hud_init.s    200 | Code        | 11 |         |    1 | 00/3B1B : 0A          |                          ASL                          ; *2
 2640 | 12                  hud_init.s    201 | Code        | 11 |         |    1 | 00/3B1C : 18          |                          CLC                          
 2641 | 12                  hud_init.s    202 | Code        | 11 |         |    2 | 00/3B1D : 65 18       |                          ADC     {$18}                ; *3
 2642 | 12                  hud_init.s    203 | Code        | 11 |         |    3 | 00/3B1F : 8D 33 1E    |                          STA     {$1E33}              
 2643 | 12                  hud_init.s    204 | Code        | 11 |         |    3 | 00/3B22 : AD 30 1E    |                          LDA     {$1E30}              
 2644 | 12                  hud_init.s    205 | Code        | 11 |         |    1 | 00/3B25 : 0A          |                          ASL                          
 2645 | 12                  hud_init.s    206 | Code        | 11 |         |    1 | 00/3B26 : 0A          |                          ASL                          
 2646 | 12                  hud_init.s    207 | Code        | 11 |         |    1 | 00/3B27 : 0A          |                          ASL                          
 2647 | 12                  hud_init.s    208 | Code        | 11 |         |    1 | 00/3B28 : 0A          |                          ASL                          
 2648 | 12                  hud_init.s    209 | Code        | 11 |         |    3 | 00/3B29 : 8D 34 1E    |                          STA     {$1E34}              
 2649 | 12                  hud_init.s    210 | Code        | 11 |         |    1 | 00/3B2C : 60          |                          RTS                          
 2650 | 12                  hud_init.s    211 | Empty       | 11 |         |    0 | 00/3B2D               |                                                       
 2651 | 12                  hud_init.s    212 | Comment     | 11 |         |    0 | 00/3B2D               | *----------------------------------------------
 2652 | 12                  hud_init.s    213 | Comment     | 11 |         |    0 | 00/3B2D               | * _WriteOneScanEntry - For (BuildScan, BuildShift, BuildGlyphOfs,
 2653 | 12                  hud_init.s    214 | Comment     | 11 |         |    0 | 00/3B2D               | * DstPtr) compute the three shifted DHGR bytes and store at (DstPtr)
 2654 | 12                  hud_init.s    215 | Comment     | 11 |         |    0 | 00/3B2D               | * through (DstPtr)+2. Mirrors the shift/extract math the old DrawDigit
 2655 | 12                  hud_init.s    216 | Comment     | 11 |         |    0 | 00/3B2D               | * ran per frame.
 2656 | 12                  hud_init.s    217 | Comment     | 11 |         |    0 | 00/3B2D               | *----------------------------------------------
 2657 | 12                  hud_init.s    218 | Empty       | 11 |         |    0 | 00/3B2D               | _WriteOneScanEntry                                    
 2658 | 12                  hud_init.s    219 | Code        | 11 |         |    3 | 00/3B2D : AD 31 1E    |                          LDA     {$1E31}              
 2659 | 12                  hud_init.s    220 | Code        | 11 |         |    1 | 00/3B30 : 0A          |                          ASL                          ; scan*2
 2660 | 12                  hud_init.s    221 | Code        | 11 |         |    1 | 00/3B31 : 18          |                          CLC                          
 2661 | 12                  hud_init.s    222 | Code        | 11 |         |    3 | 00/3B32 : 6D 34 1E    |                          ADC     {$1E34}              ; + digit*16
 2662 | 12                  hud_init.s    223 | Code        | 11 |         |    1 | 00/3B35 : A8          |                          TAY                          
 2663 | 12                  hud_init.s    224 | Code        | 11 |         |    3 | 00/3B36 : B9 10 02    |                          LDA     {$0210},Y            
 2664 | 12                  hud_init.s    225 | Code        | 11 |         |    2 | 00/3B39 : 85 27       |                          STA     {$27}                
 2665 | 12                  hud_init.s    226 | Code        | 11 |         |    1 | 00/3B3B : C8          |                          INY                          
 2666 | 12                  hud_init.s    227 | Code        | 11 |         |    3 | 00/3B3C : B9 10 02    |                          LDA     {$0210},Y            
 2667 | 12                  hud_init.s    228 | Code        | 11 |         |    2 | 00/3B3F : 85 28       |                          STA     {$27}+1              
 2668 | 12                  hud_init.s    229 | Code        | 11 |         |    2 | 00/3B41 : 64 29       |                          STZ     {$27}+2              
 2669 | 12                  hud_init.s    230 | Code        | 11 |         |    3 | 00/3B43 : AE 32 1E    |                          LDX     {$1E32}              
 2670 | 12                  hud_init.s    231 | Code        | 11 |         |    2 | 00/3B46 : F0 09       |                          BEQ     ozunid_20            
 2671 | 12                  hud_init.s    232 | Code        | 11 |         |    2 | 00/3B48 : 06 27       | _shLp                    ASL     {$27}                
 2672 | 12                  hud_init.s    233 | Code        | 11 |         |    2 | 00/3B4A : 26 28       |                          ROL     {$27}+1              
 2673 | 12                  hud_init.s    234 | Code        | 11 |         |    2 | 00/3B4C : 26 29       |                          ROL     {$27}+2              
 2674 | 12                  hud_init.s    235 | Code        | 11 |         |    1 | 00/3B4E : CA          |                          DEX                          
 2675 | 12                  hud_init.s    236 | Code        | 11 |         |    2 | 00/3B4F : D0 F7       |                          BNE     _shLp                
 2676 | 12                  hud_init.s    237 | Code        | 11 |         |    2 | 00/3B51 : A0 00       | ozunid_20                LDY     #0                   
 2677 | 12                  hud_init.s    238 | Code        | 11 |         |    2 | 00/3B53 : A5 27       |                          LDA     {$27}                
 2678 | 12                  hud_init.s    239 | Code        | 11 |         |    2 | 00/3B55 : 29 7F       |                          AND     #$7F                 
 2679 | 12                  hud_init.s    240 | Code        | 11 |         |    2 | 00/3B57 : 09 80       |                          ORA     #$80                 
 2680 | 12                  hud_init.s    241 | Code        | 11 |         |    2 | 00/3B59 : 91 06       |                          STA     ({$06}),Y            
 2681 | 12                  hud_init.s    242 | Code        | 11 |         |    1 | 00/3B5B : C8          |                          INY                          
 2682 | 12                  hud_init.s    243 | Code        | 11 |         |    2 | 00/3B5C : A5 27       |                          LDA     {$27}                
 2683 | 12                  hud_init.s    244 | Code        | 11 |         |    1 | 00/3B5E : 0A          |                          ASL                          
 2684 | 12                  hud_init.s    245 | Code        | 11 |         |    2 | 00/3B5F : A5 28       |                          LDA     {$27}+1              
 2685 | 12                  hud_init.s    246 | Code        | 11 |         |    1 | 00/3B61 : 2A          |                          ROL                          
 2686 | 12                  hud_init.s    247 | Code        | 11 |         |    2 | 00/3B62 : 29 7F       |                          AND     #$7F                 
 2687 | 12                  hud_init.s    248 | Code        | 11 |         |    2 | 00/3B64 : 09 80       |                          ORA     #$80                 
 2688 | 12                  hud_init.s    249 | Code        | 11 |         |    2 | 00/3B66 : 91 06       |                          STA     ({$06}),Y            
 2689 | 12                  hud_init.s    250 | Code        | 11 |         |    1 | 00/3B68 : C8          |                          INY                          
 2690 | 12                  hud_init.s    251 | Code        | 11 |         |    2 | 00/3B69 : A5 29       |                          LDA     {$27}+2              
 2691 | 12                  hud_init.s    252 | Code        | 11 |         |    1 | 00/3B6B : 0A          |                          ASL                          
 2692 | 12                  hud_init.s    253 | Code        | 11 |         |    1 | 00/3B6C : 0A          |                          ASL                          
 2693 | 12                  hud_init.s    254 | Code        | 11 |         |    2 | 00/3B6D : 85 18       |                          STA     {$18}                
 2694 | 12                  hud_init.s    255 | Code        | 11 |         |    2 | 00/3B6F : A5 28       |                          LDA     {$27}+1              
 2695 | 12                  hud_init.s    256 | Code        | 11 |         |    1 | 00/3B71 : 4A          |                          LSR                          
 2696 | 12                  hud_init.s    257 | Code        | 11 |         |    1 | 00/3B72 : 4A          |                          LSR                          
 2697 | 12                  hud_init.s    258 | Code        | 11 |         |    1 | 00/3B73 : 4A          |                          LSR                          
 2698 | 12                  hud_init.s    259 | Code        | 11 |         |    1 | 00/3B74 : 4A          |                          LSR                          
 2699 | 12                  hud_init.s    260 | Code        | 11 |         |    1 | 00/3B75 : 4A          |                          LSR                          
 2700 | 12                  hud_init.s    261 | Code        | 11 |         |    1 | 00/3B76 : 4A          |                          LSR                          
 2701 | 12                  hud_init.s    262 | Code        | 11 |         |    2 | 00/3B77 : 05 18       |                          ORA     {$18}                
 2702 | 12                  hud_init.s    263 | Code        | 11 |         |    2 | 00/3B79 : 29 7F       |                          AND     #$7F                 
 2703 | 12                  hud_init.s    264 | Code        | 11 |         |    2 | 00/3B7B : 09 80       |                          ORA     #$80                 
 2704 | 12                  hud_init.s    265 | Code        | 11 |         |    2 | 00/3B7D : 91 06       |                          STA     ({$06}),Y            
 2705 | 12                  hud_init.s    266 | Code        | 11 |         |    1 | 00/3B7F : 60          |                          RTS                          
 2706 | 12                  hud_init.s    267 | Empty       | 11 |         |    0 | 00/3B80               |                                                       
 2707 |  1                    bagman.s     26 | Directive   | 11 |         |    0 | 00/3B80               |                          PUT     hiscore_seed.s       
 2708 | 13              hiscore_seed.s      1 | Comment     | 11 |         |    0 | 00/3B80               | *
 2709 | 13              hiscore_seed.s      2 | Comment     | 11 |         |    0 | 00/3B80               | * Bagman - Default high-score seed data (throwaway boot code)
 2710 | 13              hiscore_seed.s      3 | Comment     | 11 |         |    0 | 00/3B80               | *
 2711 | 13              hiscore_seed.s      4 | Comment     | 11 |         |    0 | 00/3B80               | * Lives in the $2000 stub block. The CREATE + seed path runs only
 2712 | 13              hiscore_seed.s      5 | Comment     | 11 |         |    0 | 00/3B80               | * on first boot (when MLI OPEN returns FILE NOT FOUND). After
 2713 | 13              hiscore_seed.s      6 | Comment     | 11 |         |    0 | 00/3B80               | * DHGRInit, this block is reclaimed by DHGR page 1 main and gone.
 2714 | 13              hiscore_seed.s      7 | Comment     | 11 |         |    0 | 00/3B80               | *
 2715 | 13              hiscore_seed.s      8 | Comment     | 11 |         |    0 | 00/3B80               | * Each entry: 15 ASCII chars (space-padded) + 4-byte LE BCD score.
 2716 | 13              hiscore_seed.s      9 | Comment     | 11 |         |    0 | 00/3B80               | *
 2717 | 13              hiscore_seed.s     10 | Empty       | 11 |         |    0 | 00/3B80               |                                                       
 2718 | 13              hiscore_seed.s     11 | Empty       | 11 |         |    0 | 00/3B80               | DefaultHiScoreData                                    
 2719 | 13              hiscore_seed.s     12 | Data        | 11 |         |   15 | 00/3B80 : C3 CC C1 D5 |                          ASC     "CLAUDE         "    
      |                                       |             |    |         |      |           C4 C5 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2720 | 13              hiscore_seed.s     13 | Data        | 11 |         |    4 | 00/3B8F : 00 00 03 00 |                          HEX     00000300             ; 30000
 2721 | 13              hiscore_seed.s     14 | Data        | 11 |         |   15 | 00/3B93 : C3 C1 CE CB |                          ASC     "CANKLES        "    
      |                                       |             |    |         |      |           CC C5 D3 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2722 | 13              hiscore_seed.s     15 | Data        | 11 |         |    4 | 00/3BA2 : 00 70 02 00 |                          HEX     00700200             ; 27000
 2723 | 13              hiscore_seed.s     16 | Data        | 11 |         |   15 | 00/3BA6 : CD CF D5 CE |                          ASC     "MOUNTAIN MAN   "    
      |                                       |             |    |         |      |           D4 C1 C9 CE |
      |                                       |             |    |         |      |           A0 CD C1 CE |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2724 | 13              hiscore_seed.s     17 | Data        | 11 |         |    4 | 00/3BB5 : 00 40 02 00 |                          HEX     00400200             ; 24000
 2725 | 13              hiscore_seed.s     18 | Data        | 11 |         |   15 | 00/3BB9 : C9 D2 D3 CD |                          ASC     "IRSMAN         "    
      |                                       |             |    |         |      |           C1 CE A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2726 | 13              hiscore_seed.s     19 | Data        | 11 |         |    4 | 00/3BC8 : 00 10 02 00 |                          HEX     00100200             ; 21000
 2727 | 13              hiscore_seed.s     20 | Data        | 11 |         |   15 | 00/3BCC : C8 D9 D0 CE |                          ASC     "HYPNOTIZE      "    
      |                                       |             |    |         |      |           CF D4 C9 DA |
      |                                       |             |    |         |      |           C5 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2728 | 13              hiscore_seed.s     21 | Data        | 11 |         |    4 | 00/3BDB : 00 80 01 00 |                          HEX     00800100             ; 18000
 2729 | 13              hiscore_seed.s     22 | Data        | 11 |         |   15 | 00/3BDF : CC CF C7 CF |                          ASC     "LOGO           "    
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2730 | 13              hiscore_seed.s     23 | Data        | 11 |         |    4 | 00/3BEE : 00 50 01 00 |                          HEX     00500100             ; 15000
 2731 | 13              hiscore_seed.s     24 | Data        | 11 |         |   15 | 00/3BF2 : CD D2 A0 D3 |                          ASC     "MR SLICK       "    
      |                                       |             |    |         |      |           CC C9 C3 CB |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2732 | 13              hiscore_seed.s     25 | Data        | 11 |         |    4 | 00/3C01 : 00 20 01 00 |                          HEX     00200100             ; 12000
 2733 | 13              hiscore_seed.s     26 | Data        | 11 |         |   15 | 00/3C05 : C6 C5 D2 D2 |                          ASC     "FERRARI        "    
      |                                       |             |    |         |      |           C1 D2 C9 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2734 | 13              hiscore_seed.s     27 | Data        | 11 |         |    4 | 00/3C14 : 00 90 00 00 |                          HEX     00900000             ; 9000
 2735 | 13              hiscore_seed.s     28 | Data        | 11 |         |   15 | 00/3C18 : CD C5 D2 C3 |                          ASC     "MERCENARY      "    
      |                                       |             |    |         |      |           C5 CE C1 D2 |
      |                                       |             |    |         |      |           D9 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2736 | 13              hiscore_seed.s     29 | Data        | 11 |         |    4 | 00/3C27 : 00 60 00 00 |                          HEX     00600000             ; 6000
 2737 | 13              hiscore_seed.s     30 | Data        | 11 |         |   15 | 00/3C2B : CA C1 C5 C7 |                          ASC     "JAEGER         "    
      |                                       |             |    |         |      |           C5 D2 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
      |                                       |             |    |         |      |           A0 A0 A0    |
 2738 | 13              hiscore_seed.s     31 | Data        | 11 |         |    4 | 00/3C3A : 00 30 00 00 |                          HEX     00300000             ; 3000
 2739 | 13              hiscore_seed.s     32 | Empty       | 11 |         |    0 | 00/3C3E               |                                                       
 2740 | 13              hiscore_seed.s     33 | Comment     | 11 |         |    0 | 00/3C3E               | *----------------------------------------------
 2741 | 13              hiscore_seed.s     34 | Comment     | 11 |         |    0 | 00/3C3E               | * MLI CREATE parameter block (type $06 BIN, access $C3 full).
 2742 | 13              hiscore_seed.s     35 | Comment     | 11 |         |    0 | 00/3C3E               | *----------------------------------------------
 2743 | 13              hiscore_seed.s     36 | Data        | 11 |         |    1 | 00/3C3E : 07          | CreateParms              DFB     7                    
 2744 | 13              hiscore_seed.s     37 | Data        | 11 |         |    2 | 00/3C3F : D4 9B       |                          DA      HSPath               
 2745 | 13              hiscore_seed.s     38 | Data        | 11 |         |    1 | 00/3C41 : C3          |                          DFB     $C3                  ; full access
 2746 | 13              hiscore_seed.s     39 | Data        | 11 |         |    1 | 00/3C42 : 06          |                          DFB     $06                  ; file_type = BIN
 2747 | 13              hiscore_seed.s     40 | Data        | 11 |         |    2 | 00/3C43 : 00 00       |                          DA      0                    ; aux_type
 2748 | 13              hiscore_seed.s     41 | Data        | 11 |         |    1 | 00/3C45 : 01          |                          DFB     1                    ; storage_type = seedling
 2749 | 13              hiscore_seed.s     42 | Data        | 11 |         |    2 | 00/3C46 : 00 00       |                          DA      0                    ; create_date
 2750 | 13              hiscore_seed.s     43 | Data        | 11 |         |    2 | 00/3C48 : 00 00       |                          DA      0                    ; create_time
 2751 | 13              hiscore_seed.s     44 | Empty       | 11 |         |    0 | 00/3C4A               |                                                       
 2752 | 13              hiscore_seed.s     45 | Comment     | 11 |         |    0 | 00/3C4A               | *----------------------------------------------
 2753 | 13              hiscore_seed.s     46 | Comment     | 11 |         |    0 | 00/3C4A               | * CreateAndSeed - MLI CREATE the file, copy defaults into the
 2754 | 13              hiscore_seed.s     47 | Comment     | 11 |         |    0 | 00/3C4A               | * runtime table, then SaveHiScores writes them to disk.
 2755 | 13              hiscore_seed.s     48 | Comment     | 11 |         |    0 | 00/3C4A               | *
 2756 | 13              hiscore_seed.s     49 | Comment     | 11 |         |    0 | 00/3C4A               | * Called once (first boot) via fall-through from LoadHiScores
 2757 | 13              hiscore_seed.s     50 | Comment     | 11 |         |    0 | 00/3C4A               | * :noFile branch. Error from CREATE is ignored - the subsequent
 2758 | 13              hiscore_seed.s     51 | Comment     | 11 |         |    0 | 00/3C4A               | * SaveHiScores OPEN will surface any real problem by silently
 2759 | 13              hiscore_seed.s     52 | Comment     | 11 |         |    0 | 00/3C4A               | * failing, which is acceptable for a high-score feature.
 2760 | 13              hiscore_seed.s     53 | Comment     | 11 |         |    0 | 00/3C4A               | *----------------------------------------------
 2761 | 13              hiscore_seed.s     54 | Empty       | 11 |         |    0 | 00/3C4A               | CreateAndSeed                                         
 2762 | 13              hiscore_seed.s     55 | Code        | 11 |         |    3 | 00/3C4A : 20 00 BF    |                          JSR     $BF00                
 2763 | 13              hiscore_seed.s     56 | Data        | 11 |         |    1 | 00/3C4D : C0          |                          DFB     $C0                  ; CREATE
 2764 | 13              hiscore_seed.s     57 | Data        | 11 |         |    2 | 00/3C4E : 3E 3C       |                          DA      CreateParms          
 2765 | 13              hiscore_seed.s     58 | Comment     | 11 |         |    0 | 00/3C50               | *        fall through
 2766 | 13              hiscore_seed.s     59 | Empty       | 11 |         |    0 | 00/3C50               |                                                       
 2767 | 13              hiscore_seed.s     60 | Comment     | 11 |         |    0 | 00/3C50               | *----------------------------------------------
 2768 | 13              hiscore_seed.s     61 | Comment     | 11 |         |    0 | 00/3C50               | * WriteDefaultHiScores - Copy 190 bytes of defaults to HiScoreTbl,
 2769 | 13              hiscore_seed.s     62 | Comment     | 11 |         |    0 | 00/3C50               | * then SaveHiScores.
 2770 | 13              hiscore_seed.s     63 | Comment     | 11 |         |    0 | 00/3C50               | *----------------------------------------------
 2771 | 13              hiscore_seed.s     64 | Empty       | 11 |         |    0 | 00/3C50               | WriteDefaultHiScores                                  
 2772 | 13              hiscore_seed.s     65 | Code        | 11 |         |    2 | 00/3C50 : A2 00       |                          LDX     #0                   
 2773 | 13              hiscore_seed.s     66 | Code        | 11 |         |    3 | 00/3C52 : BD 80 3B    | ozunid_21                LDA     DefaultHiScoreData,X 
 2774 | 13              hiscore_seed.s     67 | Code        | 11 |         |    3 | 00/3C55 : 9D 23 1F    |                          STA     {$1F23},X            
 2775 | 13              hiscore_seed.s     68 | Code        | 11 |         |    1 | 00/3C58 : E8          |                          INX                          
 2776 | 13              hiscore_seed.s     69 | Code        | 11 |         |    2 | 00/3C59 : E0 BE       |                          CPX     #190                 
 2777 | 13              hiscore_seed.s     70 | Code        | 11 |         |    2 | 00/3C5B : D0 F5       |                          BNE     ozunid_21            
 2778 | 13              hiscore_seed.s     71 | Code        | 11 |         |    3 | 00/3C5D : 4C FC 9B    |                          JMP     SaveHiScores         
 2779 | 13              hiscore_seed.s     72 | Empty       | 11 |         |    0 | 00/3C60               |                                                       
 2780 |  1                    bagman.s     27 | Empty       | 11 |         |    0 | 00/3C60               |                                                       
 2781 |  1                    bagman.s     28 | Data        | 11 |         |    7 | 00/3C60 : C2 C1 C7 CD | BuildInfo                ASC     "BAGMAN "            
      |                                       |             |    |         |      |           C1 CE A0    |
 2782 |  1                    bagman.s     29 | Directive   | 11 |         |    0 | 00/3C67               |                          PUT     build_info.s         
 2783 | 14                build_info.s      1 | Comment     | 11 |         |    0 | 00/3C67               | * Auto-generated build information
 2784 | 14                build_info.s      2 | Data        | 11 |         |   11 | 00/3C67 : B2 B0 B2 B6 | BUILD_DATE               ASC     "2026-05-09 "        
      |                                       |             |    |         |      |           AD B0 B5 AD |
      |                                       |             |    |         |      |           B0 B9 A0    |
 2785 | 14                build_info.s      3 | Data        | 11 |         |    8 | 00/3C72 : B1 B3 BA B1 | BUILD_TIME               ASC     "13:16:42"           
      |                                       |             |    |         |      |           B6 BA B4 B2 |
 2786 | 14                build_info.s      4 | Empty       | 11 |         |    0 | 00/3C7A               |                                                       
 2787 |  1                    bagman.s     30 | Empty       | 11 |         |    0 | 00/3C7A               | BuildInfoEnd                                          
 2788 |  1                    bagman.s     31 | Empty       | 11 |         |    0 | 00/3C7A               |                                                       
 2789 |  1                    bagman.s     32 | Empty       | 11 |         |    0 | 00/3C7A               | StubEnd                                               
 2790 |  1                    bagman.s     33 | Empty       | 11 |         |    0 | 00/3C7A               |                                                       
 2791 |  1                    bagman.s     34 | Comment     | 11 |         |    0 | 00/3C7A               | * --- Code relocated to $0800 (position-dependent, copied during init) ---
 2792 |  1                    bagman.s     35 | Comment     | 11 |         |    0 | 00/3C7A               | * Single 6 KB region $0800-$1FFF (previously $1800-$1FFF = 2 KB; grew
 2793 |  1                    bagman.s     36 | Comment     | 11 |         |    0 | 00/3C7A               | * 4 KB down after the compressed title page was moved to aux LC).
 2794 |  1                    bagman.s     37 | Comment     | 11 |         |    0 | 00/3C7A               | * Boot / debug-path code lands here to keep the $6000 block free for
 2795 |  1                    bagman.s     38 | Comment     | 11 |         |    0 | 00/3C7A               | * per-frame work.
 2796 |  1                    bagman.s     39 | Directive   | 11 |         |    0 | 00/3C7A               |                          ORG     $0800                
 2797 |  1                    bagman.s     40 | Directive   | 11 |         |    0 | 00/0800               |                          PUT     lzsa2.s              
 2798 | 15                     lzsa2.s      1 | Comment     | 11 |         |    0 | 00/0800               | *
 2799 | 15                     lzsa2.s      2 | Comment     | 11 |         |    0 | 00/0800               | * LZSA2 Decompressor for Merlin32
 2800 | 15                     lzsa2.s      3 | Comment     | 11 |         |    0 | 00/0800               | *
 2801 | 15                     lzsa2.s      4 | Comment     | 11 |         |    0 | 00/0800               | * Ported from John Brandwood's NMOS 6502 ACME version
 2802 | 15                     lzsa2.s      5 | Comment     | 11 |         |    0 | 00/0800               | * Original: github.com/emmanuel-marty/lzsa
 2803 | 15                     lzsa2.s      6 | Comment     | 11 |         |    0 | 00/0800               | *
 2804 | 15                     lzsa2.s      7 | Comment     | 11 |         |    0 | 00/0800               | * Call with lzsa_srcptr/lzsa_dstptr set to source/dest
 2805 | 15                     lzsa2.s      8 | Comment     | 11 |         |    0 | 00/0800               | *
 2806 | 15                     lzsa2.s      9 | Empty       | 11 |         |    0 | 00/0800               |                                                       
 2807 | 15                     lzsa2.s     10 | Comment     | 11 |         |    0 | 00/0800               | *----------------------------------------------
 2808 | 15                     lzsa2.s     11 | Comment     | 11 |         |    0 | 00/0800               | * Zero page usage ($F5-$FF)
 2809 | 15                     lzsa2.s     12 | Comment     | 11 |         |    0 | 00/0800               | *----------------------------------------------
 2810 | 15                     lzsa2.s     13 | Equivalence | 11 |         |    0 | 00/0800               | lzsa_cmdbuf              =       $F5                  ; 1 byte - command buffer
 2811 | 15                     lzsa2.s     14 | Equivalence | 11 |         |    0 | 00/0800               | lzsa_nibflg              =       $F6                  ; 1 byte - nibble flag
 2812 | 15                     lzsa2.s     15 | Equivalence | 11 |         |    0 | 00/0800               | lzsa_nibble              =       $F7                  ; 1 byte - nibble buffer
 2813 | 15                     lzsa2.s     16 | Equivalence | 11 |         |    0 | 00/0800               | lzsa_offset              =       $F8                  ; 2 bytes - match offset
 2814 | 15                     lzsa2.s     17 | Equivalence | 11 |         |    0 | 00/0800               | lzsa_winptr              =       $FA                  ; 2 bytes - window pointer
 2815 | 15                     lzsa2.s     18 | Equivalence | 11 |         |    0 | 00/0800               | lzsa_srcptr              =       $FC                  ; 2 bytes - source pointer
 2816 | 15                     lzsa2.s     19 | Equivalence | 11 |         |    0 | 00/0800               | lzsa_dstptr              =       $FE                  ; 2 bytes - destination pointer
 2817 | 15                     lzsa2.s     20 | Equivalence | 11 |         |    0 | 00/0800               | lzsa_length              =       {$FA}                ; alias - reuses winptr
 2818 | 15                     lzsa2.s     21 | Empty       | 11 |         |    0 | 00/0800               |                                                       
 2819 | 15                     lzsa2.s     22 | Comment     | 11 |         |    0 | 00/0800               | *----------------------------------------------
 2820 | 15                     lzsa2.s     23 | Comment     | 11 |         |    0 | 00/0800               | * LZSA2Decomp - Decompress LZSA2 data
 2821 | 15                     lzsa2.s     24 | Comment     | 11 |         |    0 | 00/0800               | *
 2822 | 15                     lzsa2.s     25 | Comment     | 11 |         |    0 | 00/0800               | * In: lzsa_srcptr = compressed data address
 2823 | 15                     lzsa2.s     26 | Comment     | 11 |         |    0 | 00/0800               | *     lzsa_dstptr = output buffer address
 2824 | 15                     lzsa2.s     27 | Comment     | 11 |         |    0 | 00/0800               | *----------------------------------------------
 2825 | 15                     lzsa2.s     28 | Empty       | 11 |         |    0 | 00/0800               | LZSA2Decomp                                           
 2826 | 15                     lzsa2.s     29 | Code        | 11 |         |    2 | 00/0800 : A2 00       |                          LDX     #$00                 
 2827 | 15                     lzsa2.s     30 | Code        | 11 |         |    2 | 00/0802 : A0 00       |                          LDY     #$00                 
 2828 | 15                     lzsa2.s     31 | Code        | 11 |         |    2 | 00/0804 : 84 F6       |                          STY     {$F6}                
 2829 | 15                     lzsa2.s     32 | Empty       | 11 |         |    0 | 00/0806               |                                                       
 2830 | 15                     lzsa2.s     33 | Comment     | 11 |         |    0 | 00/0806               | * Copy literal bytes from source
 2831 | 15                     lzsa2.s     34 | Empty       | 11 |         |    0 | 00/0806               |                                                       
 2832 | 15                     lzsa2.s     35 | Code        | 11 |         |    2 | 00/0806 : B1 FC       | _cpLen                   LDA     ({$FC}),Y            
 2833 | 15                     lzsa2.s     36 | Code        | 11 |         |    2 | 00/0808 : E6 FC       |                          INC     {$FC}                
 2834 | 15                     lzsa2.s     37 | Code        | 11 |         |    2 | 00/080A : D0 02       |                          BNE     _cpSkp0              
 2835 | 15                     lzsa2.s     38 | Code        | 11 |         |    2 | 00/080C : E6 FD       |                          INC     {$FC}+1              
 2836 | 15                     lzsa2.s     39 | Code        | 11 |         |    2 | 00/080E : 85 F5       | _cpSkp0                  STA     {$F5}                
 2837 | 15                     lzsa2.s     40 | Code        | 11 |         |    2 | 00/0810 : 29 18       |                          AND     #$18                 
 2838 | 15                     lzsa2.s     41 | Code        | 11 |         |    2 | 00/0812 : F0 2A       |                          BEQ     _lzOff               
 2839 | 15                     lzsa2.s     42 | Code        | 11 |         |    1 | 00/0814 : 4A          |                          LSR                          
 2840 | 15                     lzsa2.s     43 | Code        | 11 |         |    1 | 00/0815 : 4A          |                          LSR                          
 2841 | 15                     lzsa2.s     44 | Code        | 11 |         |    1 | 00/0816 : 4A          |                          LSR                          
 2842 | 15                     lzsa2.s     45 | Code        | 11 |         |    2 | 00/0817 : C9 03       |                          CMP     #$03                 
 2843 | 15                     lzsa2.s     46 | Code        | 11 |         |    2 | 00/0819 : 90 06       |                          BCC     _cpGot               
 2844 | 15                     lzsa2.s     47 | Code        | 11 |         |    3 | 00/081B : 20 B6 08    |                          JSR     _getLen              
 2845 | 15                     lzsa2.s     48 | Code        | 11 |         |    3 | 00/081E : 8E 36 08    |                          STX     _cpNpg+1             
 2846 | 15                     lzsa2.s     49 | Code        | 11 |         |    1 | 00/0821 : AA          | _cpGot                   TAX                          
 2847 | 15                     lzsa2.s     50 | Empty       | 11 |         |    0 | 00/0822               |                                                       
 2848 | 15                     lzsa2.s     51 | Code        | 11 |         |    2 | 00/0822 : B1 FC       | _cpByte                  LDA     ({$FC}),Y            
 2849 | 15                     lzsa2.s     52 | Code        | 11 |         |    2 | 00/0824 : 91 FE       |                          STA     ({$FE}),Y            
 2850 | 15                     lzsa2.s     53 | Code        | 11 |         |    2 | 00/0826 : E6 FC       |                          INC     {$FC}                
 2851 | 15                     lzsa2.s     54 | Code        | 11 |         |    2 | 00/0828 : D0 02       |                          BNE     _cpSkp1              
 2852 | 15                     lzsa2.s     55 | Code        | 11 |         |    2 | 00/082A : E6 FD       |                          INC     {$FC}+1              
 2853 | 15                     lzsa2.s     56 | Code        | 11 |         |    2 | 00/082C : E6 FE       | _cpSkp1                  INC     {$FE}                
 2854 | 15                     lzsa2.s     57 | Code        | 11 |         |    2 | 00/082E : D0 02       |                          BNE     _cpSkp2              
 2855 | 15                     lzsa2.s     58 | Code        | 11 |         |    2 | 00/0830 : E6 FF       |                          INC     {$FE}+1              
 2856 | 15                     lzsa2.s     59 | Code        | 11 |         |    1 | 00/0832 : CA          | _cpSkp2                  DEX                          
 2857 | 15                     lzsa2.s     60 | Code        | 11 |         |    2 | 00/0833 : D0 ED       |                          BNE     _cpByte              
 2858 | 15                     lzsa2.s     61 | Code        | 11 |         |    2 | 00/0835 : A9 00       | _cpNpg                   LDA     #0                   
 2859 | 15                     lzsa2.s     62 | Code        | 11 |         |    2 | 00/0837 : F0 05       |                          BEQ     _lzOff               
 2860 | 15                     lzsa2.s     63 | Code        | 11 |         |    3 | 00/0839 : CE 36 08    |                          DEC     _cpNpg+1             
 2861 | 15                     lzsa2.s     64 | Code        | 11 |         |    2 | 00/083C : 90 E4       |                          BCC     _cpByte              
 2862 | 15                     lzsa2.s     65 | Empty       | 11 |         |    0 | 00/083E               |                                                       
 2863 | 15                     lzsa2.s     66 | Comment     | 11 |         |    0 | 00/083E               | * Decode match offset
 2864 | 15                     lzsa2.s     67 | Comment     | 11 |         |    0 | 00/083E               | * 00z = 5-bit, 01z = 9-bit, 10z = 13-bit
 2865 | 15                     lzsa2.s     68 | Comment     | 11 |         |    0 | 00/083E               | * 110 = 16-bit, 111 = repeat
 2866 | 15                     lzsa2.s     69 | Empty       | 11 |         |    0 | 00/083E               |                                                       
 2867 | 15                     lzsa2.s     70 | Code        | 11 |         |    2 | 00/083E : A5 F5       | _lzOff                   LDA     {$F5}                
 2868 | 15                     lzsa2.s     71 | Code        | 11 |         |    1 | 00/0840 : 0A          |                          ASL                          
 2869 | 15                     lzsa2.s     72 | Code        | 11 |         |    2 | 00/0841 : B0 1B       |                          BCS     _g1316               
 2870 | 15                     lzsa2.s     73 | Empty       | 11 |         |    0 | 00/0843               |                                                       
 2871 | 15                     lzsa2.s     74 | Code        | 11 |         |    1 | 00/0843 : CA          | _g59                     DEX                          
 2872 | 15                     lzsa2.s     75 | Code        | 11 |         |    1 | 00/0844 : 0A          |                          ASL                          
 2873 | 15                     lzsa2.s     76 | Code        | 11 |         |    2 | 00/0845 : B0 11       |                          BCS     _g9                  
 2874 | 15                     lzsa2.s     77 | Empty       | 11 |         |    0 | 00/0847               |                                                       
 2875 | 15                     lzsa2.s     78 | Code        | 11 |         |    1 | 00/0847 : 0A          | _g13                     ASL                          
 2876 | 15                     lzsa2.s     79 | Code        | 11 |         |    1 | 00/0848 : 08          |                          PHP                          
 2877 | 15                     lzsa2.s     80 | Code        | 11 |         |    3 | 00/0849 : 20 E7 08    |                          JSR     _getNib              
 2878 | 15                     lzsa2.s     81 | Code        | 11 |         |    1 | 00/084C : 28          |                          PLP                          
 2879 | 15                     lzsa2.s     82 | Code        | 11 |         |    1 | 00/084D : 2A          |                          ROL                          
 2880 | 15                     lzsa2.s     83 | Code        | 11 |         |    2 | 00/084E : 49 E1       |                          EOR     #$E1                 
 2881 | 15                     lzsa2.s     84 | Code        | 11 |         |    2 | 00/0850 : E0 00       |                          CPX     #$00                 
 2882 | 15                     lzsa2.s     85 | Code        | 11 |         |    2 | 00/0852 : D0 1B       |                          BNE     _setOff              
 2883 | 15                     lzsa2.s     86 | Code        | 11 |         |    2 | 00/0854 : E9 02       |                          SBC     #2                   
 2884 | 15                     lzsa2.s     87 | Code        | 11 |         |    2 | 00/0856 : D0 0E       |                          BNE     _setHi8              
 2885 | 15                     lzsa2.s     88 | Empty       | 11 |         |    0 | 00/0858               |                                                       
 2886 | 15                     lzsa2.s     89 | Code        | 11 |         |    1 | 00/0858 : 0A          | _g9                      ASL                          
 2887 | 15                     lzsa2.s     90 | Code        | 11 |         |    2 | 00/0859 : 90 0C       |                          BCC     _getLo8              
 2888 | 15                     lzsa2.s     91 | Code        | 11 |         |    1 | 00/085B : CA          |                          DEX                          
 2889 | 15                     lzsa2.s     92 | Code        | 11 |         |    2 | 00/085C : B0 09       |                          BCS     _getLo8              
 2890 | 15                     lzsa2.s     93 | Empty       | 11 |         |    0 | 00/085E               |                                                       
 2891 | 15                     lzsa2.s     94 | Code        | 11 |         |    1 | 00/085E : 0A          | _g1316                   ASL                          
 2892 | 15                     lzsa2.s     95 | Code        | 11 |         |    2 | 00/085F : 90 E6       |                          BCC     _g13                 
 2893 | 15                     lzsa2.s     96 | Empty       | 11 |         |    0 | 00/0861               |                                                       
 2894 | 15                     lzsa2.s     97 | Code        | 11 |         |    2 | 00/0861 : 30 10       | _g16rep                  BMI     _lzLen               
 2895 | 15                     lzsa2.s     98 | Empty       | 11 |         |    0 | 00/0863               |                                                       
 2896 | 15                     lzsa2.s     99 | Code        | 11 |         |    3 | 00/0863 : 20 DB 08    | _g16                     JSR     _getByte             
 2897 | 15                     lzsa2.s    100 | Empty       | 11 |         |    0 | 00/0866               |                                                       
 2898 | 15                     lzsa2.s    101 | Code        | 11 |         |    1 | 00/0866 : AA          | _setHi8                  TAX                          
 2899 | 15                     lzsa2.s    102 | Empty       | 11 |         |    0 | 00/0867               |                                                       
 2900 | 15                     lzsa2.s    103 | Code        | 11 |         |    2 | 00/0867 : B1 FC       | _getLo8                  LDA     ({$FC}),Y            
 2901 | 15                     lzsa2.s    104 | Code        | 11 |         |    2 | 00/0869 : E6 FC       |                          INC     {$FC}                
 2902 | 15                     lzsa2.s    105 | Code        | 11 |         |    2 | 00/086B : D0 02       |                          BNE     _setOff              
 2903 | 15                     lzsa2.s    106 | Code        | 11 |         |    2 | 00/086D : E6 FD       |                          INC     {$FC}+1              
 2904 | 15                     lzsa2.s    107 | Empty       | 11 |         |    0 | 00/086F               |                                                       
 2905 | 15                     lzsa2.s    108 | Code        | 11 |         |    2 | 00/086F : 85 F8       | _setOff                  STA     {$F8}                
 2906 | 15                     lzsa2.s    109 | Code        | 11 |         |    2 | 00/0871 : 86 F9       |                          STX     {$F8}+1              
 2907 | 15                     lzsa2.s    110 | Empty       | 11 |         |    0 | 00/0873               |                                                       
 2908 | 15                     lzsa2.s    111 | Comment     | 11 |         |    0 | 00/0873               | * Decode match length
 2909 | 15                     lzsa2.s    112 | Empty       | 11 |         |    0 | 00/0873               |                                                       
 2910 | 15                     lzsa2.s    113 | Code        | 11 |         |    2 | 00/0873 : A2 01       | _lzLen                   LDX     #1                   
 2911 | 15                     lzsa2.s    114 | Code        | 11 |         |    2 | 00/0875 : A5 F5       |                          LDA     {$F5}                
 2912 | 15                     lzsa2.s    115 | Code        | 11 |         |    2 | 00/0877 : 29 07       |                          AND     #$07                 
 2913 | 15                     lzsa2.s    116 | Code        | 11 |         |    1 | 00/0879 : 18          |                          CLC                          
 2914 | 15                     lzsa2.s    117 | Code        | 11 |         |    2 | 00/087A : 69 02       |                          ADC     #$02                 
 2915 | 15                     lzsa2.s    118 | Code        | 11 |         |    2 | 00/087C : C9 09       |                          CMP     #$09                 
 2916 | 15                     lzsa2.s    119 | Code        | 11 |         |    2 | 00/087E : 90 04       |                          BCC     _gotLzL              
 2917 | 15                     lzsa2.s    120 | Code        | 11 |         |    3 | 00/0880 : 20 B6 08    |                          JSR     _getLen              
 2918 | 15                     lzsa2.s    121 | Code        | 11 |         |    1 | 00/0883 : E8          |                          INX                          
 2919 | 15                     lzsa2.s    122 | Empty       | 11 |         |    0 | 00/0884               |                                                       
 2920 | 15                     lzsa2.s    123 | Code        | 11 |         |    2 | 00/0884 : 49 FF       | _gotLzL                  EOR     #$FF                 
 2921 | 15                     lzsa2.s    124 | Code        | 11 |         |    1 | 00/0886 : A8          |                          TAY                          
 2922 | 15                     lzsa2.s    125 | Code        | 11 |         |    2 | 00/0887 : 49 FF       |                          EOR     #$FF                 
 2923 | 15                     lzsa2.s    126 | Empty       | 11 |         |    0 | 00/0889               |                                                       
 2924 | 15                     lzsa2.s    127 | Code        | 11 |         |    2 | 00/0889 : 65 FE       | _getLzD                  ADC     {$FE}                
 2925 | 15                     lzsa2.s    128 | Code        | 11 |         |    2 | 00/088B : 85 FE       |                          STA     {$FE}                
 2926 | 15                     lzsa2.s    129 | Code        | 11 |         |    1 | 00/088D : C8          |                          INY                          
 2927 | 15                     lzsa2.s    130 | Code        | 11 |         |    2 | 00/088E : B0 04       |                          BCS     _getLzW              
 2928 | 15                     lzsa2.s    131 | Code        | 11 |         |    2 | 00/0890 : F0 02       |                          BEQ     _getLzW              
 2929 | 15                     lzsa2.s    132 | Code        | 11 |         |    2 | 00/0892 : C6 FF       |                          DEC     {$FE}+1              
 2930 | 15                     lzsa2.s    133 | Empty       | 11 |         |    0 | 00/0894               |                                                       
 2931 | 15                     lzsa2.s    134 | Code        | 11 |         |    1 | 00/0894 : 18          | _getLzW                  CLC                          
 2932 | 15                     lzsa2.s    135 | Code        | 11 |         |    2 | 00/0895 : 65 F8       |                          ADC     {$F8}                
 2933 | 15                     lzsa2.s    136 | Code        | 11 |         |    2 | 00/0897 : 85 FA       |                          STA     {$FA}                
 2934 | 15                     lzsa2.s    137 | Code        | 11 |         |    2 | 00/0899 : A5 FF       |                          LDA     {$FE}+1              
 2935 | 15                     lzsa2.s    138 | Code        | 11 |         |    2 | 00/089B : 65 F9       |                          ADC     {$F8}+1              
 2936 | 15                     lzsa2.s    139 | Code        | 11 |         |    2 | 00/089D : 85 FB       |                          STA     {$FA}+1              
 2937 | 15                     lzsa2.s    140 | Empty       | 11 |         |    0 | 00/089F               |                                                       
 2938 | 15                     lzsa2.s    141 | Comment     | 11 |         |    0 | 00/089F               | * Copy match bytes from window
 2939 | 15                     lzsa2.s    142 | Empty       | 11 |         |    0 | 00/089F               |                                                       
 2940 | 15                     lzsa2.s    143 | Code        | 11 |         |    2 | 00/089F : B1 FA       | _lzByte                  LDA     ({$FA}),Y            
 2941 | 15                     lzsa2.s    144 | Code        | 11 |         |    2 | 00/08A1 : 91 FE       |                          STA     ({$FE}),Y            
 2942 | 15                     lzsa2.s    145 | Code        | 11 |         |    1 | 00/08A3 : C8          |                          INY                          
 2943 | 15                     lzsa2.s    146 | Code        | 11 |         |    2 | 00/08A4 : D0 F9       |                          BNE     _lzByte              
 2944 | 15                     lzsa2.s    147 | Code        | 11 |         |    2 | 00/08A6 : E6 FF       |                          INC     {$FE}+1              
 2945 | 15                     lzsa2.s    148 | Code        | 11 |         |    1 | 00/08A8 : CA          |                          DEX                          
 2946 | 15                     lzsa2.s    149 | Code        | 11 |         |    2 | 00/08A9 : D0 03       |                          BNE     _lzMore              
 2947 | 15                     lzsa2.s    150 | Code        | 11 |         |    3 | 00/08AB : 4C 06 08    |                          JMP     _cpLen               
 2948 | 15                     lzsa2.s    151 | Empty       | 11 |         |    0 | 00/08AE               |                                                       
 2949 | 15                     lzsa2.s    152 | Code        | 11 |         |    2 | 00/08AE : E6 FB       | _lzMore                  INC     {$FA}+1              
 2950 | 15                     lzsa2.s    153 | Code        | 11 |         |    2 | 00/08B0 : D0 ED       |                          BNE     _lzByte              
 2951 | 15                     lzsa2.s    154 | Empty       | 11 |         |    0 | 00/08B2               |                                                       
 2952 | 15                     lzsa2.s    155 | Comment     | 11 |         |    0 | 00/08B2               | *----------------------------------------------
 2953 | 15                     lzsa2.s    156 | Comment     | 11 |         |    0 | 00/08B2               | * Length tables
 2954 | 15                     lzsa2.s    157 | Comment     | 11 |         |    0 | 00/08B2               | *----------------------------------------------
 2955 | 15                     lzsa2.s    158 | Data        | 11 |         |    1 | 00/08B2 : 03          | _nibLenT                 DFB     3                    ; 0+3 (literal)
 2956 | 15                     lzsa2.s    159 | Data        | 11 |         |    1 | 00/08B3 : 09          |                          DFB     9                    ; 2+7 (match)
 2957 | 15                     lzsa2.s    160 | Empty       | 11 |         |    0 | 00/08B4               |                                                       
 2958 | 15                     lzsa2.s    161 | Data        | 11 |         |    1 | 00/08B4 : 11          | _bytLenT                 DFB     17                   ; 0+3+15-1 (literal)
 2959 | 15                     lzsa2.s    162 | Data        | 11 |         |    1 | 00/08B5 : 17          |                          DFB     23                   ; 2+7+15-1 (match)
 2960 | 15                     lzsa2.s    163 | Empty       | 11 |         |    0 | 00/08B6               |                                                       
 2961 | 15                     lzsa2.s    164 | Comment     | 11 |         |    0 | 00/08B6               | *----------------------------------------------
 2962 | 15                     lzsa2.s    165 | Comment     | 11 |         |    0 | 00/08B6               | * Get extended length in X:A
 2963 | 15                     lzsa2.s    166 | Comment     | 11 |         |    0 | 00/08B6               | *----------------------------------------------
 2964 | 15                     lzsa2.s    167 | Code        | 11 |         |    3 | 00/08B6 : 20 E7 08    | _getLen                  JSR     _getNib              
 2965 | 15                     lzsa2.s    168 | Code        | 11 |         |    2 | 00/08B9 : C9 0F       |                          CMP     #$0F                 
 2966 | 15                     lzsa2.s    169 | Code        | 11 |         |    2 | 00/08BB : B0 06       |                          BCS     _byteL               
 2967 | 15                     lzsa2.s    170 | Code        | 11 |         |    3 | 00/08BD : 7D B2 08    |                          ADC     _nibLenT,X           
 2968 | 15                     lzsa2.s    171 | Code        | 11 |         |    2 | 00/08C0 : A2 00       | _gotLen                  LDX     #$00                 
 2969 | 15                     lzsa2.s    172 | Code        | 11 |         |    1 | 00/08C2 : 60          |                          RTS                          
 2970 | 15                     lzsa2.s    173 | Empty       | 11 |         |    0 | 00/08C3               |                                                       
 2971 | 15                     lzsa2.s    174 | Code        | 11 |         |    3 | 00/08C3 : 20 DB 08    | _byteL                   JSR     _getByte             
 2972 | 15                     lzsa2.s    175 | Code        | 11 |         |    3 | 00/08C6 : 7D B4 08    |                          ADC     _bytLenT,X           
 2973 | 15                     lzsa2.s    176 | Code        | 11 |         |    2 | 00/08C9 : 90 F5       |                          BCC     _gotLen              
 2974 | 15                     lzsa2.s    177 | Code        | 11 |         |    2 | 00/08CB : F0 17       |                          BEQ     _finish              
 2975 | 15                     lzsa2.s    178 | Empty       | 11 |         |    0 | 00/08CD               |                                                       
 2976 | 15                     lzsa2.s    179 | Code        | 11 |         |    1 | 00/08CD : 18          | _wordL                   CLC                          
 2977 | 15                     lzsa2.s    180 | Code        | 11 |         |    3 | 00/08CE : 20 DB 08    |                          JSR     _getByte             
 2978 | 15                     lzsa2.s    181 | Code        | 11 |         |    1 | 00/08D1 : 48          |                          PHA                          
 2979 | 15                     lzsa2.s    182 | Code        | 11 |         |    3 | 00/08D2 : 20 DB 08    |                          JSR     _getByte             
 2980 | 15                     lzsa2.s    183 | Code        | 11 |         |    1 | 00/08D5 : AA          |                          TAX                          
 2981 | 15                     lzsa2.s    184 | Code        | 11 |         |    1 | 00/08D6 : 68          |                          PLA                          
 2982 | 15                     lzsa2.s    185 | Code        | 11 |         |    2 | 00/08D7 : D0 01       |                          BNE     _gotW                
 2983 | 15                     lzsa2.s    186 | Code        | 11 |         |    1 | 00/08D9 : CA          |                          DEX                          
 2984 | 15                     lzsa2.s    187 | Code        | 11 |         |    1 | 00/08DA : 60          | _gotW                    RTS                          
 2985 | 15                     lzsa2.s    188 | Empty       | 11 |         |    0 | 00/08DB               |                                                       
 2986 | 15                     lzsa2.s    189 | Comment     | 11 |         |    0 | 00/08DB               | *----------------------------------------------
 2987 | 15                     lzsa2.s    190 | Comment     | 11 |         |    0 | 00/08DB               | * Read one byte from source
 2988 | 15                     lzsa2.s    191 | Comment     | 11 |         |    0 | 00/08DB               | *----------------------------------------------
 2989 | 15                     lzsa2.s    192 | Code        | 11 |         |    2 | 00/08DB : B1 FC       | _getByte                 LDA     ({$FC}),Y            
 2990 | 15                     lzsa2.s    193 | Code        | 11 |         |    2 | 00/08DD : E6 FC       |                          INC     {$FC}                
 2991 | 15                     lzsa2.s    194 | Code        | 11 |         |    2 | 00/08DF : D0 02       |                          BNE     _gotB                
 2992 | 15                     lzsa2.s    195 | Code        | 11 |         |    2 | 00/08E1 : E6 FD       |                          INC     {$FC}+1              
 2993 | 15                     lzsa2.s    196 | Code        | 11 |         |    1 | 00/08E3 : 60          | _gotB                    RTS                          
 2994 | 15                     lzsa2.s    197 | Empty       | 11 |         |    0 | 00/08E4               |                                                       
 2995 | 15                     lzsa2.s    198 | Comment     | 11 |         |    0 | 00/08E4               | *----------------------------------------------
 2996 | 15                     lzsa2.s    199 | Comment     | 11 |         |    0 | 00/08E4               | * Decompression finished - pop return and exit
 2997 | 15                     lzsa2.s    200 | Comment     | 11 |         |    0 | 00/08E4               | *----------------------------------------------
 2998 | 15                     lzsa2.s    201 | Code        | 11 |         |    1 | 00/08E4 : 68          | _finish                  PLA                          
 2999 | 15                     lzsa2.s    202 | Code        | 11 |         |    1 | 00/08E5 : 68          |                          PLA                          
 3000 | 15                     lzsa2.s    203 | Code        | 11 |         |    1 | 00/08E6 : 60          |                          RTS                          
 3001 | 15                     lzsa2.s    204 | Empty       | 11 |         |    0 | 00/08E7               |                                                       
 3002 | 15                     lzsa2.s    205 | Comment     | 11 |         |    0 | 00/08E7               | *----------------------------------------------
 3003 | 15                     lzsa2.s    206 | Comment     | 11 |         |    0 | 00/08E7               | * Get nibble from source
 3004 | 15                     lzsa2.s    207 | Comment     | 11 |         |    0 | 00/08E7               | *----------------------------------------------
 3005 | 15                     lzsa2.s    208 | Code        | 11 |         |    2 | 00/08E7 : 46 F6       | _getNib                  LSR     {$F6}                
 3006 | 15                     lzsa2.s    209 | Code        | 11 |         |    2 | 00/08E9 : A5 F7       |                          LDA     {$F7}                
 3007 | 15                     lzsa2.s    210 | Code        | 11 |         |    2 | 00/08EB : B0 10       |                          BCS     _gotNib              
 3008 | 15                     lzsa2.s    211 | Code        | 11 |         |    2 | 00/08ED : E6 F6       |                          INC     {$F6}                
 3009 | 15                     lzsa2.s    212 | Code        | 11 |         |    2 | 00/08EF : B1 FC       |                          LDA     ({$FC}),Y            
 3010 | 15                     lzsa2.s    213 | Code        | 11 |         |    2 | 00/08F1 : E6 FC       |                          INC     {$FC}                
 3011 | 15                     lzsa2.s    214 | Code        | 11 |         |    2 | 00/08F3 : D0 02       |                          BNE     _setNib              
 3012 | 15                     lzsa2.s    215 | Code        | 11 |         |    2 | 00/08F5 : E6 FD       |                          INC     {$FC}+1              
 3013 | 15                     lzsa2.s    216 | Code        | 11 |         |    2 | 00/08F7 : 85 F7       | _setNib                  STA     {$F7}                
 3014 | 15                     lzsa2.s    217 | Code        | 11 |         |    1 | 00/08F9 : 4A          |                          LSR                          
 3015 | 15                     lzsa2.s    218 | Code        | 11 |         |    1 | 00/08FA : 4A          |                          LSR                          
 3016 | 15                     lzsa2.s    219 | Code        | 11 |         |    1 | 00/08FB : 4A          |                          LSR                          
 3017 | 15                     lzsa2.s    220 | Code        | 11 |         |    1 | 00/08FC : 4A          |                          LSR                          
 3018 | 15                     lzsa2.s    221 | Code        | 11 |         |    2 | 00/08FD : 29 0F       | _gotNib                  AND     #$0F                 
 3019 | 15                     lzsa2.s    222 | Code        | 11 |         |    1 | 00/08FF : 60          |                          RTS                          
 3020 | 15                     lzsa2.s    223 | Empty       | 11 |         |    0 | 00/0900               |                                                       
 3021 |  1                    bagman.s     41 | Directive   | 11 |         |    0 | 00/0900               |                          PUT     musictramp.s         
 3022 | 16                musictramp.s      1 | Comment     | 11 |         |    0 | 00/0900               | *
 3023 | 16                musictramp.s      2 | Comment     | 11 |         |    0 | 00/0900               | * Bagman - Music Player Trampoline
 3024 | 16                musictramp.s      3 | Comment     | 11 |         |    0 | 00/0900               | *
 3025 | 16                musictramp.s      4 | Comment     | 11 |         |    0 | 00/0900               | * Routes music playback to AUX Language Card where the
 3026 | 16                musictramp.s      5 | Comment     | 11 |         |    0 | 00/0900               | * player code and song data reside.  Since playback is
 3027 | 16                musictramp.s      6 | Comment     | 11 |         |    0 | 00/0900               | * blocking (game loop frozen), ALTZP stays on for the
 3028 | 16                musictramp.s      7 | Comment     | 11 |         |    0 | 00/0900               | * entire duration.
 3029 | 16                musictramp.s      8 | Comment     | 11 |         |    0 | 00/0900               | *
 3030 | 16                musictramp.s      9 | Comment     | 11 |         |    0 | 00/0900               | * In: A = low byte of tune data address (in aux LC)
 3031 | 16                musictramp.s     10 | Comment     | 11 |         |    0 | 00/0900               | *     X = high byte of tune data address (in aux LC)
 3032 | 16                musictramp.s     11 | Comment     | 11 |         |    0 | 00/0900               | *
 3033 | 16                musictramp.s     12 | Empty       | 11 |         |    0 | 00/0900               |                                                       
 3034 | 16                musictramp.s     13 | Empty       | 11 |         |    0 | 00/0900               | PlayMusic                                             
 3035 | 16                musictramp.s     14 | Code        | 11 |         |    3 | 00/0900 : 8D 00 03    |                          STA     $0300                ; tune addr lo -> main buffer
 3036 | 16                musictramp.s     15 | Code        | 11 |         |    3 | 00/0903 : 8E 01 03    |                          STX     $0301                ; tune addr hi -> main buffer
 3037 | 16                musictramp.s     16 | Code        | 11 |         |    3 | 00/0906 : AD 83 C0    |                          LDA     $C083                
 3038 | 16                musictramp.s     17 | Code        | 11 |         |    3 | 00/0909 : AD 83 C0    |                          LDA     $C083                ; LC read+write (player has self-mod code)
 3039 | 16                musictramp.s     18 | Code        | 11 |         |    3 | 00/090C : 8D 09 C0    |                          STA     {$C009}              ; ZP+stack+LC -> aux
 3040 | 16                musictramp.s     19 | Code        | 11 |         |    3 | 00/090F : AD 00 03    |                          LDA     $0300                ; recover tune addr lo
 3041 | 16                musictramp.s     20 | Code        | 11 |         |    3 | 00/0912 : AE 01 03    |                          LDX     $0301                ; recover tune addr hi
 3042 | 16                musictramp.s     21 | Code        | 11 |         |    3 | 00/0915 : 20 60 E6    |                          JSR     AuxPlayMusic         ; music player in aux LC
 3043 | 16                musictramp.s     22 | Code        | 11 |         |    3 | 00/0918 : 8D 08 C0    |                          STA     {$C008}              ; ZP+stack+LC -> main
 3044 | 16                musictramp.s     23 | Code        | 11 |         |    3 | 00/091B : AD 80 C0    |                          LDA     $C080                ; LC read-only (re-protect)
 3045 | 16                musictramp.s     24 | Code        | 11 |         |    1 | 00/091E : 60          |                          RTS                          
 3046 | 16                musictramp.s     25 | Empty       | 11 |         |    0 | 00/091F               |                                                       
 3047 |  1                    bagman.s     42 | Directive   | 11 |         |    0 | 00/091F               |                          PUT     aux_cold_call.s      
 3048 | 17             aux_cold_call.s      1 | Comment     | 11 |         |    0 | 00/091F               | *
 3049 | 17             aux_cold_call.s      2 | Comment     | 11 |         |    0 | 00/091F               | * Bagman - AuxLCCall Trampoline
 3050 | 17             aux_cold_call.s      3 | Comment     | 11 |         |    0 | 00/091F               | *
 3051 | 17             aux_cold_call.s      4 | Comment     | 11 |         |    0 | 00/091F               | * Generic entry point to call a routine in the AUX LC cold region.
 3052 | 17             aux_cold_call.s      5 | Comment     | 11 |         |    0 | 00/091F               | * Lives in the $0800 low block (main RAM).
 3053 | 17             aux_cold_call.s      6 | Comment     | 11 |         |    0 | 00/091F               | *
 3054 | 17             aux_cold_call.s      7 | Comment     | 11 |         |    0 | 00/091F               | * Caller stages:
 3055 | 17             aux_cold_call.s      8 | Comment     | 11 |         |    0 | 00/091F               | *   $0302/$0303 = target address in aux LC (e.g. AuxDrawText, AuxShowFontTest)
 3056 | 17             aux_cold_call.s      9 | Comment     | 11 |         |    0 | 00/091F               | *   A / X / Y   = args passed through to target
 3057 | 17             aux_cold_call.s     10 | Comment     | 11 |         |    0 | 00/091F               | *   $0306-$0309 = wrapper-specific arg staging (for font wrappers)
 3058 | 17             aux_cold_call.s     11 | Comment     | 11 |         |    0 | 00/091F               | *
 3059 | 17             aux_cold_call.s     12 | Comment     | 11 |         |    0 | 00/091F               | * The trampoline enables LC read+write, flips ALTZP (so ZP/stack/LC
 3060 | 17             aux_cold_call.s     13 | Comment     | 11 |         |    0 | 00/091F               | * route to aux), calls the target via JMP-indirect through $0302,
 3061 | 17             aux_cold_call.s     14 | Comment     | 11 |         |    0 | 00/091F               | * then restores.
 3062 | 17             aux_cold_call.s     15 | Comment     | 11 |         |    0 | 00/091F               | *
 3063 | 17             aux_cold_call.s     16 | Empty       | 11 |         |    0 | 00/091F               |                                                       
 3064 | 17             aux_cold_call.s     17 | Empty       | 11 |         |    0 | 00/091F               | AuxLCCall                                             
 3065 | 17             aux_cold_call.s     18 | Code        | 11 |         |    3 | 00/091F : 8D 04 03    |                          STA     $0304                ; save user A across bank setup
 3066 | 17             aux_cold_call.s     19 | Code        | 11 |         |    3 | 00/0922 : 8E 05 03    |                          STX     $0305                ; save user X
 3067 | 17             aux_cold_call.s     20 | Code        | 11 |         |    3 | 00/0925 : AD 83 C0    |                          LDA     $C083                
 3068 | 17             aux_cold_call.s     21 | Code        | 11 |         |    3 | 00/0928 : AD 83 C0    |                          LDA     $C083                ; LC read+write (for any self-mod code)
 3069 | 17             aux_cold_call.s     22 | Code        | 11 |         |    3 | 00/092B : 8D 09 C0    |                          STA     {$C009}              ; ZP+stack+LC -> aux
 3070 | 17             aux_cold_call.s     23 | Code        | 11 |         |    3 | 00/092E : AD 04 03    |                          LDA     $0304                ; restore user A
 3071 | 17             aux_cold_call.s     24 | Code        | 11 |         |    3 | 00/0931 : AE 05 03    |                          LDX     $0305                ; restore user X
 3072 | 17             aux_cold_call.s     25 | Code        | 11 |         |    3 | 00/0934 : 20 3E 09    |                          JSR     _ind                 ; call aux-LC routine
 3073 | 17             aux_cold_call.s     26 | Code        | 11 |         |    3 | 00/0937 : 8D 08 C0    |                          STA     {$C008}              ; ZP+stack+LC -> main
 3074 | 17             aux_cold_call.s     27 | Code        | 11 |         |    3 | 00/093A : AD 80 C0    |                          LDA     $C080                ; LC read-only (re-protect)
 3075 | 17             aux_cold_call.s     28 | Code        | 11 |         |    1 | 00/093D : 60          |                          RTS                          
 3076 | 17             aux_cold_call.s     29 | Code        | 11 |         |    3 | 00/093E : 6C 02 03    | _ind                     JMP     ($0302)              
 3077 | 17             aux_cold_call.s     30 | Empty       | 11 |         |    0 | 00/0941               |                                                       
 3078 |  1                    bagman.s     43 | Directive   | 11 |         |    0 | 00/0941               |                          PUT     elevator.s           
 3079 | 18                  elevator.s      1 | Comment     | 11 |         |    0 | 00/0941               | *
 3080 | 18                  elevator.s      2 | Comment     | 11 |         |    0 | 00/0941               | * Bagman - Elevator System
 3081 | 18                  elevator.s      3 | Comment     | 11 |         |    0 | 00/0941               | *
 3082 | 18                  elevator.s      4 | Comment     | 11 |         |    0 | 00/0941               | * Moving platform that cycles between top and bottom of shaft,
 3083 | 18                  elevator.s      5 | Comment     | 11 |         |    0 | 00/0941               | * pausing at each floor. Lives in $1800 ORG block.
 3084 | 18                  elevator.s      6 | Comment     | 11 |         |    0 | 00/0941               | *
 3085 | 18                  elevator.s      7 | Empty       | 11 |         |    0 | 00/0941               |                                                       
 3086 | 18                  elevator.s      8 | Equivalence | 11 |         |    0 | 00/0941               | ELEV_PAUSE               =       48                   ; frames to pause at stop (~1.6s at 30fps)
 3087 | 18                  elevator.s      9 | Empty       | 11 |         |    0 | 00/0941               |                                                       
 3088 | 18                  elevator.s     10 | Comment     | 11 |         |    0 | 00/0941               | * Sprite frames
 3089 | 18                  elevator.s     11 | Equivalence | 11 |         |    0 | 00/0941               | FR_ELEV_MOVE             =       24                   ; car while moving
 3090 | 18                  elevator.s     12 | Equivalence | 11 |         |    0 | 00/0941               | FR_ELEV_PARK             =       30                   ; car when parked (safe to enter)
 3091 | 18                  elevator.s     13 | Empty       | 11 |         |    0 | 00/0941               |                                                       
 3092 | 18                  elevator.s     14 | Comment     | 11 |         |    0 | 00/0941               | * Per-page old position buffers (main RAM page 3, 3 bytes each: X, Y, Fr)
 3093 | 18                  elevator.s     15 | Equivalence | 11 |         |    0 | 00/0941               | ElevOldP0                =       $0370                ; page 0: X, Y, Fr
 3094 | 18                  elevator.s     16 | Equivalence | 11 |         |    0 | 00/0941               | ElevOldP1                =       $0373                ; page 1: X, Y, Fr
 3095 | 18                  elevator.s     17 | Empty       | 11 |         |    0 | 00/0941               |                                                       
 3096 | 18                  elevator.s     18 | Comment     | 11 |         |    0 | 00/0941               | *----------------------------------------------
 3097 | 18                  elevator.s     19 | Comment     | 11 |         |    0 | 00/0941               | * Per-map data tables (MapIdx 0, 1, 2)
 3098 | 18                  elevator.s     20 | Comment     | 11 |         |    0 | 00/0941               | *----------------------------------------------
 3099 | 18                  elevator.s     21 | Comment     | 11 |         |    0 | 00/0941               | * Pixel X of elevator ($FF = no elevator on this map)
 3100 | 18                  elevator.s     22 | Data        | 11 |         |    3 | 00/0941 : FF 4D 23    | ElevPixX                 DFB     $FF,77,35            
 3101 | 18                  elevator.s     23 | Empty       | 11 |         |    0 | 00/0944               |                                                       
 3102 | 18                  elevator.s     24 | Comment     | 11 |         |    0 | 00/0944               | * Top and bottom car Y limits (first/last stop)
 3103 | 18                  elevator.s     25 | Data        | 11 |         |    3 | 00/0944 : 00 1B 1B    | ElevTopY                 DFB     0,27,27              
 3104 | 18                  elevator.s     26 | Data        | 11 |         |    3 | 00/0947 : 00 75 A5    | ElevBotY                 DFB     0,117,165            
 3105 | 18                  elevator.s     27 | Empty       | 11 |         |    0 | 00/094A               |                                                       
 3106 | 18                  elevator.s     28 | Comment     | 11 |         |    0 | 00/094A               | * Floor stop Y tables (terminated by $FF)
 3107 | 18                  elevator.s     29 | Comment     | 11 |         |    0 | 00/094A               | * Values are approximate - tune by testing
 3108 | 18                  elevator.s     30 | Data        | 11 |         |    5 | 00/094A : 1B 41 5D 75 | ElevStops1               DFB     27,65,93,117,$FF     ; map 1 (4 stops)
      |                                       |             |    |         |      |           FF          |
 3109 | 18                  elevator.s     31 | Data        | 11 |         |    7 | 00/094F : 1B 2D 63 75 | ElevStops2               DFB     27,45,99,117,141,165,$FF; map 2 (6 stops)
      |                                       |             |    |         |      |           8D A5 FF    |
 3110 | 18                  elevator.s     32 | Empty       | 11 |         |    0 | 00/0956               |                                                       
 3111 | 18                  elevator.s     33 | Comment     | 11 |         |    0 | 00/0956               | * Pointers to stop tables per map
 3112 | 18                  elevator.s     34 | Data        | 11 |         |    3 | 00/0956 : 00 4A 4F    | ElevStopL                DFB     0,<ElevStops1,<ElevStops2
 3113 | 18                  elevator.s     35 | Data        | 11 |         |    3 | 00/0959 : 00 09 09    | ElevStopH                DFB     0,>ElevStops1,>ElevStops2
 3114 | 18                  elevator.s     36 | Empty       | 11 |         |    0 | 00/095C               |                                                       
 3115 | 18                  elevator.s     37 | Comment     | 11 |         |    0 | 00/095C               | * Per-map saved elevator state (persists across map transitions)
 3116 | 18                  elevator.s     38 | Data        | 11 |         |    3 | 00/095C : 00 00 00    | ElevSaveY                DFB     0,0,0                
 3117 | 18                  elevator.s     39 | Data        | 11 |         |    3 | 00/095F : 00 00 00    | ElevSaveDir              DFB     0,0,0                
 3118 | 18                  elevator.s     40 | Data        | 11 |         |    3 | 00/0962 : 00 00 00    | ElevSaveTimer            DFB     0,0,0                
 3119 | 18                  elevator.s     41 | Data        | 11 |         |    3 | 00/0965 : 00 00 00    | ElevInited               DFB     0,0,0                ; 0=fresh (use top), 1=has saved state
 3120 | 18                  elevator.s     42 | Empty       | 11 |         |    0 | 00/0968               |                                                       
 3121 | 18                  elevator.s     43 | Comment     | 11 |         |    0 | 00/0968               | *----------------------------------------------
 3122 | 18                  elevator.s     44 | Comment     | 11 |         |    0 | 00/0968               | * SaveElevState - Save current elevator state for this map
 3123 | 18                  elevator.s     45 | Comment     | 11 |         |    0 | 00/0968               | * Call before leaving a map so state persists.
 3124 | 18                  elevator.s     46 | Comment     | 11 |         |    0 | 00/0968               | *----------------------------------------------
 3125 | 18                  elevator.s     47 | Empty       | 11 |         |    0 | 00/0968               | SaveElevState                                         
 3126 | 18                  elevator.s     48 | Code        | 11 |         |    2 | 00/0968 : A6 1C       |                          LDX     {$1C}                
 3127 | 18                  elevator.s     49 | Code        | 11 |         |    3 | 00/096A : BD 41 09    |                          LDA     ElevPixX,X           
 3128 | 18                  elevator.s     50 | Code        | 11 |         |    2 | 00/096D : C9 FF       |                          CMP     #$FF                 
 3129 | 18                  elevator.s     51 | Code        | 11 |         |    2 | 00/096F : F0 14       |                          BEQ     _seRts               
 3130 | 18                  elevator.s     52 | Code        | 11 |         |    2 | 00/0971 : A5 EF       |                          LDA     {$EF}                
 3131 | 18                  elevator.s     53 | Code        | 11 |         |    3 | 00/0973 : 9D 5C 09    |                          STA     ElevSaveY,X          
 3132 | 18                  elevator.s     54 | Code        | 11 |         |    2 | 00/0976 : A5 F0       |                          LDA     {$F0}                
 3133 | 18                  elevator.s     55 | Code        | 11 |         |    3 | 00/0978 : 9D 5F 09    |                          STA     ElevSaveDir,X        
 3134 | 18                  elevator.s     56 | Code        | 11 |         |    2 | 00/097B : A5 F1       |                          LDA     {$F1}                
 3135 | 18                  elevator.s     57 | Code        | 11 |         |    3 | 00/097D : 9D 62 09    |                          STA     ElevSaveTimer,X      
 3136 | 18                  elevator.s     58 | Code        | 11 |         |    2 | 00/0980 : A9 01       |                          LDA     #1                   
 3137 | 18                  elevator.s     59 | Code        | 11 |         |    3 | 00/0982 : 9D 65 09    |                          STA     ElevInited,X         
 3138 | 18                  elevator.s     60 | Code        | 11 |         |    1 | 00/0985 : 60          | _seRts                   RTS                          
 3139 | 18                  elevator.s     61 | Empty       | 11 |         |    0 | 00/0986               |                                                       
 3140 | 18                  elevator.s     62 | Comment     | 11 |         |    0 | 00/0986               | *----------------------------------------------
 3141 | 18                  elevator.s     63 | Comment     | 11 |         |    0 | 00/0986               | * InitElevator - Set elevator state for current map
 3142 | 18                  elevator.s     64 | Comment     | 11 |         |    0 | 00/0986               | * Restores saved state if previously visited, otherwise starts at top.
 3143 | 18                  elevator.s     65 | Comment     | 11 |         |    0 | 00/0986               | *----------------------------------------------
 3144 | 18                  elevator.s     66 | Empty       | 11 |         |    0 | 00/0986               | InitElevator                                          
 3145 | 18                  elevator.s     67 | Code        | 11 |         |    2 | 00/0986 : A6 1C       |                          LDX     {$1C}                
 3146 | 18                  elevator.s     68 | Code        | 11 |         |    3 | 00/0988 : BD 41 09    |                          LDA     ElevPixX,X           
 3147 | 18                  elevator.s     69 | Code        | 11 |         |    2 | 00/098B : C9 FF       |                          CMP     #$FF                 
 3148 | 18                  elevator.s     70 | Code        | 11 |         |    2 | 00/098D : D0 05       |                          BNE     _hasElev             
 3149 | 18                  elevator.s     71 | Code        | 11 |         |    2 | 00/098F : 64 F3       |                          STZ     {$F3}                
 3150 | 18                  elevator.s     72 | Code        | 11 |         |    2 | 00/0991 : 64 F2       |                          STZ     {$F2}                
 3151 | 18                  elevator.s     73 | Code        | 11 |         |    1 | 00/0993 : 60          |                          RTS                          
 3152 | 18                  elevator.s     74 | Code        | 11 |         |    2 | 00/0994 : 64 F2       | _hasElev                 STZ     {$F2}                
 3153 | 18                  elevator.s     75 | Code        | 11 |         |    3 | 00/0996 : BD 65 09    |                          LDA     ElevInited,X         
 3154 | 18                  elevator.s     76 | Code        | 11 |         |    2 | 00/0999 : D0 0D       |                          BNE     _restore             
 3155 | 18                  elevator.s     77 | Comment     | 11 |         |    0 | 00/099B               | * First visit: start at top
 3156 | 18                  elevator.s     78 | Code        | 11 |         |    3 | 00/099B : BD 44 09    |                          LDA     ElevTopY,X           
 3157 | 18                  elevator.s     79 | Code        | 11 |         |    2 | 00/099E : 85 EF       |                          STA     {$EF}                
 3158 | 18                  elevator.s     80 | Code        | 11 |         |    2 | 00/09A0 : 64 F0       |                          STZ     {$F0}                ; 0 = down
 3159 | 18                  elevator.s     81 | Code        | 11 |         |    2 | 00/09A2 : A9 30       |                          LDA     #{48}                
 3160 | 18                  elevator.s     82 | Code        | 11 |         |    2 | 00/09A4 : 85 F1       |                          STA     {$F1}                ; start paused at top
 3161 | 18                  elevator.s     83 | Code        | 11 |         |    2 | 00/09A6 : 80 0F       |                          BRA     _initDone            
 3162 | 18                  elevator.s     84 | Code        | 11 |         |    3 | 00/09A8 : BD 5C 09    | _restore                 LDA     ElevSaveY,X          
 3163 | 18                  elevator.s     85 | Code        | 11 |         |    2 | 00/09AB : 85 EF       |                          STA     {$EF}                
 3164 | 18                  elevator.s     86 | Code        | 11 |         |    3 | 00/09AD : BD 5F 09    |                          LDA     ElevSaveDir,X        
 3165 | 18                  elevator.s     87 | Code        | 11 |         |    2 | 00/09B0 : 85 F0       |                          STA     {$F0}                
 3166 | 18                  elevator.s     88 | Code        | 11 |         |    3 | 00/09B2 : BD 62 09    |                          LDA     ElevSaveTimer,X      
 3167 | 18                  elevator.s     89 | Code        | 11 |         |    2 | 00/09B5 : 85 F1       |                          STA     {$F1}                
 3168 | 18                  elevator.s     90 | Empty       | 11 |         |    0 | 00/09B7               | _initDone                                             
 3169 | 18                  elevator.s     91 | Code        | 11 |         |    2 | 00/09B7 : A9 01       |                          LDA     #1                   
 3170 | 18                  elevator.s     92 | Code        | 11 |         |    2 | 00/09B9 : 85 F3       |                          STA     {$F3}                
 3171 | 18                  elevator.s     93 | Code        | 11 |         |    1 | 00/09BB : 60          |                          RTS                          
 3172 | 18                  elevator.s     94 | Empty       | 11 |         |    0 | 00/09BC               |                                                       
 3173 | 18                  elevator.s     95 | Comment     | 11 |         |    0 | 00/09BC               | *----------------------------------------------
 3174 | 18                  elevator.s     96 | Comment     | 11 |         |    0 | 00/09BC               | * InitElevOldPos - Set both page buffers to current pos
 3175 | 18                  elevator.s     97 | Comment     | 11 |         |    0 | 00/09BC               | *----------------------------------------------
 3176 | 18                  elevator.s     98 | Empty       | 11 |         |    0 | 00/09BC               | InitElevOldPos                                        
 3177 | 18                  elevator.s     99 | Code        | 11 |         |    2 | 00/09BC : A6 1C       |                          LDX     {$1C}                
 3178 | 18                  elevator.s    100 | Code        | 11 |         |    3 | 00/09BE : BD 41 09    |                          LDA     ElevPixX,X           
 3179 | 18                  elevator.s    101 | Code        | 11 |         |    3 | 00/09C1 : 8D 70 03    |                          STA     {$0370}+0            
 3180 | 18                  elevator.s    102 | Code        | 11 |         |    3 | 00/09C4 : 8D 73 03    |                          STA     {$0373}+0            
 3181 | 18                  elevator.s    103 | Code        | 11 |         |    2 | 00/09C7 : A5 EF       |                          LDA     {$EF}                
 3182 | 18                  elevator.s    104 | Code        | 11 |         |    1 | 00/09C9 : 38          |                          SEC                          
 3183 | 18                  elevator.s    105 | Code        | 11 |         |    2 | 00/09CA : E9 0B       |                          SBC     #11                  ; sprite Y = surface Y - 11
 3184 | 18                  elevator.s    106 | Code        | 11 |         |    3 | 00/09CC : 8D 71 03    |                          STA     {$0370}+1            
 3185 | 18                  elevator.s    107 | Code        | 11 |         |    3 | 00/09CF : 8D 74 03    |                          STA     {$0373}+1            
 3186 | 18                  elevator.s    108 | Code        | 11 |         |    2 | 00/09D2 : A9 1E       |                          LDA     #{30}                ; initial frame (paused at top)
 3187 | 18                  elevator.s    109 | Code        | 11 |         |    3 | 00/09D4 : 8D 72 03    |                          STA     {$0370}+2            
 3188 | 18                  elevator.s    110 | Code        | 11 |         |    3 | 00/09D7 : 8D 75 03    |                          STA     {$0373}+2            
 3189 | 18                  elevator.s    111 | Code        | 11 |         |    1 | 00/09DA : 60          |                          RTS                          
 3190 | 18                  elevator.s    112 | Empty       | 11 |         |    0 | 00/09DB               |                                                       
 3191 | 18                  elevator.s    113 | Comment     | 11 |         |    0 | 00/09DB               | *----------------------------------------------
 3192 | 18                  elevator.s    114 | Comment     | 11 |         |    0 | 00/09DB               | * UpdateElevator - Move car, manage stops, track player
 3193 | 18                  elevator.s    115 | Comment     | 11 |         |    0 | 00/09DB               | *
 3194 | 18                  elevator.s    116 | Comment     | 11 |         |    0 | 00/09DB               | * Called once per frame from main loop.
 3195 | 18                  elevator.s    117 | Comment     | 11 |         |    0 | 00/09DB               | *----------------------------------------------
 3196 | 18                  elevator.s    118 | Empty       | 11 |         |    0 | 00/09DB               | UpdateElevator                                        
 3197 | 18                  elevator.s    119 | Code        | 11 |         |    2 | 00/09DB : A6 1C       |                          LDX     {$1C}                
 3198 | 18                  elevator.s    120 | Code        | 11 |         |    3 | 00/09DD : BD 41 09    |                          LDA     ElevPixX,X           
 3199 | 18                  elevator.s    121 | Code        | 11 |         |    2 | 00/09E0 : C9 FF       |                          CMP     #$FF                 
 3200 | 18                  elevator.s    122 | Code        | 11 |         |    2 | 00/09E2 : D0 01       |                          BNE     _uActive             
 3201 | 18                  elevator.s    123 | Code        | 11 |         |    1 | 00/09E4 : 60          |                          RTS                          
 3202 | 18                  elevator.s    124 | Empty       | 11 |         |    0 | 00/09E5               | _uActive                                              
 3203 | 18                  elevator.s    125 | Comment     | 11 |         |    0 | 00/09E5               | * Paused at a stop? Decrement once and return - no movement.
 3204 | 18                  elevator.s    126 | Code        | 11 |         |    2 | 00/09E5 : A5 F1       |                          LDA     {$F1}                
 3205 | 18                  elevator.s    127 | Code        | 11 |         |    2 | 00/09E7 : F0 03       |                          BEQ     _uNotPaused          
 3206 | 18                  elevator.s    128 | Code        | 11 |         |    2 | 00/09E9 : C6 F1       |                          DEC     {$F1}                
 3207 | 18                  elevator.s    129 | Code        | 11 |         |    1 | 00/09EB : 60          |                          RTS                          
 3208 | 18                  elevator.s    130 | Empty       | 11 |         |    0 | 00/09EC               | _uNotPaused                                           
 3209 | 18                  elevator.s    131 | Comment     | 11 |         |    0 | 00/09EC               | * Fractional speed: advance accumulator, integer pixels to move this
 3210 | 18                  elevator.s    132 | Comment     | 11 |         |    0 | 00/09EC               | * frame (0..2) goes into Temp4. SPEED_ELEV = 1.5x.
 3211 | 18                  elevator.s    133 | Code        | 11 |         |    1 | 00/09EC : 18          |                          CLC                          
 3212 | 18                  elevator.s    134 | Code        | 11 |         |    3 | 00/09ED : AD D6 11    |                          LDA     ElevAccLo            
 3213 | 18                  elevator.s    135 | Code        | 11 |         |    2 | 00/09F0 : 69 80       |                          ADC     #{$80}               
 3214 | 18                  elevator.s    136 | Code        | 11 |         |    3 | 00/09F2 : 8D D6 11    |                          STA     ElevAccLo            
 3215 | 18                  elevator.s    137 | Code        | 11 |         |    3 | 00/09F5 : AD D7 11    |                          LDA     ElevAccHi            
 3216 | 18                  elevator.s    138 | Code        | 11 |         |    2 | 00/09F8 : 69 01       |                          ADC     #{$01}               
 3217 | 18                  elevator.s    139 | Code        | 11 |         |    2 | 00/09FA : 85 1B       |                          STA     {$1B}                
 3218 | 18                  elevator.s    140 | Code        | 11 |         |    3 | 00/09FC : 9C D7 11    |                          STZ     ElevAccHi            
 3219 | 18                  elevator.s    141 | Empty       | 11 |         |    0 | 00/09FF               | _uStepLoop                                            
 3220 | 18                  elevator.s    142 | Code        | 11 |         |    2 | 00/09FF : A5 1B       |                          LDA     {$1B}                
 3221 | 18                  elevator.s    143 | Code        | 11 |         |    2 | 00/0A01 : D0 01       |                          BNE     _uStepGo             
 3222 | 18                  elevator.s    144 | Code        | 11 |         |    1 | 00/0A03 : 60          |                          RTS                          
 3223 | 18                  elevator.s    145 | Code        | 11 |         |    2 | 00/0A04 : C6 1B       | _uStepGo                 DEC     {$1B}                
 3224 | 18                  elevator.s    146 | Comment     | 11 |         |    0 | 00/0A06               | * A prior sub-step this frame may have set ElevTimer (hit a stop);
 3225 | 18                  elevator.s    147 | Comment     | 11 |         |    0 | 00/0A06               | * if so, halt further motion.
 3226 | 18                  elevator.s    148 | Code        | 11 |         |    2 | 00/0A06 : A5 F1       |                          LDA     {$F1}                
 3227 | 18                  elevator.s    149 | Code        | 11 |         |    2 | 00/0A08 : F0 01       |                          BEQ     _uMoving             
 3228 | 18                  elevator.s    150 | Code        | 11 |         |    1 | 00/0A0A : 60          |                          RTS                          
 3229 | 18                  elevator.s    151 | Empty       | 11 |         |    0 | 00/0A0B               | _uMoving                                              
 3230 | 18                  elevator.s    152 | Comment     | 11 |         |    0 | 00/0A0B               | * Save direction before reversal (for player Y adjust)
 3231 | 18                  elevator.s    153 | Code        | 11 |         |    2 | 00/0A0B : A5 F0       |                          LDA     {$F0}                
 3232 | 18                  elevator.s    154 | Code        | 11 |         |    2 | 00/0A0D : 85 1A       |                          STA     {$1A}                
 3233 | 18                  elevator.s    155 | Code        | 11 |         |    2 | 00/0A0F : D0 1A       |                          BNE     _uGoUp               
 3234 | 18                  elevator.s    156 | Empty       | 11 |         |    0 | 00/0A11               |                                                       
 3235 | 18                  elevator.s    157 | Comment     | 11 |         |    0 | 00/0A11               | * Going down - INC Y
 3236 | 18                  elevator.s    158 | Code        | 11 |         |    2 | 00/0A11 : E6 EF       |                          INC     {$EF}                
 3237 | 18                  elevator.s    159 | Code        | 11 |         |    2 | 00/0A13 : A6 1C       |                          LDX     {$1C}                
 3238 | 18                  elevator.s    160 | Code        | 11 |         |    2 | 00/0A15 : A5 EF       |                          LDA     {$EF}                
 3239 | 18                  elevator.s    161 | Code        | 11 |         |    3 | 00/0A17 : DD 47 09    |                          CMP     ElevBotY,X           
 3240 | 18                  elevator.s    162 | Code        | 11 |         |    2 | 00/0A1A : 90 29       |                          BCC     _uChkStop            ; Y < BotY, check intermediate stops
 3241 | 18                  elevator.s    163 | Comment     | 11 |         |    0 | 00/0A1C               | * At or past bottom: reverse to up
 3242 | 18                  elevator.s    164 | Code        | 11 |         |    3 | 00/0A1C : BD 47 09    |                          LDA     ElevBotY,X           
 3243 | 18                  elevator.s    165 | Code        | 11 |         |    2 | 00/0A1F : 85 EF       |                          STA     {$EF}                ; clamp
 3244 | 18                  elevator.s    166 | Code        | 11 |         |    2 | 00/0A21 : A9 01       |                          LDA     #1                   
 3245 | 18                  elevator.s    167 | Code        | 11 |         |    2 | 00/0A23 : 85 F0       |                          STA     {$F0}                
 3246 | 18                  elevator.s    168 | Code        | 11 |         |    2 | 00/0A25 : A9 30       |                          LDA     #{48}                
 3247 | 18                  elevator.s    169 | Code        | 11 |         |    2 | 00/0A27 : 85 F1       |                          STA     {$F1}                
 3248 | 18                  elevator.s    170 | Code        | 11 |         |    2 | 00/0A29 : 80 39       |                          BRA     _uMoved              
 3249 | 18                  elevator.s    171 | Empty       | 11 |         |    0 | 00/0A2B               |                                                       
 3250 | 18                  elevator.s    172 | Empty       | 11 |         |    0 | 00/0A2B               | _uGoUp                                                
 3251 | 18                  elevator.s    173 | Comment     | 11 |         |    0 | 00/0A2B               | * Going up - DEC Y
 3252 | 18                  elevator.s    174 | Code        | 11 |         |    2 | 00/0A2B : C6 EF       |                          DEC     {$EF}                
 3253 | 18                  elevator.s    175 | Code        | 11 |         |    2 | 00/0A2D : A6 1C       |                          LDX     {$1C}                
 3254 | 18                  elevator.s    176 | Code        | 11 |         |    2 | 00/0A2F : A5 EF       |                          LDA     {$EF}                
 3255 | 18                  elevator.s    177 | Code        | 11 |         |    3 | 00/0A31 : DD 44 09    |                          CMP     ElevTopY,X           
 3256 | 18                  elevator.s    178 | Code        | 11 |         |    2 | 00/0A34 : F0 02       |                          BEQ     _uAtTop              
 3257 | 18                  elevator.s    179 | Code        | 11 |         |    2 | 00/0A36 : B0 0D       |                          BCS     _uChkStop            ; Y > TopY, check stops
 3258 | 18                  elevator.s    180 | Code        | 11 |         |    3 | 00/0A38 : BD 44 09    | _uAtTop                  LDA     ElevTopY,X           ; clamp to top
 3259 | 18                  elevator.s    181 | Code        | 11 |         |    2 | 00/0A3B : 85 EF       |                          STA     {$EF}                
 3260 | 18                  elevator.s    182 | Code        | 11 |         |    2 | 00/0A3D : 64 F0       |                          STZ     {$F0}                ; reverse to down
 3261 | 18                  elevator.s    183 | Code        | 11 |         |    2 | 00/0A3F : A9 30       |                          LDA     #{48}                
 3262 | 18                  elevator.s    184 | Code        | 11 |         |    2 | 00/0A41 : 85 F1       |                          STA     {$F1}                
 3263 | 18                  elevator.s    185 | Code        | 11 |         |    2 | 00/0A43 : 80 1F       |                          BRA     _uMoved              
 3264 | 18                  elevator.s    186 | Empty       | 11 |         |    0 | 00/0A45               |                                                       
 3265 | 18                  elevator.s    187 | Empty       | 11 |         |    0 | 00/0A45               | _uChkStop                                             
 3266 | 18                  elevator.s    188 | Comment     | 11 |         |    0 | 00/0A45               | * Check intermediate stop table
 3267 | 18                  elevator.s    189 | Code        | 11 |         |    2 | 00/0A45 : A6 1C       |                          LDX     {$1C}                
 3268 | 18                  elevator.s    190 | Code        | 11 |         |    3 | 00/0A47 : BD 56 09    |                          LDA     ElevStopL,X          
 3269 | 18                  elevator.s    191 | Code        | 11 |         |    2 | 00/0A4A : 85 02       |                          STA     {$02}                
 3270 | 18                  elevator.s    192 | Code        | 11 |         |    3 | 00/0A4C : BD 59 09    |                          LDA     ElevStopH,X          
 3271 | 18                  elevator.s    193 | Code        | 11 |         |    2 | 00/0A4F : 85 03       |                          STA     {$02}+1              
 3272 | 18                  elevator.s    194 | Code        | 11 |         |    2 | 00/0A51 : A0 00       |                          LDY     #0                   
 3273 | 18                  elevator.s    195 | Code        | 11 |         |    2 | 00/0A53 : B1 02       | _uScan                   LDA     ({$02}),Y            
 3274 | 18                  elevator.s    196 | Code        | 11 |         |    2 | 00/0A55 : C9 FF       |                          CMP     #$FF                 
 3275 | 18                  elevator.s    197 | Code        | 11 |         |    2 | 00/0A57 : F0 0B       |                          BEQ     _uMoved              ; end of list, no stop
 3276 | 18                  elevator.s    198 | Code        | 11 |         |    2 | 00/0A59 : C5 EF       |                          CMP     {$EF}                
 3277 | 18                  elevator.s    199 | Code        | 11 |         |    2 | 00/0A5B : F0 03       |                          BEQ     _uStop               
 3278 | 18                  elevator.s    200 | Code        | 11 |         |    1 | 00/0A5D : C8          |                          INY                          
 3279 | 18                  elevator.s    201 | Code        | 11 |         |    2 | 00/0A5E : 80 F3       |                          BRA     _uScan               
 3280 | 18                  elevator.s    202 | Code        | 11 |         |    2 | 00/0A60 : A9 30       | _uStop                   LDA     #{48}                
 3281 | 18                  elevator.s    203 | Code        | 11 |         |    2 | 00/0A62 : 85 F1       |                          STA     {$F1}                
 3282 | 18                  elevator.s    204 | Empty       | 11 |         |    0 | 00/0A64               |                                                       
 3283 | 18                  elevator.s    205 | Empty       | 11 |         |    0 | 00/0A64               | _uMoved                                               
 3284 | 18                  elevator.s    206 | Comment     | 11 |         |    0 | 00/0A64               | * If player on elevator, adjust player Y using ORIGINAL direction
 3285 | 18                  elevator.s    207 | Code        | 11 |         |    2 | 00/0A64 : A5 F2       |                          LDA     {$F2}                
 3286 | 18                  elevator.s    208 | Code        | 11 |         |    2 | 00/0A66 : F0 0E       |                          BEQ     _uNoPlayer           
 3287 | 18                  elevator.s    209 | Code        | 11 |         |    2 | 00/0A68 : A5 1A       |                          LDA     {$1A}                ; direction BEFORE reversal
 3288 | 18                  elevator.s    210 | Code        | 11 |         |    2 | 00/0A6A : D0 04       |                          BNE     _uPlUp               
 3289 | 18                  elevator.s    211 | Code        | 11 |         |    2 | 00/0A6C : E6 71       |                          INC     {$71}                ; going down
 3290 | 18                  elevator.s    212 | Code        | 11 |         |    2 | 00/0A6E : 80 02       |                          BRA     _uPlDone             
 3291 | 18                  elevator.s    213 | Code        | 11 |         |    2 | 00/0A70 : C6 71       | _uPlUp                   DEC     {$71}                ; going up
 3292 | 18                  elevator.s    214 | Code        | 11 |         |    2 | 00/0A72 : A9 01       | _uPlDone                 LDA     #1                   
 3293 | 18                  elevator.s    215 | Code        | 11 |         |    2 | 00/0A74 : 85 7C       |                          STA     {$7C}                
 3294 | 18                  elevator.s    216 | Empty       | 11 |         |    0 | 00/0A76               | _uNoPlayer                                            
 3295 | 18                  elevator.s    217 | Code        | 11 |         |    2 | 00/0A76 : A9 01       |                          LDA     #1                   
 3296 | 18                  elevator.s    218 | Code        | 11 |         |    2 | 00/0A78 : 85 F3       |                          STA     {$F3}                
 3297 | 18                  elevator.s    219 | Code        | 11 |         |    2 | 00/0A7A : 80 83       |                          BRA     _uStepLoop           ; process next sub-step if any
 3298 | 18                  elevator.s    220 | Empty       | 11 |         |    0 | 00/0A7C               |                                                       
 3299 | 18                  elevator.s    221 | Comment     | 11 |         |    0 | 00/0A7C               | *----------------------------------------------
 3300 | 18                  elevator.s    222 | Comment     | 11 |         |    0 | 00/0A7C               | * EraseElevCar - Erase old car sprite on current page
 3301 | 18                  elevator.s    223 | Comment     | 11 |         |    0 | 00/0A7C               | *----------------------------------------------
 3302 | 18                  elevator.s    224 | Empty       | 11 |         |    0 | 00/0A7C               | EraseElevCar                                          
 3303 | 18                  elevator.s    225 | Code        | 11 |         |    2 | 00/0A7C : A6 1C       |                          LDX     {$1C}                
 3304 | 18                  elevator.s    226 | Code        | 11 |         |    3 | 00/0A7E : BD 41 09    |                          LDA     ElevPixX,X           
 3305 | 18                  elevator.s    227 | Code        | 11 |         |    2 | 00/0A81 : C9 FF       |                          CMP     #$FF                 
 3306 | 18                  elevator.s    228 | Code        | 11 |         |    2 | 00/0A83 : F0 1D       |                          BEQ     _erRts               
 3307 | 18                  elevator.s    229 | Empty       | 11 |         |    0 | 00/0A85               |                                                       
 3308 | 18                  elevator.s    230 | Comment     | 11 |         |    0 | 00/0A85               | * Load old pos from current page buffer
 3309 | 18                  elevator.s    231 | Code        | 11 |         |    2 | 00/0A85 : A5 1E       |                          LDA     {$1E}                
 3310 | 18                  elevator.s    232 | Code        | 11 |         |    2 | 00/0A87 : D0 0C       |                          BNE     _erPg1               
 3311 | 18                  elevator.s    233 | Code        | 11 |         |    3 | 00/0A89 : AD 70 03    |                          LDA     {$0370}+0            
 3312 | 18                  elevator.s    234 | Code        | 11 |         |    2 | 00/0A8C : 85 14       |                          STA     {$14}                
 3313 | 18                  elevator.s    235 | Code        | 11 |         |    3 | 00/0A8E : AD 71 03    |                          LDA     {$0370}+1            
 3314 | 18                  elevator.s    236 | Code        | 11 |         |    2 | 00/0A91 : 85 15       |                          STA     {$15}                
 3315 | 18                  elevator.s    237 | Code        | 11 |         |    2 | 00/0A93 : 80 0A       |                          BRA     _erDo                
 3316 | 18                  elevator.s    238 | Code        | 11 |         |    3 | 00/0A95 : AD 73 03    | _erPg1                   LDA     {$0373}+0            
 3317 | 18                  elevator.s    239 | Code        | 11 |         |    2 | 00/0A98 : 85 14       |                          STA     {$14}                
 3318 | 18                  elevator.s    240 | Code        | 11 |         |    3 | 00/0A9A : AD 74 03    |                          LDA     {$0373}+1            
 3319 | 18                  elevator.s    241 | Code        | 11 |         |    2 | 00/0A9D : 85 15       |                          STA     {$15}                
 3320 | 18                  elevator.s    242 | Code        | 11 |         |    3 | 00/0A9F : 4C A3 0A    | _erDo                    JMP     EraseElevSolid       
 3321 | 18                  elevator.s    243 | Code        | 11 |         |    1 | 00/0AA2 : 60          | _erRts                   RTS                          
 3322 | 18                  elevator.s    244 | Empty       | 11 |         |    0 | 00/0AA3               |                                                       
 3323 | 18                  elevator.s    245 | Comment     | 11 |         |    0 | 00/0AA3               | *----------------------------------------------
 3324 | 18                  elevator.s    246 | Comment     | 11 |         |    0 | 00/0AA3               | * EraseElevSolid - Fill elevator sprite footprint with black ($80).
 3325 | 18                  elevator.s    247 | Comment     | 11 |         |    0 | 00/0AA3               | *
 3326 | 18                  elevator.s    248 | Comment     | 11 |         |    0 | 00/0AA3               | * Input: SprX, SprY (old position of car sprite).
 3327 | 18                  elevator.s    249 | Comment     | 11 |         |    0 | 00/0AA3               | * Writes 12 scanlines × 2 aux bytes + 2 main bytes of $80 at the
 3328 | 18                  elevator.s    250 | Comment     | 11 |         |    0 | 00/0AA3               | * computed byte column. Matches DrawSpriteSolid's 14 px footprint
 3329 | 18                  elevator.s    251 | Comment     | 11 |         |    0 | 00/0AA3               | * at shift 0 so the prior footprint is cleared to shaft background.
 3330 | 18                  elevator.s    252 | Comment     | 11 |         |    0 | 00/0AA3               | *----------------------------------------------
 3331 | 18                  elevator.s    253 | Empty       | 11 |         |    0 | 00/0AA3               | EraseElevSolid                                        
 3332 | 18                  elevator.s    254 | Code        | 11 |         |    2 | 00/0AA3 : A6 14       |                          LDX     {$14}                
 3333 | 18                  elevator.s    255 | Code        | 11 |         |    3 | 00/0AA5 : BD A6 82    |                          LDA     XDiv7,X              
 3334 | 18                  elevator.s    256 | Code        | 11 |         |    1 | 00/0AA8 : 0A          |                          ASL                          
 3335 | 18                  elevator.s    257 | Code        | 11 |         |    2 | 00/0AA9 : 85 1B       |                          STA     {$1B}                ; screen byte column
 3336 | 18                  elevator.s    258 | Empty       | 11 |         |    0 | 00/0AAB               |                                                       
 3337 | 18                  elevator.s    259 | Code        | 11 |         |    2 | 00/0AAB : 64 0D       |                          STZ     {$0D}                
 3338 | 18                  elevator.s    260 | Code        | 11 |         |    2 | 00/0AAD : A5 15       | _eeRow                   LDA     {$15}                
 3339 | 18                  elevator.s    261 | Code        | 11 |         |    1 | 00/0AAF : 18          |                          CLC                          
 3340 | 18                  elevator.s    262 | Code        | 11 |         |    2 | 00/0AB0 : 65 0D       |                          ADC     {$0D}                
 3341 | 18                  elevator.s    263 | Code        | 11 |         |    2 | 00/0AB2 : C9 C0       |                          CMP     #192                 
 3342 | 18                  elevator.s    264 | Code        | 11 |         |    2 | 00/0AB4 : B0 2C       |                          BCS     ozunid_22            
 3343 | 18                  elevator.s    265 | Code        | 11 |         |    1 | 00/0AB6 : AA          |                          TAX                          
 3344 | 18                  elevator.s    266 | Code        | 11 |         |    3 | 00/0AB7 : BD 26 81    |                          LDA     ScanAdrL,X           
 3345 | 18                  elevator.s    267 | Code        | 11 |         |    2 | 00/0ABA : 85 00       |                          STA     {$00}                
 3346 | 18                  elevator.s    268 | Code        | 11 |         |    3 | 00/0ABC : BD E6 81    |                          LDA     ScanAdrH,X           
 3347 | 18                  elevator.s    269 | Code        | 11 |         |    1 | 00/0ABF : 18          |                          CLC                          
 3348 | 18                  elevator.s    270 | Code        | 11 |         |    2 | 00/0AC0 : 65 1E       |                          ADC     {$1E}                
 3349 | 18                  elevator.s    271 | Code        | 11 |         |    2 | 00/0AC2 : 85 01       |                          STA     {$00}+1              
 3350 | 18                  elevator.s    272 | Empty       | 11 |         |    0 | 00/0AC4               |                                                       
 3351 | 18                  elevator.s    273 | Code        | 11 |         |    2 | 00/0AC4 : A9 80       |                          LDA     #$80                 
 3352 | 18                  elevator.s    274 | Code        | 11 |         |    2 | 00/0AC6 : A4 1B       |                          LDY     {$1B}                
 3353 | 18                  elevator.s    275 | Code        | 11 |         |    3 | 00/0AC8 : 8D 05 C0    |                          STA     {$C005}              
 3354 | 18                  elevator.s    276 | Code        | 11 |         |    2 | 00/0ACB : 91 00       |                          STA     ({$00}),Y            
 3355 | 18                  elevator.s    277 | Code        | 11 |         |    1 | 00/0ACD : C8          |                          INY                          
 3356 | 18                  elevator.s    278 | Code        | 11 |         |    2 | 00/0ACE : 91 00       |                          STA     ({$00}),Y            
 3357 | 18                  elevator.s    279 | Empty       | 11 |         |    0 | 00/0AD0               |                                                       
 3358 | 18                  elevator.s    280 | Code        | 11 |         |    3 | 00/0AD0 : 8D 04 C0    |                          STA     {$C004}              
 3359 | 18                  elevator.s    281 | Code        | 11 |         |    2 | 00/0AD3 : A4 1B       |                          LDY     {$1B}                
 3360 | 18                  elevator.s    282 | Code        | 11 |         |    2 | 00/0AD5 : 91 00       |                          STA     ({$00}),Y            
 3361 | 18                  elevator.s    283 | Code        | 11 |         |    1 | 00/0AD7 : C8          |                          INY                          
 3362 | 18                  elevator.s    284 | Code        | 11 |         |    2 | 00/0AD8 : 91 00       |                          STA     ({$00}),Y            
 3363 | 18                  elevator.s    285 | Empty       | 11 |         |    0 | 00/0ADA               |                                                       
 3364 | 18                  elevator.s    286 | Code        | 11 |         |    2 | 00/0ADA : E6 0D       |                          INC     {$0D}                
 3365 | 18                  elevator.s    287 | Code        | 11 |         |    2 | 00/0ADC : A5 0D       |                          LDA     {$0D}                
 3366 | 18                  elevator.s    288 | Code        | 11 |         |    2 | 00/0ADE : C9 0C       |                          CMP     #12                  
 3367 | 18                  elevator.s    289 | Code        | 11 |         |    2 | 00/0AE0 : D0 CB       |                          BNE     _eeRow               
 3368 | 18                  elevator.s    290 | Empty       | 11 |         |    0 | 00/0AE2               |                                                       
 3369 | 18                  elevator.s    291 | Code        | 11 |         |    3 | 00/0AE2 : 8D 04 C0    | ozunid_22                STA     {$C004}              
 3370 | 18                  elevator.s    292 | Code        | 11 |         |    1 | 00/0AE5 : 60          |                          RTS                          
 3371 | 18                  elevator.s    293 | Empty       | 11 |         |    0 | 00/0AE6               |                                                       
 3372 | 18                  elevator.s    294 | Comment     | 11 |         |    0 | 00/0AE6               | *----------------------------------------------
 3373 | 18                  elevator.s    295 | Comment     | 11 |         |    0 | 00/0AE6               | * DrawElevCar - Draw car sprite at current position
 3374 | 18                  elevator.s    296 | Comment     | 11 |         |    0 | 00/0AE6               | *----------------------------------------------
 3375 | 18                  elevator.s    297 | Empty       | 11 |         |    0 | 00/0AE6               | DrawElevCar                                           
 3376 | 18                  elevator.s    298 | Code        | 11 |         |    2 | 00/0AE6 : A5 F3       |                          LDA     {$F3}                
 3377 | 18                  elevator.s    299 | Code        | 11 |         |    2 | 00/0AE8 : F0 47       |                          BEQ     _drRts               
 3378 | 18                  elevator.s    300 | Code        | 11 |         |    2 | 00/0AEA : A6 1C       |                          LDX     {$1C}                
 3379 | 18                  elevator.s    301 | Code        | 11 |         |    3 | 00/0AEC : BD 41 09    |                          LDA     ElevPixX,X           
 3380 | 18                  elevator.s    302 | Code        | 11 |         |    2 | 00/0AEF : C9 FF       |                          CMP     #$FF                 
 3381 | 18                  elevator.s    303 | Code        | 11 |         |    2 | 00/0AF1 : F0 3E       |                          BEQ     _drRts               
 3382 | 18                  elevator.s    304 | Empty       | 11 |         |    0 | 00/0AF3               |                                                       
 3383 | 18                  elevator.s    305 | Comment     | 11 |         |    0 | 00/0AF3               | * Set sprite params (sprite is 12px tall, platform at bottom)
 3384 | 18                  elevator.s    306 | Code        | 11 |         |    2 | 00/0AF3 : 85 14       |                          STA     {$14}                
 3385 | 18                  elevator.s    307 | Code        | 11 |         |    2 | 00/0AF5 : A5 EF       |                          LDA     {$EF}                
 3386 | 18                  elevator.s    308 | Code        | 11 |         |    1 | 00/0AF7 : 38          |                          SEC                          
 3387 | 18                  elevator.s    309 | Code        | 11 |         |    2 | 00/0AF8 : E9 0B       |                          SBC     #11                  
 3388 | 18                  elevator.s    310 | Code        | 11 |         |    2 | 00/0AFA : 85 15       |                          STA     {$15}                
 3389 | 18                  elevator.s    311 | Code        | 11 |         |    2 | 00/0AFC : 64 17       |                          STZ     {$17}                
 3390 | 18                  elevator.s    312 | Comment     | 11 |         |    0 | 00/0AFE               | * Choose frame: parked if timer > 0, moving otherwise
 3391 | 18                  elevator.s    313 | Code        | 11 |         |    2 | 00/0AFE : A5 F1       |                          LDA     {$F1}                
 3392 | 18                  elevator.s    314 | Code        | 11 |         |    2 | 00/0B00 : F0 04       |                          BEQ     _drMoving            
 3393 | 18                  elevator.s    315 | Code        | 11 |         |    2 | 00/0B02 : A9 1E       |                          LDA     #{30}                
 3394 | 18                  elevator.s    316 | Code        | 11 |         |    2 | 00/0B04 : 80 02       |                          BRA     _drSetFr             
 3395 | 18                  elevator.s    317 | Code        | 11 |         |    2 | 00/0B06 : A9 18       | _drMoving                LDA     #{24}                
 3396 | 18                  elevator.s    318 | Code        | 11 |         |    2 | 00/0B08 : 85 16       | _drSetFr                 STA     {$16}                
 3397 | 18                  elevator.s    319 | Empty       | 11 |         |    0 | 00/0B0A               |                                                       
 3398 | 18                  elevator.s    320 | Comment     | 11 |         |    0 | 00/0B0A               | * Save current pos to page buffer
 3399 | 18                  elevator.s    321 | Code        | 11 |         |    2 | 00/0B0A : A5 1E       |                          LDA     {$1E}                
 3400 | 18                  elevator.s    322 | Code        | 11 |         |    2 | 00/0B0C : D0 11       |                          BNE     _drPg1               
 3401 | 18                  elevator.s    323 | Code        | 11 |         |    2 | 00/0B0E : A5 14       |                          LDA     {$14}                
 3402 | 18                  elevator.s    324 | Code        | 11 |         |    3 | 00/0B10 : 8D 70 03    |                          STA     {$0370}+0            
 3403 | 18                  elevator.s    325 | Code        | 11 |         |    2 | 00/0B13 : A5 15       |                          LDA     {$15}                
 3404 | 18                  elevator.s    326 | Code        | 11 |         |    3 | 00/0B15 : 8D 71 03    |                          STA     {$0370}+1            
 3405 | 18                  elevator.s    327 | Code        | 11 |         |    2 | 00/0B18 : A5 16       |                          LDA     {$16}                
 3406 | 18                  elevator.s    328 | Code        | 11 |         |    3 | 00/0B1A : 8D 72 03    |                          STA     {$0370}+2            
 3407 | 18                  elevator.s    329 | Code        | 11 |         |    2 | 00/0B1D : 80 0F       |                          BRA     _drDraw              
 3408 | 18                  elevator.s    330 | Code        | 11 |         |    2 | 00/0B1F : A5 14       | _drPg1                   LDA     {$14}                
 3409 | 18                  elevator.s    331 | Code        | 11 |         |    3 | 00/0B21 : 8D 73 03    |                          STA     {$0373}+0            
 3410 | 18                  elevator.s    332 | Code        | 11 |         |    2 | 00/0B24 : A5 15       |                          LDA     {$15}                
 3411 | 18                  elevator.s    333 | Code        | 11 |         |    3 | 00/0B26 : 8D 74 03    |                          STA     {$0373}+1            
 3412 | 18                  elevator.s    334 | Code        | 11 |         |    2 | 00/0B29 : A5 16       |                          LDA     {$16}                
 3413 | 18                  elevator.s    335 | Code        | 11 |         |    3 | 00/0B2B : 8D 75 03    |                          STA     {$0373}+2            
 3414 | 18                  elevator.s    336 | Code        | 11 |         |    3 | 00/0B2E : 4C AE 7F    | _drDraw                  JMP     DrawSpriteSolid      
 3415 | 18                  elevator.s    337 | Code        | 11 |         |    1 | 00/0B31 : 60          | _drRts                   RTS                          
 3416 | 18                  elevator.s    338 | Empty       | 11 |         |    0 | 00/0B32               |                                                       
 3417 | 18                  elevator.s    339 | Comment     | 11 |         |    0 | 00/0B32               | *----------------------------------------------
 3418 | 18                  elevator.s    340 | Comment     | 11 |         |    0 | 00/0B32               | * CheckElevCrush - Kill the player if the descending car overlaps
 3419 | 18                  elevator.s    341 | Comment     | 11 |         |    0 | 00/0B32               | * their body while they're not riding.
 3420 | 18                  elevator.s    342 | Comment     | 11 |         |    0 | 00/0B32               | *
 3421 | 18                  elevator.s    343 | Comment     | 11 |         |    0 | 00/0B32               | * Called each frame from MainLoop after UpdateElevator.
 3422 | 18                  elevator.s    344 | Comment     | 11 |         |    0 | 00/0B32               | *----------------------------------------------
 3423 | 18                  elevator.s    345 | Empty       | 11 |         |    0 | 00/0B32               | CheckElevCrush                                        
 3424 | 18                  elevator.s    346 | Code        | 11 |         |    2 | 00/0B32 : A5 74       |                          LDA     {$74}                
 3425 | 18                  elevator.s    347 | Code        | 11 |         |    2 | 00/0B34 : C9 07       |                          CMP     #{7}                 
 3426 | 18                  elevator.s    348 | Code        | 11 |         |    2 | 00/0B36 : F0 2D       |                          BEQ     _cecNone             
 3427 | 18                  elevator.s    349 | Code        | 11 |         |    2 | 00/0B38 : A5 F2       |                          LDA     {$F2}                
 3428 | 18                  elevator.s    350 | Code        | 11 |         |    2 | 00/0B3A : D0 29       |                          BNE     _cecNone             
 3429 | 18                  elevator.s    351 | Code        | 11 |         |    2 | 00/0B3C : A6 1C       |                          LDX     {$1C}                
 3430 | 18                  elevator.s    352 | Code        | 11 |         |    3 | 00/0B3E : BD 41 09    |                          LDA     ElevPixX,X           
 3431 | 18                  elevator.s    353 | Code        | 11 |         |    2 | 00/0B41 : C9 FF       |                          CMP     #$FF                 
 3432 | 18                  elevator.s    354 | Code        | 11 |         |    2 | 00/0B43 : F0 20       |                          BEQ     _cecNone             
 3433 | 18                  elevator.s    355 | Code        | 11 |         |    2 | 00/0B45 : 85 18       |                          STA     {$18}                
 3434 | 18                  elevator.s    356 | Comment     | 11 |         |    0 | 00/0B47               | * In-shaft X check: player center within 7px of shaft X
 3435 | 18                  elevator.s    357 | Code        | 11 |         |    2 | 00/0B47 : A5 70       |                          LDA     {$70}                
 3436 | 18                  elevator.s    358 | Code        | 11 |         |    1 | 00/0B49 : 18          |                          CLC                          
 3437 | 18                  elevator.s    359 | Code        | 11 |         |    2 | 00/0B4A : 69 03       |                          ADC     #3                   
 3438 | 18                  elevator.s    360 | Code        | 11 |         |    1 | 00/0B4C : 38          |                          SEC                          
 3439 | 18                  elevator.s    361 | Code        | 11 |         |    2 | 00/0B4D : E5 18       |                          SBC     {$18}                
 3440 | 18                  elevator.s    362 | Code        | 11 |         |    2 | 00/0B4F : C9 07       |                          CMP     #7                   
 3441 | 18                  elevator.s    363 | Code        | 11 |         |    2 | 00/0B51 : B0 12       |                          BCS     _cecNone             
 3442 | 18                  elevator.s    364 | Comment     | 11 |         |    0 | 00/0B53               | * Car surface inside player's body? ElevY within (PlayerY+1, PlayerY+11)
 3443 | 18                  elevator.s    365 | Code        | 11 |         |    2 | 00/0B53 : A5 EF       |                          LDA     {$EF}                
 3444 | 18                  elevator.s    366 | Code        | 11 |         |    1 | 00/0B55 : 38          |                          SEC                          
 3445 | 18                  elevator.s    367 | Code        | 11 |         |    2 | 00/0B56 : E5 71       |                          SBC     {$71}                
 3446 | 18                  elevator.s    368 | Code        | 11 |         |    2 | 00/0B58 : 90 0B       |                          BCC     _cecNone             ; car above player top -> no crush
 3447 | 18                  elevator.s    369 | Code        | 11 |         |    2 | 00/0B5A : C9 0C       |                          CMP     #12                  
 3448 | 18                  elevator.s    370 | Code        | 11 |         |    2 | 00/0B5C : B0 07       |                          BCS     _cecNone             ; car below feet -> no crush
 3449 | 18                  elevator.s    371 | Code        | 11 |         |    2 | 00/0B5E : C9 01       |                          CMP     #1                   
 3450 | 18                  elevator.s    372 | Code        | 11 |         |    2 | 00/0B60 : 90 03       |                          BCC     _cecNone             ; equal top -> treat as ground not crush
 3451 | 18                  elevator.s    373 | Code        | 11 |         |    3 | 00/0B62 : 4C 13 68    |                          JMP     LoseLife             
 3452 | 18                  elevator.s    374 | Code        | 11 |         |    1 | 00/0B65 : 60          | _cecNone                 RTS                          
 3453 | 18                  elevator.s    375 | Empty       | 11 |         |    0 | 00/0B66               |                                                       
 3454 | 18                  elevator.s    376 | Comment     | 11 |         |    0 | 00/0B66               | *----------------------------------------------
 3455 | 18                  elevator.s    377 | Comment     | 11 |         |    0 | 00/0B66               | * CheckElevGround - Is the elevator car under the player?
 3456 | 18                  elevator.s    378 | Comment     | 11 |         |    0 | 00/0B66               | *
 3457 | 18                  elevator.s    379 | Comment     | 11 |         |    0 | 00/0B66               | * Called from CheckGround when tile provides no ground.
 3458 | 18                  elevator.s    380 | Comment     | 11 |         |    0 | 00/0B66               | *
 3459 | 18                  elevator.s    381 | Comment     | 11 |         |    0 | 00/0B66               | * In:  A = pixel Y of feet (PlayerY+12)
 3460 | 18                  elevator.s    382 | Comment     | 11 |         |    0 | 00/0B66               | * Out: C=1 if car is here (ground), C=0 if not
 3461 | 18                  elevator.s    383 | Comment     | 11 |         |    0 | 00/0B66               | * Clobbers: Temp1, Temp2
 3462 | 18                  elevator.s    384 | Comment     | 11 |         |    0 | 00/0B66               | *----------------------------------------------
 3463 | 18                  elevator.s    385 | Empty       | 11 |         |    0 | 00/0B66               | CheckElevGround                                       
 3464 | 18                  elevator.s    386 | Code        | 11 |         |    2 | 00/0B66 : 85 19       |                          STA     {$19}                ; save feet Y
 3465 | 18                  elevator.s    387 | Code        | 11 |         |    2 | 00/0B68 : A6 1C       |                          LDX     {$1C}                
 3466 | 18                  elevator.s    388 | Code        | 11 |         |    3 | 00/0B6A : BD 41 09    |                          LDA     ElevPixX,X           
 3467 | 18                  elevator.s    389 | Code        | 11 |         |    2 | 00/0B6D : C9 FF       |                          CMP     #$FF                 
 3468 | 18                  elevator.s    390 | Code        | 11 |         |    2 | 00/0B6F : F0 1B       |                          BEQ     _ceNo                ; no elevator on this map
 3469 | 18                  elevator.s    391 | Empty       | 11 |         |    0 | 00/0B71               |                                                       
 3470 | 18                  elevator.s    392 | Comment     | 11 |         |    0 | 00/0B71               | * Check X: player center within shaft column (7px wide)
 3471 | 18                  elevator.s    393 | Code        | 11 |         |    2 | 00/0B71 : 85 18       |                          STA     {$18}                ; shaft pixel X
 3472 | 18                  elevator.s    394 | Code        | 11 |         |    2 | 00/0B73 : A5 70       |                          LDA     {$70}                
 3473 | 18                  elevator.s    395 | Code        | 11 |         |    1 | 00/0B75 : 18          |                          CLC                          
 3474 | 18                  elevator.s    396 | Code        | 11 |         |    2 | 00/0B76 : 69 03       |                          ADC     #3                   ; player center X
 3475 | 18                  elevator.s    397 | Code        | 11 |         |    1 | 00/0B78 : 38          |                          SEC                          
 3476 | 18                  elevator.s    398 | Code        | 11 |         |    2 | 00/0B79 : E5 18       |                          SBC     {$18}                ; A = center - shaftX
 3477 | 18                  elevator.s    399 | Code        | 11 |         |    2 | 00/0B7B : C9 07       |                          CMP     #7                   
 3478 | 18                  elevator.s    400 | Code        | 11 |         |    2 | 00/0B7D : B0 0D       |                          BCS     _ceNo                ; outside shaft column
 3479 | 18                  elevator.s    401 | Empty       | 11 |         |    0 | 00/0B7F               |                                                       
 3480 | 18                  elevator.s    402 | Comment     | 11 |         |    0 | 00/0B7F               | * Check Y: feet within ±2px of car surface
 3481 | 18                  elevator.s    403 | Code        | 11 |         |    2 | 00/0B7F : A5 19       |                          LDA     {$19}                ; feet Y
 3482 | 18                  elevator.s    404 | Code        | 11 |         |    1 | 00/0B81 : 38          |                          SEC                          
 3483 | 18                  elevator.s    405 | Code        | 11 |         |    2 | 00/0B82 : E5 EF       |                          SBC     {$EF}                ; A = feetY - carY (signed)
 3484 | 18                  elevator.s    406 | Code        | 11 |         |    2 | 00/0B84 : C9 03       |                          CMP     #3                   
 3485 | 18                  elevator.s    407 | Code        | 11 |         |    2 | 00/0B86 : 90 06       |                          BCC     _ceYes               ; 0,1,2 = feet at or below car
 3486 | 18                  elevator.s    408 | Code        | 11 |         |    2 | 00/0B88 : C9 FE       |                          CMP     #$FE                 
 3487 | 18                  elevator.s    409 | Code        | 11 |         |    2 | 00/0B8A : B0 02       |                          BCS     _ceYes               ; $FE,$FF = feet 1-2px above car
 3488 | 18                  elevator.s    410 | Code        | 11 |         |    1 | 00/0B8C : 18          | _ceNo                    CLC                          
 3489 | 18                  elevator.s    411 | Code        | 11 |         |    1 | 00/0B8D : 60          |                          RTS                          
 3490 | 18                  elevator.s    412 | Code        | 11 |         |    1 | 00/0B8E : 38          | _ceYes                   SEC                          
 3491 | 18                  elevator.s    413 | Code        | 11 |         |    1 | 00/0B8F : 60          |                          RTS                          
 3492 | 18                  elevator.s    414 | Empty       | 11 |         |    0 | 00/0B90               |                                                       
 3493 | 18                  elevator.s    415 | Comment     | 11 |         |    0 | 00/0B90               | *----------------------------------------------
 3494 | 18                  elevator.s    416 | Comment     | 11 |         |    0 | 00/0B90               | * EntCheckElevGround - Is the elevator car under the guard?
 3495 | 18                  elevator.s    417 | Comment     | 11 |         |    0 | 00/0B90               | *
 3496 | 18                  elevator.s    418 | Comment     | 11 |         |    0 | 00/0B90               | * Parallel to CheckElevGround for guards (uses EntX, guard's map).
 3497 | 18                  elevator.s    419 | Comment     | 11 |         |    0 | 00/0B90               | * Only returns C=1 when the guard is on the player's active map,
 3498 | 18                  elevator.s    420 | Comment     | 11 |         |    0 | 00/0B90               | * because ElevY tracks only that map's live car. Off-map guards use
 3499 | 18                  elevator.s    421 | Comment     | 11 |         |    0 | 00/0B90               | * the saved state (ElevSaveY) if they ever need it later.
 3500 | 18                  elevator.s    422 | Comment     | 11 |         |    0 | 00/0B90               | *
 3501 | 18                  elevator.s    423 | Comment     | 11 |         |    0 | 00/0B90               | * In:  A = pixel Y of guard feet (EntY+12); GuardIdx set; X unused
 3502 | 18                  elevator.s    424 | Comment     | 11 |         |    0 | 00/0B90               | * Out: C=1 if car under guard, C=0 otherwise
 3503 | 18                  elevator.s    425 | Comment     | 11 |         |    0 | 00/0B90               | * Clobbers: A, X, Temp1, Temp2
 3504 | 18                  elevator.s    426 | Comment     | 11 |         |    0 | 00/0B90               | *----------------------------------------------
 3505 | 18                  elevator.s    427 | Empty       | 11 |         |    0 | 00/0B90               | EntCheckElevGround                                    
 3506 | 18                  elevator.s    428 | Code        | 11 |         |    2 | 00/0B90 : 85 19       |                          STA     {$19}                
 3507 | 18                  elevator.s    429 | Code        | 11 |         |    2 | 00/0B92 : A6 F4       |                          LDX     {$F4}                
 3508 | 18                  elevator.s    430 | Code        | 11 |         |    3 | 00/0B94 : BD 8E 11    |                          LDA     GuardTblMap,X        
 3509 | 18                  elevator.s    431 | Code        | 11 |         |    2 | 00/0B97 : C5 1C       |                          CMP     {$1C}                
 3510 | 18                  elevator.s    432 | Code        | 11 |         |    2 | 00/0B99 : D0 24       |                          BNE     _eceNo               ; only same-map guards see live car
 3511 | 18                  elevator.s    433 | Code        | 11 |         |    2 | 00/0B9B : A6 1C       |                          LDX     {$1C}                
 3512 | 18                  elevator.s    434 | Code        | 11 |         |    3 | 00/0B9D : BD 41 09    |                          LDA     ElevPixX,X           
 3513 | 18                  elevator.s    435 | Code        | 11 |         |    2 | 00/0BA0 : C9 FF       |                          CMP     #$FF                 
 3514 | 18                  elevator.s    436 | Code        | 11 |         |    2 | 00/0BA2 : F0 1B       |                          BEQ     _eceNo               
 3515 | 18                  elevator.s    437 | Code        | 11 |         |    2 | 00/0BA4 : 85 18       |                          STA     {$18}                
 3516 | 18                  elevator.s    438 | Code        | 11 |         |    2 | 00/0BA6 : A5 F6       |                          LDA     {$F6}                
 3517 | 18                  elevator.s    439 | Code        | 11 |         |    1 | 00/0BA8 : 18          |                          CLC                          
 3518 | 18                  elevator.s    440 | Code        | 11 |         |    2 | 00/0BA9 : 69 03       |                          ADC     #3                   
 3519 | 18                  elevator.s    441 | Code        | 11 |         |    1 | 00/0BAB : 38          |                          SEC                          
 3520 | 18                  elevator.s    442 | Code        | 11 |         |    2 | 00/0BAC : E5 18       |                          SBC     {$18}                
 3521 | 18                  elevator.s    443 | Code        | 11 |         |    2 | 00/0BAE : C9 07       |                          CMP     #7                   
 3522 | 18                  elevator.s    444 | Code        | 11 |         |    2 | 00/0BB0 : B0 0D       |                          BCS     _eceNo               
 3523 | 18                  elevator.s    445 | Code        | 11 |         |    2 | 00/0BB2 : A5 19       |                          LDA     {$19}                
 3524 | 18                  elevator.s    446 | Code        | 11 |         |    1 | 00/0BB4 : 38          |                          SEC                          
 3525 | 18                  elevator.s    447 | Code        | 11 |         |    2 | 00/0BB5 : E5 EF       |                          SBC     {$EF}                
 3526 | 18                  elevator.s    448 | Code        | 11 |         |    2 | 00/0BB7 : C9 03       |                          CMP     #3                   
 3527 | 18                  elevator.s    449 | Code        | 11 |         |    2 | 00/0BB9 : 90 06       |                          BCC     _eceYes              
 3528 | 18                  elevator.s    450 | Code        | 11 |         |    2 | 00/0BBB : C9 FE       |                          CMP     #$FE                 
 3529 | 18                  elevator.s    451 | Code        | 11 |         |    2 | 00/0BBD : B0 02       |                          BCS     _eceYes              
 3530 | 18                  elevator.s    452 | Code        | 11 |         |    1 | 00/0BBF : 18          | _eceNo                   CLC                          
 3531 | 18                  elevator.s    453 | Code        | 11 |         |    1 | 00/0BC0 : 60          |                          RTS                          
 3532 | 18                  elevator.s    454 | Code        | 11 |         |    1 | 00/0BC1 : 38          | _eceYes                  SEC                          
 3533 | 18                  elevator.s    455 | Code        | 11 |         |    1 | 00/0BC2 : 60          |                          RTS                          
 3534 | 18                  elevator.s    456 | Empty       | 11 |         |    0 | 00/0BC3               |                                                       
 3535 | 18                  elevator.s    457 | Comment     | 11 |         |    0 | 00/0BC3               | *----------------------------------------------
 3536 | 18                  elevator.s    458 | Comment     | 11 |         |    0 | 00/0BC3               | * Preview elevator rendering: draw elevator car from
 3537 | 18                  elevator.s    459 | Comment     | 11 |         |    0 | 00/0BC3               | * adjacent map in the border preview columns.
 3538 | 18                  elevator.s    460 | Comment     | 11 |         |    0 | 00/0BC3               | * Shows elevator at its top stop with parked frame.
 3539 | 18                  elevator.s    461 | Comment     | 11 |         |    0 | 00/0BC3               | *----------------------------------------------
 3540 | 18                  elevator.s    462 | Empty       | 11 |         |    0 | 00/0BC3               |                                                       
 3541 | 18                  elevator.s    463 | Equivalence | 11 |         |    0 | 00/0BC3               | PrvElevOldP0             =       {$038E}+{{3}*3}      ; page 0: X, Y, Fr
 3542 | 18                  elevator.s    464 | Equivalence | 11 |         |    0 | 00/0BC3               | PrvElevOldP1             =       {$039A}+{{3}*3}      ; page 1: X, Y, Fr
 3543 | 18                  elevator.s    465 | Empty       | 11 |         |    0 | 00/0BC3               |                                                       
 3544 | 18                  elevator.s    466 | Comment     | 11 |         |    0 | 00/0BC3               | *----------------------------------------------
 3545 | 18                  elevator.s    467 | Comment     | 11 |         |    0 | 00/0BC3               | * DrawPreviewElev - Draw elevator from adjacent map in preview area
 3546 | 18                  elevator.s    468 | Comment     | 11 |         |    0 | 00/0BC3               | *----------------------------------------------
 3547 | 18                  elevator.s    469 | Empty       | 11 |         |    0 | 00/0BC3               | DrawPreviewElev                                       
 3548 | 18                  elevator.s    470 | Comment     | 11 |         |    0 | 00/0BC3               | * Check left neighbor for elevator
 3549 | 18                  elevator.s    471 | Code        | 11 |         |    2 | 00/0BC3 : A6 1C       |                          LDX     {$1C}                
 3550 | 18                  elevator.s    472 | Code        | 11 |         |    3 | 00/0BC5 : BD B4 77    |                          LDA     CartAdjL,X           
 3551 | 18                  elevator.s    473 | Code        | 11 |         |    2 | 00/0BC8 : C9 FF       |                          CMP     #$FF                 
 3552 | 18                  elevator.s    474 | Code        | 11 |         |    2 | 00/0BCA : F0 13       |                          BEQ     _peChkR              
 3553 | 18                  elevator.s    475 | Code        | 11 |         |    1 | 00/0BCC : AA          |                          TAX                          
 3554 | 18                  elevator.s    476 | Code        | 11 |         |    3 | 00/0BCD : BD 41 09    |                          LDA     ElevPixX,X           
 3555 | 18                  elevator.s    477 | Code        | 11 |         |    2 | 00/0BD0 : C9 FF       |                          CMP     #$FF                 
 3556 | 18                  elevator.s    478 | Code        | 11 |         |    2 | 00/0BD2 : F0 0B       |                          BEQ     _peChkR              
 3557 | 18                  elevator.s    479 | Comment     | 11 |         |    0 | 00/0BD4               | * Left neighbor has elevator: screenX = elevX - PREVIEW_OFS
 3558 | 18                  elevator.s    480 | Code        | 11 |         |    1 | 00/0BD4 : 38          |                          SEC                          
 3559 | 18                  elevator.s    481 | Code        | 11 |         |    2 | 00/0BD5 : E9 62       |                          SBC     #{98}                
 3560 | 18                  elevator.s    482 | Code        | 11 |         |    2 | 00/0BD7 : 90 4F       |                          BCC     _peSkip              ; off screen left
 3561 | 18                  elevator.s    483 | Code        | 11 |         |    2 | 00/0BD9 : C9 86       |                          CMP     #134                 
 3562 | 18                  elevator.s    484 | Code        | 11 |         |    2 | 00/0BDB : B0 4B       |                          BCS     _peSkip              ; off screen right
 3563 | 18                  elevator.s    485 | Code        | 11 |         |    2 | 00/0BDD : 80 1A       |                          BRA     _peDraw              
 3564 | 18                  elevator.s    486 | Empty       | 11 |         |    0 | 00/0BDF               | _peChkR                                               
 3565 | 18                  elevator.s    487 | Comment     | 11 |         |    0 | 00/0BDF               | * Check right neighbor for elevator
 3566 | 18                  elevator.s    488 | Code        | 11 |         |    2 | 00/0BDF : A6 1C       |                          LDX     {$1C}                
 3567 | 18                  elevator.s    489 | Code        | 11 |         |    3 | 00/0BE1 : BD B7 77    |                          LDA     CartAdjR,X           
 3568 | 18                  elevator.s    490 | Code        | 11 |         |    2 | 00/0BE4 : C9 FF       |                          CMP     #$FF                 
 3569 | 18                  elevator.s    491 | Code        | 11 |         |    2 | 00/0BE6 : F0 40       |                          BEQ     _peSkip              
 3570 | 18                  elevator.s    492 | Code        | 11 |         |    1 | 00/0BE8 : AA          |                          TAX                          
 3571 | 18                  elevator.s    493 | Code        | 11 |         |    3 | 00/0BE9 : BD 41 09    |                          LDA     ElevPixX,X           
 3572 | 18                  elevator.s    494 | Code        | 11 |         |    2 | 00/0BEC : C9 FF       |                          CMP     #$FF                 
 3573 | 18                  elevator.s    495 | Code        | 11 |         |    2 | 00/0BEE : F0 38       |                          BEQ     _peSkip              
 3574 | 18                  elevator.s    496 | Comment     | 11 |         |    0 | 00/0BF0               | * Right neighbor has elevator: screenX = elevX + PREVIEW_OFS
 3575 | 18                  elevator.s    497 | Code        | 11 |         |    1 | 00/0BF0 : 18          |                          CLC                          
 3576 | 18                  elevator.s    498 | Code        | 11 |         |    2 | 00/0BF1 : 69 62       |                          ADC     #{98}                
 3577 | 18                  elevator.s    499 | Code        | 11 |         |    2 | 00/0BF3 : B0 33       |                          BCS     _peSkip              ; overflow
 3578 | 18                  elevator.s    500 | Code        | 11 |         |    2 | 00/0BF5 : C9 86       |                          CMP     #134                 
 3579 | 18                  elevator.s    501 | Code        | 11 |         |    2 | 00/0BF7 : B0 2F       |                          BCS     _peSkip              ; off screen right
 3580 | 18                  elevator.s    502 | Empty       | 11 |         |    0 | 00/0BF9               | _peDraw                                               
 3581 | 18                  elevator.s    503 | Code        | 11 |         |    2 | 00/0BF9 : 85 14       |                          STA     {$14}                
 3582 | 18                  elevator.s    504 | Comment     | 11 |         |    0 | 00/0BFB               | * Y = saved position if visited, else top stop
 3583 | 18                  elevator.s    505 | Code        | 11 |         |    3 | 00/0BFB : BD 65 09    |                          LDA     ElevInited,X         
 3584 | 18                  elevator.s    506 | Code        | 11 |         |    2 | 00/0BFE : D0 05       |                          BNE     _peUseSaved          
 3585 | 18                  elevator.s    507 | Code        | 11 |         |    3 | 00/0C00 : BD 44 09    |                          LDA     ElevTopY,X           
 3586 | 18                  elevator.s    508 | Code        | 11 |         |    2 | 00/0C03 : 80 03       |                          BRA     _peSetY              
 3587 | 18                  elevator.s    509 | Empty       | 11 |         |    0 | 00/0C05               | _peUseSaved                                           
 3588 | 18                  elevator.s    510 | Code        | 11 |         |    3 | 00/0C05 : BD 5C 09    |                          LDA     ElevSaveY,X          
 3589 | 18                  elevator.s    511 | Code        | 11 |         |    1 | 00/0C08 : 38          | _peSetY                  SEC                          
 3590 | 18                  elevator.s    512 | Code        | 11 |         |    2 | 00/0C09 : E9 0B       |                          SBC     #11                  
 3591 | 18                  elevator.s    513 | Code        | 11 |         |    2 | 00/0C0B : 85 15       |                          STA     {$15}                
 3592 | 18                  elevator.s    514 | Comment     | 11 |         |    0 | 00/0C0D               | * Frame: parked if saved timer > 0, else moving
 3593 | 18                  elevator.s    515 | Code        | 11 |         |    3 | 00/0C0D : BD 65 09    |                          LDA     ElevInited,X         
 3594 | 18                  elevator.s    516 | Code        | 11 |         |    2 | 00/0C10 : F0 05       |                          BEQ     _pePark              
 3595 | 18                  elevator.s    517 | Code        | 11 |         |    3 | 00/0C12 : BD 62 09    |                          LDA     ElevSaveTimer,X      
 3596 | 18                  elevator.s    518 | Code        | 11 |         |    2 | 00/0C15 : F0 04       |                          BEQ     _peMove              
 3597 | 18                  elevator.s    519 | Code        | 11 |         |    2 | 00/0C17 : A9 1E       | _pePark                  LDA     #{30}                
 3598 | 18                  elevator.s    520 | Code        | 11 |         |    2 | 00/0C19 : 80 02       |                          BRA     _peSetFr             
 3599 | 18                  elevator.s    521 | Code        | 11 |         |    2 | 00/0C1B : A9 18       | _peMove                  LDA     #{24}                
 3600 | 18                  elevator.s    522 | Code        | 11 |         |    2 | 00/0C1D : 85 16       | _peSetFr                 STA     {$16}                
 3601 | 18                  elevator.s    523 | Code        | 11 |         |    2 | 00/0C1F : 64 17       |                          STZ     {$17}                
 3602 | 18                  elevator.s    524 | Code        | 11 |         |    3 | 00/0C21 : 20 37 0C    |                          JSR     _SavePrvElev         
 3603 | 18                  elevator.s    525 | Code        | 11 |         |    3 | 00/0C24 : 20 AE 7F    |                          JSR     DrawSpriteSolid      ; elevator car stores only shift 0 (no mask)
 3604 | 18                  elevator.s    526 | Code        | 11 |         |    1 | 00/0C27 : 60          |                          RTS                          
 3605 | 18                  elevator.s    527 | Empty       | 11 |         |    0 | 00/0C28               | _peSkip                                               
 3606 | 18                  elevator.s    528 | Code        | 11 |         |    3 | 00/0C28 : 20 3C 0C    |                          JSR     _MarkPrvElevEmpty    
 3607 | 18                  elevator.s    529 | Code        | 11 |         |    1 | 00/0C2B : 60          |                          RTS                          
 3608 | 18                  elevator.s    530 | Empty       | 11 |         |    0 | 00/0C2C               |                                                       
 3609 | 18                  elevator.s    531 | Comment     | 11 |         |    0 | 00/0C2C               | *----------------------------------------------
 3610 | 18                  elevator.s    532 | Comment     | 11 |         |    0 | 00/0C2C               | * ErasePreviewElev - Erase preview elevator at old position
 3611 | 18                  elevator.s    533 | Comment     | 11 |         |    0 | 00/0C2C               | *----------------------------------------------
 3612 | 18                  elevator.s    534 | Empty       | 11 |         |    0 | 00/0C2C               | ErasePreviewElev                                      
 3613 | 18                  elevator.s    535 | Code        | 11 |         |    3 | 00/0C2C : 20 41 0C    |                          JSR     _LoadPrvElev         
 3614 | 18                  elevator.s    536 | Code        | 11 |         |    2 | 00/0C2F : C9 FF       |                          CMP     #$FF                 
 3615 | 18                  elevator.s    537 | Code        | 11 |         |    2 | 00/0C31 : F0 03       |                          BEQ     ozunid_23            
 3616 | 18                  elevator.s    538 | Code        | 11 |         |    3 | 00/0C33 : 20 08 65    |                          JSR     EraseSpriteArea      
 3617 | 18                  elevator.s    539 | Code        | 11 |         |    1 | 00/0C36 : 60          | ozunid_23                RTS                          
 3618 | 18                  elevator.s    540 | Empty       | 11 |         |    0 | 00/0C37               |                                                       
 3619 | 18                  elevator.s    541 | Empty       | 11 |         |    0 | 00/0C37               | _SavePrvElev                                          
 3620 | 18                  elevator.s    542 | Code        | 11 |         |    2 | 00/0C37 : A0 09       |                          LDY     #{{3}*3}             
 3621 | 18                  elevator.s    543 | Code        | 11 |         |    3 | 00/0C39 : 4C 50 DF    |                          JMP     _SavePrvGrdSlot      
 3622 | 18                  elevator.s    544 | Empty       | 11 |         |    0 | 00/0C3C               |                                                       
 3623 | 18                  elevator.s    545 | Empty       | 11 |         |    0 | 00/0C3C               | _MarkPrvElevEmpty                                     
 3624 | 18                  elevator.s    546 | Code        | 11 |         |    2 | 00/0C3C : A0 09       |                          LDY     #{{3}*3}             
 3625 | 18                  elevator.s    547 | Code        | 11 |         |    3 | 00/0C3E : 4C 74 DF    |                          JMP     _MarkPrvGrdEmpty     
 3626 | 18                  elevator.s    548 | Empty       | 11 |         |    0 | 00/0C41               |                                                       
 3627 | 18                  elevator.s    549 | Empty       | 11 |         |    0 | 00/0C41               | _LoadPrvElev                                          
 3628 | 18                  elevator.s    550 | Code        | 11 |         |    2 | 00/0C41 : A0 09       |                          LDY     #{{3}*3}             
 3629 | 18                  elevator.s    551 | Code        | 11 |         |    3 | 00/0C43 : 4C 84 DF    |                          JMP     _LoadPrvGrdSlot      
 3630 | 18                  elevator.s    552 | Empty       | 11 |         |    0 | 00/0C46               |                                                       
 3631 | 18                  elevator.s    553 | Empty       | 11 |         |    0 | 00/0C46               | InitPrvElevOldPos                                     
 3632 | 18                  elevator.s    554 | Code        | 11 |         |    2 | 00/0C46 : A9 FF       |                          LDA     #$FF                 
 3633 | 18                  elevator.s    555 | Code        | 11 |         |    3 | 00/0C48 : 8D 99 03    |                          STA     {{$038E}+{{3}*3}}+2  
 3634 | 18                  elevator.s    556 | Code        | 11 |         |    3 | 00/0C4B : 8D A5 03    |                          STA     {{$039A}+{{3}*3}}+2  
 3635 | 18                  elevator.s    557 | Code        | 11 |         |    1 | 00/0C4E : 60          |                          RTS                          
 3636 | 18                  elevator.s    558 | Empty       | 11 |         |    0 | 00/0C4F               |                                                       
 3637 |  1                    bagman.s     44 | Directive   | 11 |         |    0 | 00/0C4F               |                          PUT     guard_1800.s         
 3638 | 19                guard_1800.s      1 | Comment     | 11 |         |    0 | 00/0C4F               | *
 3639 | 19                guard_1800.s      2 | Comment     | 11 |         |    0 | 00/0C4F               | * Bagman - Guard Routines (relocated to $1800 block)
 3640 | 19                guard_1800.s      3 | Comment     | 11 |         |    0 | 00/0C4F               | *
 3641 | 19                guard_1800.s      4 | Empty       | 11 |         |    0 | 00/0C4F               |                                                       
 3642 | 19                guard_1800.s      5 | Comment     | 11 |         |    0 | 00/0C4F               | *----------------------------------------------
 3643 | 19                guard_1800.s      6 | Comment     | 11 |         |    0 | 00/0C4F               | * GuardInit - Initialize guard state from per-level tables
 3644 | 19                guard_1800.s      7 | Comment     | 11 |         |    0 | 00/0C4F               | * Called once at level start; moved out of LC2 to free space there.
 3645 | 19                guard_1800.s      8 | Comment     | 11 |         |    0 | 00/0C4F               | *----------------------------------------------
 3646 | 19                guard_1800.s      9 | Empty       | 11 |         |    0 | 00/0C4F               | GuardInit                                             
 3647 | 19                guard_1800.s     10 | Code        | 11 |         |    2 | 00/0C4F : A2 02       |                          LDX     #{3}-1               
 3648 | 19                guard_1800.s     11 | Code        | 11 |         |    3 | 00/0C51 : BD BC 11    | _giLoop                  LDA     GuardInitX,X         
 3649 | 19                guard_1800.s     12 | Code        | 11 |         |    3 | 00/0C54 : 9D 88 11    |                          STA     GuardTblX,X          
 3650 | 19                guard_1800.s     13 | Code        | 11 |         |    3 | 00/0C57 : BD BF 11    |                          LDA     GuardInitY,X         
 3651 | 19                guard_1800.s     14 | Code        | 11 |         |    3 | 00/0C5A : 9D 8B 11    |                          STA     GuardTblY,X          
 3652 | 19                guard_1800.s     15 | Code        | 11 |         |    3 | 00/0C5D : BD C2 11    |                          LDA     GuardInitMap,X       
 3653 | 19                guard_1800.s     16 | Code        | 11 |         |    3 | 00/0C60 : 9D 8E 11    |                          STA     GuardTblMap,X        
 3654 | 19                guard_1800.s     17 | Code        | 11 |         |    3 | 00/0C63 : BD C5 11    |                          LDA     GuardInitDir,X       
 3655 | 19                guard_1800.s     18 | Code        | 11 |         |    3 | 00/0C66 : 9D 94 11    |                          STA     GuardTblDir,X        
 3656 | 19                guard_1800.s     19 | Code        | 11 |         |    2 | 00/0C69 : A9 1F       |                          LDA     #{31}                
 3657 | 19                guard_1800.s     20 | Code        | 11 |         |    3 | 00/0C6B : 9D 97 11    |                          STA     GuardTblFr,X         
 3658 | 19                guard_1800.s     21 | Code        | 11 |         |    2 | 00/0C6E : A9 00       |                          LDA     #{0}                 
 3659 | 19                guard_1800.s     22 | Code        | 11 |         |    3 | 00/0C70 : 9D 91 11    |                          STA     GuardTblSt,X         
 3660 | 19                guard_1800.s     23 | Code        | 11 |         |    3 | 00/0C73 : 9E 9A 11    |                          STZ     GuardTblAnim,X       
 3661 | 19                guard_1800.s     24 | Code        | 11 |         |    3 | 00/0C76 : 9E 9D 11    |                          STZ     GuardStunTmr,X       
 3662 | 19                guard_1800.s     25 | Code        | 11 |         |    3 | 00/0C79 : 9E A0 11    |                          STZ     GuardSpeedAcc,X      
 3663 | 19                guard_1800.s     26 | Code        | 11 |         |    3 | 00/0C7C : 9E A3 11    |                          STZ     GuardTblInp,X        
 3664 | 19                guard_1800.s     27 | Code        | 11 |         |    3 | 00/0C7F : 9E A6 11    |                          STZ     GuardBlocked,X       
 3665 | 19                guard_1800.s     28 | Code        | 11 |         |    3 | 00/0C82 : 9E AA 11    |                          STZ     GuardOnElev,X        
 3666 | 19                guard_1800.s     29 | Code        | 11 |         |    3 | 00/0C85 : 9E AD 11    |                          STZ     GuardWaitTmr,X       
 3667 | 19                guard_1800.s     30 | Code        | 11 |         |    3 | 00/0C88 : 9E B0 11    |                          STZ     GuardClimbEntryY,X   
 3668 | 19                guard_1800.s     31 | Code        | 11 |         |    1 | 00/0C8B : CA          |                          DEX                          
 3669 | 19                guard_1800.s     32 | Code        | 11 |         |    2 | 00/0C8C : 10 C3       |                          BPL     _giLoop              
 3670 | 19                guard_1800.s     33 | Code        | 11 |         |    2 | 00/0C8E : A2 02       |                          LDX     #{3}-1               
 3671 | 19                guard_1800.s     34 | Code        | 11 |         |    1 | 00/0C90 : DA          | _giSnap                  PHX                          
 3672 | 19                guard_1800.s     35 | Code        | 11 |         |    3 | 00/0C91 : 20 76 D9    |                          JSR     _SetGuardColl        
 3673 | 19                guard_1800.s     36 | Code        | 11 |         |    3 | 00/0C94 : BD 88 11    |                          LDA     GuardTblX,X          
 3674 | 19                guard_1800.s     37 | Code        | 11 |         |    2 | 00/0C97 : 85 F6       |                          STA     {$F6}                
 3675 | 19                guard_1800.s     38 | Code        | 11 |         |    3 | 00/0C99 : BD 8B 11    |                          LDA     GuardTblY,X          
 3676 | 19                guard_1800.s     39 | Code        | 11 |         |    2 | 00/0C9C : 85 F7       |                          STA     {$F7}                
 3677 | 19                guard_1800.s     40 | Code        | 11 |         |    3 | 00/0C9E : 20 82 DD    |                          JSR     EntSnapToGround      
 3678 | 19                guard_1800.s     41 | Code        | 11 |         |    1 | 00/0CA1 : FA          |                          PLX                          
 3679 | 19                guard_1800.s     42 | Code        | 11 |         |    2 | 00/0CA2 : A5 F7       |                          LDA     {$F7}                
 3680 | 19                guard_1800.s     43 | Code        | 11 |         |    3 | 00/0CA4 : 9D 8B 11    |                          STA     GuardTblY,X          
 3681 | 19                guard_1800.s     44 | Code        | 11 |         |    1 | 00/0CA7 : CA          |                          DEX                          
 3682 | 19                guard_1800.s     45 | Code        | 11 |         |    2 | 00/0CA8 : 10 E6       |                          BPL     _giSnap              
 3683 | 19                guard_1800.s     46 | Code        | 11 |         |    3 | 00/0CAA : 20 1B 10    |                          JSR     SetCollision         
 3684 | 19                guard_1800.s     47 | Code        | 11 |         |    2 | 00/0CAD : 64 48       |                          STZ     {$48}                
 3685 | 19                guard_1800.s     48 | Code        | 11 |         |    2 | 00/0CAF : 64 49       |                          STZ     {$49}                
 3686 | 19                guard_1800.s     49 | Code        | 11 |         |    1 | 00/0CB1 : 60          |                          RTS                          
 3687 | 19                guard_1800.s     50 | Empty       | 11 |         |    0 | 00/0CB2               |                                                       
 3688 | 19                guard_1800.s     51 | Comment     | 11 |         |    0 | 00/0CB2               | *----------------------------------------------
 3689 | 19                guard_1800.s     52 | Comment     | 11 |         |    0 | 00/0CB2               | * InitGuardOldPos - Mark every guard old-pos slot as empty ($FF
 3690 | 19                guard_1800.s     53 | Comment     | 11 |         |    0 | 00/0CB2               | * sentinel in Fr byte). Slots switch to real data only when
 3691 | 19                guard_1800.s     54 | Comment     | 11 |         |    0 | 00/0CB2               | * DrawGuards/DrawPreviewGuards commits a draw.
 3692 | 19                guard_1800.s     55 | Comment     | 11 |         |    0 | 00/0CB2               | *----------------------------------------------
 3693 | 19                guard_1800.s     56 | Empty       | 11 |         |    0 | 00/0CB2               | InitGuardOldPos                                       
 3694 | 19                guard_1800.s     57 | Code        | 11 |         |    2 | 00/0CB2 : A9 FF       |                          LDA     #$FF                 
 3695 | 19                guard_1800.s     58 | Code        | 11 |         |    2 | 00/0CB4 : A2 00       |                          LDX     #0                   
 3696 | 19                guard_1800.s     59 | Code        | 11 |         |    3 | 00/0CB6 : 9D 7E 03    | _igoLoop                 STA     {$037C}+2,X          
 3697 | 19                guard_1800.s     60 | Code        | 11 |         |    3 | 00/0CB9 : 9D 87 03    |                          STA     {$0385}+2,X          
 3698 | 19                guard_1800.s     61 | Code        | 11 |         |    1 | 00/0CBC : E8          |                          INX                          
 3699 | 19                guard_1800.s     62 | Code        | 11 |         |    1 | 00/0CBD : E8          |                          INX                          
 3700 | 19                guard_1800.s     63 | Code        | 11 |         |    1 | 00/0CBE : E8          |                          INX                          
 3701 | 19                guard_1800.s     64 | Code        | 11 |         |    2 | 00/0CBF : E0 09       |                          CPX     #{3}*3               
 3702 | 19                guard_1800.s     65 | Code        | 11 |         |    2 | 00/0CC1 : 90 F3       |                          BCC     _igoLoop             
 3703 | 19                guard_1800.s     66 | Code        | 11 |         |    1 | 00/0CC3 : 60          |                          RTS                          
 3704 | 19                guard_1800.s     67 | Empty       | 11 |         |    0 | 00/0CC4               |                                                       
 3705 | 19                guard_1800.s     68 | Comment     | 11 |         |    0 | 00/0CC4               | *----------------------------------------------
 3706 | 19                guard_1800.s     69 | Comment     | 11 |         |    0 | 00/0CC4               | * InitPrvGuardOldPos - Same, for the preview slots on neighbor maps.
 3707 | 19                guard_1800.s     70 | Comment     | 11 |         |    0 | 00/0CC4               | *----------------------------------------------
 3708 | 19                guard_1800.s     71 | Empty       | 11 |         |    0 | 00/0CC4               | InitPrvGuardOldPos                                    
 3709 | 19                guard_1800.s     72 | Code        | 11 |         |    2 | 00/0CC4 : A9 FF       |                          LDA     #$FF                 
 3710 | 19                guard_1800.s     73 | Code        | 11 |         |    2 | 00/0CC6 : A2 00       |                          LDX     #0                   
 3711 | 19                guard_1800.s     74 | Code        | 11 |         |    2 | 00/0CC8 : E0 09       | _ipgLoop                 CPX     #{3}*3               
 3712 | 19                guard_1800.s     75 | Code        | 11 |         |    2 | 00/0CCA : B0 09       |                          BCS     _ipgDone             
 3713 | 19                guard_1800.s     76 | Code        | 11 |         |    3 | 00/0CCC : 9D 8E 03    |                          STA     {$038E},X            
 3714 | 19                guard_1800.s     77 | Code        | 11 |         |    3 | 00/0CCF : 9D 9A 03    |                          STA     {$039A},X            
 3715 | 19                guard_1800.s     78 | Code        | 11 |         |    1 | 00/0CD2 : E8          |                          INX                          
 3716 | 19                guard_1800.s     79 | Code        | 11 |         |    2 | 00/0CD3 : 80 F3       |                          BRA     _ipgLoop             
 3717 | 19                guard_1800.s     80 | Code        | 11 |         |    1 | 00/0CD5 : 60          | _ipgDone                 RTS                          
 3718 | 19                guard_1800.s     81 | Empty       | 11 |         |    0 | 00/0CD6               |                                                       
 3719 | 19                guard_1800.s     82 | Comment     | 11 |         |    0 | 00/0CD6               | *----------------------------------------------
 3720 | 19                guard_1800.s     83 | Comment     | 11 |         |    0 | 00/0CD6               | * CheckGuardWakeLoot - Guard overlap check for sleeping loot
 3721 | 19                guard_1800.s     84 | Comment     | 11 |         |    0 | 00/0CD6               | * In: Temp1=lootX, Temp2=lootY  Out: C=1 overlap
 3722 | 19                guard_1800.s     85 | Comment     | 11 |         |    0 | 00/0CD6               | *----------------------------------------------
 3723 | 19                guard_1800.s     86 | Empty       | 11 |         |    0 | 00/0CD6               | CheckGuardWakeLoot                                    
 3724 | 19                guard_1800.s     87 | Code        | 11 |         |    2 | 00/0CD6 : A2 00       |                          LDX     #0                   
 3725 | 19                guard_1800.s     88 | Code        | 11 |         |    3 | 00/0CD8 : EC C8 11    | _gwlLoop                 CPX     GuardActiveCount     
 3726 | 19                guard_1800.s     89 | Code        | 11 |         |    2 | 00/0CDB : B0 2A       |                          BCS     _gwlNo               
 3727 | 19                guard_1800.s     90 | Code        | 11 |         |    3 | 00/0CDD : BD 8E 11    |                          LDA     GuardTblMap,X        
 3728 | 19                guard_1800.s     91 | Code        | 11 |         |    2 | 00/0CE0 : C5 1C       |                          CMP     {$1C}                
 3729 | 19                guard_1800.s     92 | Code        | 11 |         |    2 | 00/0CE2 : D0 1E       |                          BNE     _gwlNxt              
 3730 | 19                guard_1800.s     93 | Code        | 11 |         |    2 | 00/0CE4 : A5 18       |                          LDA     {$18}                
 3731 | 19                guard_1800.s     94 | Code        | 11 |         |    1 | 00/0CE6 : 38          |                          SEC                          
 3732 | 19                guard_1800.s     95 | Code        | 11 |         |    3 | 00/0CE7 : FD 88 11    |                          SBC     GuardTblX,X          
 3733 | 19                guard_1800.s     96 | Code        | 11 |         |    2 | 00/0CEA : 10 03       |                          BPL     _gwl1                
 3734 | 19                guard_1800.s     97 | Code        | 11 |         |    2 | 00/0CEC : 49 FF       |                          EOR     #$FF                 
 3735 | 19                guard_1800.s     98 | Code        | 11 |         |    1 | 00/0CEE : 1A          |                          INC                          
 3736 | 19                guard_1800.s     99 | Code        | 11 |         |    2 | 00/0CEF : C9 1C       | _gwl1                    CMP     #{28}                
 3737 | 19                guard_1800.s    100 | Code        | 11 |         |    2 | 00/0CF1 : B0 0F       |                          BCS     _gwlNxt              
 3738 | 19                guard_1800.s    101 | Code        | 11 |         |    2 | 00/0CF3 : A5 19       |                          LDA     {$19}                
 3739 | 19                guard_1800.s    102 | Code        | 11 |         |    1 | 00/0CF5 : 38          |                          SEC                          
 3740 | 19                guard_1800.s    103 | Code        | 11 |         |    3 | 00/0CF6 : FD 8B 11    |                          SBC     GuardTblY,X          
 3741 | 19                guard_1800.s    104 | Code        | 11 |         |    2 | 00/0CF9 : 10 03       |                          BPL     _gwl2                
 3742 | 19                guard_1800.s    105 | Code        | 11 |         |    2 | 00/0CFB : 49 FF       |                          EOR     #$FF                 
 3743 | 19                guard_1800.s    106 | Code        | 11 |         |    1 | 00/0CFD : 1A          |                          INC                          
 3744 | 19                guard_1800.s    107 | Code        | 11 |         |    2 | 00/0CFE : C9 12       | _gwl2                    CMP     #{18}                
 3745 | 19                guard_1800.s    108 | Code        | 11 |         |    2 | 00/0D00 : 90 03       |                          BCC     _gwlYes              
 3746 | 19                guard_1800.s    109 | Code        | 11 |         |    1 | 00/0D02 : E8          | _gwlNxt                  INX                          
 3747 | 19                guard_1800.s    110 | Code        | 11 |         |    2 | 00/0D03 : 80 D3       |                          BRA     _gwlLoop             
 3748 | 19                guard_1800.s    111 | Code        | 11 |         |    1 | 00/0D05 : 38          | _gwlYes                  SEC                          
 3749 | 19                guard_1800.s    112 | Code        | 11 |         |    1 | 00/0D06 : 60          |                          RTS                          
 3750 | 19                guard_1800.s    113 | Code        | 11 |         |    1 | 00/0D07 : 18          | _gwlNo                   CLC                          
 3751 | 19                guard_1800.s    114 | Code        | 11 |         |    1 | 00/0D08 : 60          |                          RTS                          
 3752 | 19                guard_1800.s    115 | Empty       | 11 |         |    0 | 00/0D09               |                                                       
 3753 | 19                guard_1800.s    116 | Comment     | 11 |         |    0 | 00/0D09               | *----------------------------------------------
 3754 | 19                guard_1800.s    117 | Comment     | 11 |         |    0 | 00/0D09               | * CheckLevelComplete - Check if all bags are deposited.
 3755 | 19                guard_1800.s    118 | Comment     | 11 |         |    0 | 00/0D09               | * Iterates LOOT_BAG_COUNT (not LOOT_COUNT) so the pickaxe — which
 3756 | 19                guard_1800.s    119 | Comment     | 11 |         |    0 | 00/0D09               | * never reaches LST_COLLECT — is ignored.
 3757 | 19                guard_1800.s    120 | Comment     | 11 |         |    0 | 00/0D09               | *----------------------------------------------
 3758 | 19                guard_1800.s    121 | Empty       | 11 |         |    0 | 00/0D09               | CheckLevelComplete                                    
 3759 | 19                guard_1800.s    122 | Code        | 11 |         |    2 | 00/0D09 : A2 00       |                          LDX     #0                   
 3760 | 19                guard_1800.s    123 | Code        | 11 |         |    2 | 00/0D0B : E0 03       | _clcLoop                 CPX     #{3}                 
 3761 | 19                guard_1800.s    124 | Code        | 11 |         |    2 | 00/0D0D : B0 0A       |                          BCS     _clcAll              
 3762 | 19                guard_1800.s    125 | Code        | 11 |         |    3 | 00/0D0F : BD 81 73    |                          LDA     LootTblSt,X          
 3763 | 19                guard_1800.s    126 | Code        | 11 |         |    2 | 00/0D12 : C9 02       |                          CMP     #{2}                 
 3764 | 19                guard_1800.s    127 | Code        | 11 |         |    2 | 00/0D14 : D0 08       |                          BNE     _clcNo               
 3765 | 19                guard_1800.s    128 | Code        | 11 |         |    1 | 00/0D16 : E8          |                          INX                          
 3766 | 19                guard_1800.s    129 | Code        | 11 |         |    2 | 00/0D17 : 80 F2       |                          BRA     _clcLoop             
 3767 | 19                guard_1800.s    130 | Empty       | 11 |         |    0 | 00/0D19               | _clcAll                                               
 3768 | 19                guard_1800.s    131 | Comment     | 11 |         |    0 | 00/0D19               | * All collected - fall through to AdvanceLevel
 3769 | 19                guard_1800.s    132 | Code        | 11 |         |    3 | 00/0D19 : 20 C5 67    |                          JSR     Add1000              ; +1000 screen/level completion
 3770 | 19                guard_1800.s    133 | Code        | 11 |         |    2 | 00/0D1C : 80 01       |                          BRA     AdvanceLevel         
 3771 | 19                guard_1800.s    134 | Code        | 11 |         |    1 | 00/0D1E : 60          | _clcNo                   RTS                          
 3772 | 19                guard_1800.s    135 | Empty       | 11 |         |    0 | 00/0D1F               |                                                       
 3773 | 19                guard_1800.s    136 | Comment     | 11 |         |    0 | 00/0D1F               | *----------------------------------------------
 3774 | 19                guard_1800.s    137 | Comment     | 11 |         |    0 | 00/0D1F               | * AdvanceLevel - Increase difficulty and reset level
 3775 | 19                guard_1800.s    138 | Comment     | 11 |         |    0 | 00/0D1F               | * Updates scaling vars, plays music, then jumps to
 3776 | 19                guard_1800.s    139 | Comment     | 11 |         |    0 | 00/0D1F               | * ResetLevel (in game.s) which handles all init/draw.
 3777 | 19                guard_1800.s    140 | Comment     | 11 |         |    0 | 00/0D1F               | *----------------------------------------------
 3778 | 19                guard_1800.s    141 | Empty       | 11 |         |    0 | 00/0D1F               | AdvanceLevel                                          
 3779 | 19                guard_1800.s    142 | Code        | 11 |         |    3 | 00/0D1F : EE C9 11    |                          INC     DiffLevel            
 3780 | 19                guard_1800.s    143 | Comment     | 11 |         |    0 | 00/0D22               | * Always start the new round on map 0 (where the WB spawns by default).
 3781 | 19                guard_1800.s    144 | Comment     | 11 |         |    0 | 00/0D22               | * If the player pushed the WB to another map, the last deposit may have
 3782 | 19                guard_1800.s    145 | Comment     | 11 |         |    0 | 00/0D22               | * happened on that map, leaving MapIdx non-zero here.
 3783 | 19                guard_1800.s    146 | Code        | 11 |         |    2 | 00/0D22 : 64 1C       |                          STZ     {$1C}                
 3784 | 19                guard_1800.s    147 | Code        | 11 |         |    2 | 00/0D24 : 64 29       |                          STZ     {$29}                
 3785 | 19                guard_1800.s    148 | Comment     | 11 |         |    0 | 00/0D26               | * Advance round number (BCD, capped at $99)
 3786 | 19                guard_1800.s    149 | Code        | 11 |         |    1 | 00/0D26 : F8          |                          SED                          
 3787 | 19                guard_1800.s    150 | Code        | 11 |         |    1 | 00/0D27 : 18          |                          CLC                          
 3788 | 19                guard_1800.s    151 | Code        | 11 |         |    3 | 00/0D28 : AD CC 11    |                          LDA     RoundNumBCD          
 3789 | 19                guard_1800.s    152 | Code        | 11 |         |    2 | 00/0D2B : 69 01       |                          ADC     #$01                 
 3790 | 19                guard_1800.s    153 | Code        | 11 |         |    2 | 00/0D2D : 90 02       |                          BCC     _alRnStore           
 3791 | 19                guard_1800.s    154 | Code        | 11 |         |    2 | 00/0D2F : A9 99       |                          LDA     #$99                 
 3792 | 19                guard_1800.s    155 | Code        | 11 |         |    3 | 00/0D31 : 8D CC 11    | _alRnStore               STA     RoundNumBCD          
 3793 | 19                guard_1800.s    156 | Code        | 11 |         |    1 | 00/0D34 : D8          |                          CLD                          
 3794 | 19                guard_1800.s    157 | Comment     | 11 |         |    0 | 00/0D35               | * Guard count: min(3, 1 + DiffLevel)
 3795 | 19                guard_1800.s    158 | Code        | 11 |         |    3 | 00/0D35 : AD C9 11    |                          LDA     DiffLevel            
 3796 | 19                guard_1800.s    159 | Code        | 11 |         |    1 | 00/0D38 : 1A          |                          INC                          
 3797 | 19                guard_1800.s    160 | Code        | 11 |         |    2 | 00/0D39 : C9 04       |                          CMP     #{3}+1               
 3798 | 19                guard_1800.s    161 | Code        | 11 |         |    2 | 00/0D3B : 90 02       |                          BCC     _alSetCnt            
 3799 | 19                guard_1800.s    162 | Code        | 11 |         |    2 | 00/0D3D : A9 03       |                          LDA     #{3}                 
 3800 | 19                guard_1800.s    163 | Code        | 11 |         |    3 | 00/0D3F : 8D C8 11    | _alSetCnt                STA     GuardActiveCount     
 3801 | 19                guard_1800.s    164 | Comment     | 11 |         |    0 | 00/0D42               | * Guard speed is now driven by cumulative score (see UpdateGuardSpeedTier
 3802 | 19                guard_1800.s    165 | Comment     | 11 |         |    0 | 00/0D42               | * in game.s) rather than by DiffLevel. Persists across deaths/levels.
 3803 | 19                guard_1800.s    166 | Comment     | 11 |         |    0 | 00/0D42               | * Stun duration: max(45, 150 - DiffLevel * 15)
 3804 | 19                guard_1800.s    167 | Code        | 11 |         |    3 | 00/0D42 : AD C9 11    |                          LDA     DiffLevel            
 3805 | 19                guard_1800.s    168 | Code        | 11 |         |    1 | 00/0D45 : 0A          |                          ASL                          
 3806 | 19                guard_1800.s    169 | Code        | 11 |         |    2 | 00/0D46 : 85 F5       |                          STA     {$F5}                
 3807 | 19                guard_1800.s    170 | Code        | 11 |         |    1 | 00/0D48 : 0A          |                          ASL                          
 3808 | 19                guard_1800.s    171 | Code        | 11 |         |    1 | 00/0D49 : 0A          |                          ASL                          
 3809 | 19                guard_1800.s    172 | Code        | 11 |         |    1 | 00/0D4A : 18          |                          CLC                          
 3810 | 19                guard_1800.s    173 | Code        | 11 |         |    2 | 00/0D4B : 65 F5       |                          ADC     {$F5}                
 3811 | 19                guard_1800.s    174 | Code        | 11 |         |    1 | 00/0D4D : 18          |                          CLC                          
 3812 | 19                guard_1800.s    175 | Code        | 11 |         |    3 | 00/0D4E : 6D C9 11    |                          ADC     DiffLevel            
 3813 | 19                guard_1800.s    176 | Code        | 11 |         |    3 | 00/0D51 : 6D C9 11    |                          ADC     DiffLevel            
 3814 | 19                guard_1800.s    177 | Code        | 11 |         |    3 | 00/0D54 : 6D C9 11    |                          ADC     DiffLevel            
 3815 | 19                guard_1800.s    178 | Code        | 11 |         |    3 | 00/0D57 : 6D C9 11    |                          ADC     DiffLevel            
 3816 | 19                guard_1800.s    179 | Code        | 11 |         |    3 | 00/0D5A : 6D C9 11    |                          ADC     DiffLevel            
 3817 | 19                guard_1800.s    180 | Code        | 11 |         |    2 | 00/0D5D : 85 F5       |                          STA     {$F5}                
 3818 | 19                guard_1800.s    181 | Code        | 11 |         |    2 | 00/0D5F : A9 96       |                          LDA     #150                 
 3819 | 19                guard_1800.s    182 | Code        | 11 |         |    1 | 00/0D61 : 38          |                          SEC                          
 3820 | 19                guard_1800.s    183 | Code        | 11 |         |    2 | 00/0D62 : E5 F5       |                          SBC     {$F5}                
 3821 | 19                guard_1800.s    184 | Code        | 11 |         |    2 | 00/0D64 : B0 04       |                          BCS     _alChkFloor          
 3822 | 19                guard_1800.s    185 | Code        | 11 |         |    2 | 00/0D66 : A9 2D       |                          LDA     #45                  
 3823 | 19                guard_1800.s    186 | Code        | 11 |         |    2 | 00/0D68 : 80 06       |                          BRA     _alSetStun           
 3824 | 19                guard_1800.s    187 | Empty       | 11 |         |    0 | 00/0D6A               | _alChkFloor                                           
 3825 | 19                guard_1800.s    188 | Code        | 11 |         |    2 | 00/0D6A : C9 2D       |                          CMP     #45                  
 3826 | 19                guard_1800.s    189 | Code        | 11 |         |    2 | 00/0D6C : B0 02       |                          BCS     _alSetStun           
 3827 | 19                guard_1800.s    190 | Code        | 11 |         |    2 | 00/0D6E : A9 2D       |                          LDA     #45                  
 3828 | 19                guard_1800.s    191 | Code        | 11 |         |    3 | 00/0D70 : 8D CB 11    | _alSetStun               STA     StunDuration         
 3829 | 19                guard_1800.s    192 | Comment     | 11 |         |    0 | 00/0D73               | * Intermission screen (ROUND N + Tune2), then reset the level.
 3830 | 19                guard_1800.s    193 | Comment     | 11 |         |    0 | 00/0D73               | * DoIntermission lives in aux LC - reach it via AuxLCCall.
 3831 | 19                guard_1800.s    194 | Code        | 11 |         |    2 | 00/0D73 : A9 25       |                          LDA     #<AuxDoIntermission  
 3832 | 19                guard_1800.s    195 | Code        | 11 |         |    3 | 00/0D75 : 8D 02 03    |                          STA     $0302                
 3833 | 19                guard_1800.s    196 | Code        | 11 |         |    2 | 00/0D78 : A9 D1       |                          LDA     #>AuxDoIntermission  
 3834 | 19                guard_1800.s    197 | Code        | 11 |         |    3 | 00/0D7A : 8D 03 03    |                          STA     $0303                
 3835 | 19                guard_1800.s    198 | Code        | 11 |         |    3 | 00/0D7D : 20 1F 09    |                          JSR     AuxLCCall            
 3836 | 19                guard_1800.s    199 | Code        | 11 |         |    3 | 00/0D80 : 4C F2 62    |                          JMP     ResetLevel           
 3837 | 19                guard_1800.s    200 | Empty       | 11 |         |    0 | 00/0D83               |                                                       
 3838 | 19                guard_1800.s    201 | Comment     | 11 |         |    0 | 00/0D83               | *----------------------------------------------
 3839 | 19                guard_1800.s    202 | Comment     | 11 |         |    0 | 00/0D83               | * LootInit - Reset all loot to ground state. Moved from player.s to
 3840 | 19                guard_1800.s    203 | Comment     | 11 |         |    0 | 00/0D83               | * the $1800 block to keep the $6000 block under the $B000 ceiling.
 3841 | 19                guard_1800.s    204 | Comment     | 11 |         |    0 | 00/0D83               | *----------------------------------------------
 3842 | 19                guard_1800.s    205 | Empty       | 11 |         |    0 | 00/0D83               | LootInit                                              
 3843 | 19                guard_1800.s    206 | Code        | 11 |         |    2 | 00/0D83 : A2 03       |                          LDX     #{4}-1               
 3844 | 19                guard_1800.s    207 | Code        | 11 |         |    2 | 00/0D85 : A9 00       | ozunid_24                LDA     #{0}                 
 3845 | 19                guard_1800.s    208 | Code        | 11 |         |    3 | 00/0D87 : 9D 81 73    |                          STA     LootTblSt,X          
 3846 | 19                guard_1800.s    209 | Code        | 11 |         |    3 | 00/0D8A : BD 95 73    |                          LDA     LootInitX,X          
 3847 | 19                guard_1800.s    210 | Code        | 11 |         |    3 | 00/0D8D : 9D 75 73    |                          STA     LootTblX,X           
 3848 | 19                guard_1800.s    211 | Code        | 11 |         |    3 | 00/0D90 : BD 99 73    |                          LDA     LootInitY,X          
 3849 | 19                guard_1800.s    212 | Code        | 11 |         |    3 | 00/0D93 : 9D 79 73    |                          STA     LootTblY,X           
 3850 | 19                guard_1800.s    213 | Code        | 11 |         |    3 | 00/0D96 : BD 9D 73    |                          LDA     LootInitMap,X        
 3851 | 19                guard_1800.s    214 | Code        | 11 |         |    3 | 00/0D99 : 9D 7D 73    |                          STA     LootTblMap,X         
 3852 | 19                guard_1800.s    215 | Code        | 11 |         |    1 | 00/0D9C : CA          |                          DEX                          
 3853 | 19                guard_1800.s    216 | Code        | 11 |         |    2 | 00/0D9D : 10 E6       |                          BPL     ozunid_24            
 3854 | 19                guard_1800.s    217 | Code        | 11 |         |    2 | 00/0D9F : A9 FF       |                          LDA     #{$FF}               
 3855 | 19                guard_1800.s    218 | Code        | 11 |         |    2 | 00/0DA1 : 85 6E       |                          STA     {$6E}                
 3856 | 19                guard_1800.s    219 | Code        | 11 |         |    2 | 00/0DA3 : 64 6F       |                          STZ     {$6F}                
 3857 | 19                guard_1800.s    220 | Code        | 11 |         |    3 | 00/0DA5 : 20 0A 66    |                          JSR     _SleepAllLoot        
 3858 | 19                guard_1800.s    221 | Code        | 11 |         |    2 | 00/0DA8 : A9 FF       |                          LDA     #$FF                 
 3859 | 19                guard_1800.s    222 | Code        | 11 |         |    2 | 00/0DAA : 85 4C       |                          STA     {$4C}                
 3860 | 19                guard_1800.s    223 | Code        | 11 |         |    3 | 00/0DAC : 8D 1E 03    |                          STA     {$031C}+2            
 3861 | 19                guard_1800.s    224 | Code        | 11 |         |    3 | 00/0DAF : 8D 21 03    |                          STA     {$031F}+2            
 3862 | 19                guard_1800.s    225 | Code        | 11 |         |    2 | 00/0DB2 : A2 02       |                          LDX     #{3}-1               
 3863 | 19                guard_1800.s    226 | Code        | 11 |         |    1 | 00/0DB4 : 8A          | _initGL                  TXA                          
 3864 | 19                guard_1800.s    227 | Code        | 11 |         |    2 | 00/0DB5 : 85 1A       |                          STA     {$1A}                
 3865 | 19                guard_1800.s    228 | Code        | 11 |         |    1 | 00/0DB7 : 0A          |                          ASL                          
 3866 | 19                guard_1800.s    229 | Code        | 11 |         |    1 | 00/0DB8 : 18          |                          CLC                          
 3867 | 19                guard_1800.s    230 | Code        | 11 |         |    2 | 00/0DB9 : 65 1A       |                          ADC     {$1A}                
 3868 | 19                guard_1800.s    231 | Code        | 11 |         |    1 | 00/0DBB : A8          |                          TAY                          
 3869 | 19                guard_1800.s    232 | Code        | 11 |         |    2 | 00/0DBC : A9 FF       |                          LDA     #$FF                 
 3870 | 19                guard_1800.s    233 | Code        | 11 |         |    3 | 00/0DBE : 99 24 03    |                          STA     {$0322}+2,Y          
 3871 | 19                guard_1800.s    234 | Code        | 11 |         |    3 | 00/0DC1 : 99 2D 03    |                          STA     {$032B}+2,Y          
 3872 | 19                guard_1800.s    235 | Code        | 11 |         |    1 | 00/0DC4 : CA          |                          DEX                          
 3873 | 19                guard_1800.s    236 | Code        | 11 |         |    2 | 00/0DC5 : 10 ED       |                          BPL     _initGL              
 3874 | 19                guard_1800.s    237 | Code        | 11 |         |    3 | 00/0DC7 : 9C B3 11    |                          STZ     PlayerHasPickaxe     
 3875 | 19                guard_1800.s    238 | Code        | 11 |         |    3 | 00/0DCA : 9C B4 11    |                          STZ     PickaxeTimer         
 3876 | 19                guard_1800.s    239 | Code        | 11 |         |    3 | 00/0DCD : 9C B5 11    |                          STZ     PickaxeRespawnTmr    
 3877 | 19                guard_1800.s    240 | Code        | 11 |         |    1 | 00/0DD0 : 60          |                          RTS                          
 3878 | 19                guard_1800.s    241 | Empty       | 11 |         |    0 | 00/0DD1               |                                                       
 3879 | 19                guard_1800.s    242 | Comment     | 11 |         |    0 | 00/0DD1               | *----------------------------------------------
 3880 | 19                guard_1800.s    243 | Comment     | 11 |         |    0 | 00/0DD1               | * _PickaxeCarryFrame - DrawCarried helper: pick the pickaxe carry
 3881 | 19                guard_1800.s    244 | Comment     | 11 |         |    0 | 00/0DD1               | * frame based on PlayerDir + PlayerAnim bit 2 so the swing matches
 3882 | 19                guard_1800.s    245 | Comment     | 11 |         |    0 | 00/0DD1               | * the walk cadence. Returns frame in A.
 3883 | 19                guard_1800.s    246 | Comment     | 11 |         |    0 | 00/0DD1               | *----------------------------------------------
 3884 | 19                guard_1800.s    247 | Empty       | 11 |         |    0 | 00/0DD1               | _PickaxeCarryFrame                                    
 3885 | 19                guard_1800.s    248 | Code        | 11 |         |    2 | 00/0DD1 : A5 73       |                          LDA     {$73}                
 3886 | 19                guard_1800.s    249 | Code        | 11 |         |    2 | 00/0DD3 : D0 0C       |                          BNE     _pcfL                
 3887 | 19                guard_1800.s    250 | Code        | 11 |         |    2 | 00/0DD5 : A5 75       |                          LDA     {$75}                
 3888 | 19                guard_1800.s    251 | Code        | 11 |         |    2 | 00/0DD7 : 29 04       |                          AND     #$04                 
 3889 | 19                guard_1800.s    252 | Code        | 11 |         |    2 | 00/0DD9 : F0 03       |                          BEQ     _pcfR1               
 3890 | 19                guard_1800.s    253 | Code        | 11 |         |    2 | 00/0DDB : A9 1A       |                          LDA     #{26}                
 3891 | 19                guard_1800.s    254 | Code        | 11 |         |    1 | 00/0DDD : 60          |                          RTS                          
 3892 | 19                guard_1800.s    255 | Code        | 11 |         |    2 | 00/0DDE : A9 19       | _pcfR1                   LDA     #{25}                
 3893 | 19                guard_1800.s    256 | Code        | 11 |         |    1 | 00/0DE0 : 60          |                          RTS                          
 3894 | 19                guard_1800.s    257 | Code        | 11 |         |    2 | 00/0DE1 : A5 75       | _pcfL                    LDA     {$75}                
 3895 | 19                guard_1800.s    258 | Code        | 11 |         |    2 | 00/0DE3 : 29 04       |                          AND     #$04                 
 3896 | 19                guard_1800.s    259 | Code        | 11 |         |    2 | 00/0DE5 : F0 03       |                          BEQ     _pcfL1               
 3897 | 19                guard_1800.s    260 | Code        | 11 |         |    2 | 00/0DE7 : A9 29       |                          LDA     #{41}                
 3898 | 19                guard_1800.s    261 | Code        | 11 |         |    1 | 00/0DE9 : 60          |                          RTS                          
 3899 | 19                guard_1800.s    262 | Code        | 11 |         |    2 | 00/0DEA : A9 28       | _pcfL1                   LDA     #{40}                
 3900 | 19                guard_1800.s    263 | Code        | 11 |         |    1 | 00/0DEC : 60          |                          RTS                          
 3901 | 19                guard_1800.s    264 | Empty       | 11 |         |    0 | 00/0DED               |                                                       
 3902 | 19                guard_1800.s    265 | Comment     | 11 |         |    0 | 00/0DED               | *----------------------------------------------
 3903 | 19                guard_1800.s    266 | Comment     | 11 |         |    0 | 00/0DED               | * HandleGuardHit - tail-called from CheckGuardHit (LC2) when the
 3904 | 19                guard_1800.s    267 | Comment     | 11 |         |    0 | 00/0DED               | * player sprite overlapped a live guard. Picks pickaxe-strike when
 3905 | 19                guard_1800.s    268 | Comment     | 11 |         |    0 | 00/0DED               | * armed, otherwise falls into LoseLife. X = guard index.
 3906 | 19                guard_1800.s    269 | Comment     | 11 |         |    0 | 00/0DED               | *----------------------------------------------
 3907 | 19                guard_1800.s    270 | Empty       | 11 |         |    0 | 00/0DED               | HandleGuardHit                                        
 3908 | 19                guard_1800.s    271 | Code        | 11 |         |    2 | 00/0DED : 64 7A       |                          STZ     {$7A}                
 3909 | 19                guard_1800.s    272 | Code        | 11 |         |    3 | 00/0DEF : AD B3 11    |                          LDA     PlayerHasPickaxe     
 3910 | 19                guard_1800.s    273 | Code        | 11 |         |    2 | 00/0DF2 : D0 03       |                          BNE     _hghStrike           
 3911 | 19                guard_1800.s    274 | Code        | 11 |         |    3 | 00/0DF4 : 4C 13 68    |                          JMP     LoseLife             
 3912 | 19                guard_1800.s    275 | Empty       | 11 |         |    0 | 00/0DF7               | _hghStrike                                            
 3913 | 19                guard_1800.s    276 | Comment     | 11 |         |    0 | 00/0DF7               | * Fall through into PickaxeStrike.
 3914 | 19                guard_1800.s    277 | Empty       | 11 |         |    0 | 00/0DF7               |                                                       
 3915 | 19                guard_1800.s    278 | Comment     | 11 |         |    0 | 00/0DF7               | *----------------------------------------------
 3916 | 19                guard_1800.s    279 | Comment     | 11 |         |    0 | 00/0DF7               | * PickaxeStrike - Stun the hit guard and consume the pickaxe.
 3917 | 19                guard_1800.s    280 | Comment     | 11 |         |    0 | 00/0DF7               | * In:  X = guard index (0..GuardActiveCount-1).
 3918 | 19                guard_1800.s    281 | Comment     | 11 |         |    0 | 00/0DF7               | * Out: RTS to CheckGuardHit's caller (tail-call chain).
 3919 | 19                guard_1800.s    282 | Comment     | 11 |         |    0 | 00/0DF7               | *----------------------------------------------
 3920 | 19                guard_1800.s    283 | Empty       | 11 |         |    0 | 00/0DF7               | PickaxeStrike                                         
 3921 | 19                guard_1800.s    284 | Code        | 11 |         |    2 | 00/0DF7 : A9 03       |                          LDA     #{3}                 
 3922 | 19                guard_1800.s    285 | Code        | 11 |         |    3 | 00/0DF9 : 9D 91 11    |                          STA     GuardTblSt,X         
 3923 | 19                guard_1800.s    286 | Code        | 11 |         |    3 | 00/0DFC : AD CB 11    |                          LDA     StunDuration         
 3924 | 19                guard_1800.s    287 | Code        | 11 |         |    3 | 00/0DFF : 9D 9D 11    |                          STA     GuardStunTmr,X       
 3925 | 19                guard_1800.s    288 | Code        | 11 |         |    3 | 00/0E02 : 9E 9A 11    |                          STZ     GuardTblAnim,X       
 3926 | 19                guard_1800.s    289 | Comment     | 11 |         |    0 | 00/0E05               | * Consume the pickaxe — one swing, one stun (arcade feel).
 3927 | 19                guard_1800.s    290 | Code        | 11 |         |    3 | 00/0E05 : 9C B3 11    |                          STZ     PlayerHasPickaxe     
 3928 | 19                guard_1800.s    291 | Code        | 11 |         |    3 | 00/0E08 : 9C B4 11    |                          STZ     PickaxeTimer         
 3929 | 19                guard_1800.s    292 | Code        | 11 |         |    2 | 00/0E0B : A9 04       |                          LDA     #{4}                 
 3930 | 19                guard_1800.s    293 | Code        | 11 |         |    3 | 00/0E0D : 8D 84 73    |                          STA     LootTblSt+{3}        
 3931 | 19                guard_1800.s    294 | Code        | 11 |         |    2 | 00/0E10 : A5 6E       |                          LDA     {$6E}                
 3932 | 19                guard_1800.s    295 | Code        | 11 |         |    2 | 00/0E12 : C9 03       |                          CMP     #{3}                 
 3933 | 19                guard_1800.s    296 | Code        | 11 |         |    2 | 00/0E14 : D0 07       |                          BNE     _psNotCar            
 3934 | 19                guard_1800.s    297 | Code        | 11 |         |    2 | 00/0E16 : A9 FF       |                          LDA     #{$FF}               
 3935 | 19                guard_1800.s    298 | Code        | 11 |         |    2 | 00/0E18 : 85 6E       |                          STA     {$6E}                
 3936 | 19                guard_1800.s    299 | Code        | 11 |         |    3 | 00/0E1A : 20 A1 73    |                          JSR     SetPlayerCarrySpeed  
 3937 | 19                guard_1800.s    300 | Empty       | 11 |         |    0 | 00/0E1D               | _psNotCar                                             
 3938 | 19                guard_1800.s    301 | Code        | 11 |         |    2 | 00/0E1D : A9 C8       |                          LDA     #{200}               
 3939 | 19                guard_1800.s    302 | Code        | 11 |         |    3 | 00/0E1F : 8D B5 11    |                          STA     PickaxeRespawnTmr    
 3940 | 19                guard_1800.s    303 | Code        | 11 |         |    2 | 00/0E22 : A9 01       |                          LDA     #1                   
 3941 | 19                guard_1800.s    304 | Code        | 11 |         |    2 | 00/0E24 : 85 6F       |                          STA     {$6F}                
 3942 | 19                guard_1800.s    305 | Code        | 11 |         |    2 | 00/0E26 : 85 48       |                          STA     {$48}                
 3943 | 19                guard_1800.s    306 | Code        | 11 |         |    2 | 00/0E28 : A9 02       |                          LDA     #2                   
 3944 | 19                guard_1800.s    307 | Code        | 11 |         |    3 | 00/0E2A : 8D 94 73    |                          STA     LootTblWake+{3}      
 3945 | 19                guard_1800.s    308 | Code        | 11 |         |    1 | 00/0E2D : 60          |                          RTS                          
 3946 | 19                guard_1800.s    309 | Empty       | 11 |         |    0 | 00/0E2E               |                                                       
 3947 | 19                guard_1800.s    310 | Comment     | 11 |         |    0 | 00/0E2E               | *----------------------------------------------
 3948 | 19                guard_1800.s    311 | Comment     | 11 |         |    0 | 00/0E2E               | * TickPickaxe - Per-frame pickaxe state machine.
 3949 | 19                guard_1800.s    312 | Comment     | 11 |         |    0 | 00/0E2E               | *
 3950 | 19                guard_1800.s    313 | Comment     | 11 |         |    0 | 00/0E2E               | * While PickaxeTimer > 0: decrement (paused on ladder per spec).
 3951 | 19                guard_1800.s    314 | Comment     | 11 |         |    0 | 00/0E2E               | * On reach-0 while carried: consume the pickaxe — disarm, release
 3952 | 19                guard_1800.s    315 | Comment     | 11 |         |    0 | 00/0E2E               | * the carry slot, move the loot row to LST_HIDDEN, start respawn.
 3953 | 19                guard_1800.s    316 | Comment     | 11 |         |    0 | 00/0E2E               | *
 3954 | 19                guard_1800.s    317 | Comment     | 11 |         |    0 | 00/0E2E               | * While PickaxeRespawnTmr > 0: decrement. On reach-0: respawn the
 3955 | 19                guard_1800.s    318 | Comment     | 11 |         |    0 | 00/0E2E               | * pickaxe at its init position in LST_GROUND.
 3956 | 19                guard_1800.s    319 | Comment     | 11 |         |    0 | 00/0E2E               | *
 3957 | 19                guard_1800.s    320 | Comment     | 11 |         |    0 | 00/0E2E               | * Called from MainLoop each frame. No register contract.
 3958 | 19                guard_1800.s    321 | Comment     | 11 |         |    0 | 00/0E2E               | *----------------------------------------------
 3959 | 19                guard_1800.s    322 | Empty       | 11 |         |    0 | 00/0E2E               | TickPickaxe                                           
 3960 | 19                guard_1800.s    323 | Code        | 11 |         |    3 | 00/0E2E : AD B4 11    |                          LDA     PickaxeTimer         
 3961 | 19                guard_1800.s    324 | Code        | 11 |         |    2 | 00/0E31 : F0 2E       |                          BEQ     _tpChkRsp            ; not armed / already expired
 3962 | 19                guard_1800.s    325 | Code        | 11 |         |    2 | 00/0E33 : A5 74       |                          LDA     {$74}                
 3963 | 19                guard_1800.s    326 | Code        | 11 |         |    2 | 00/0E35 : C9 02       |                          CMP     #{2}                 
 3964 | 19                guard_1800.s    327 | Code        | 11 |         |    2 | 00/0E37 : F0 28       |                          BEQ     _tpChkRsp            ; on ladder: pause per spec
 3965 | 19                guard_1800.s    328 | Code        | 11 |         |    3 | 00/0E39 : CE B4 11    |                          DEC     PickaxeTimer         
 3966 | 19                guard_1800.s    329 | Code        | 11 |         |    2 | 00/0E3C : D0 23       |                          BNE     _tpChkRsp            ; still running
 3967 | 19                guard_1800.s    330 | Comment     | 11 |         |    0 | 00/0E3E               | * Hold timer just expired → consume the pickaxe.
 3968 | 19                guard_1800.s    331 | Code        | 11 |         |    3 | 00/0E3E : 9C B3 11    |                          STZ     PlayerHasPickaxe     
 3969 | 19                guard_1800.s    332 | Code        | 11 |         |    2 | 00/0E41 : A9 04       |                          LDA     #{4}                 
 3970 | 19                guard_1800.s    333 | Code        | 11 |         |    3 | 00/0E43 : 8D 84 73    |                          STA     LootTblSt+{3}        
 3971 | 19                guard_1800.s    334 | Code        | 11 |         |    2 | 00/0E46 : A5 6E       |                          LDA     {$6E}                
 3972 | 19                guard_1800.s    335 | Code        | 11 |         |    2 | 00/0E48 : C9 03       |                          CMP     #{3}                 
 3973 | 19                guard_1800.s    336 | Code        | 11 |         |    2 | 00/0E4A : D0 07       |                          BNE     _tpNotCar            
 3974 | 19                guard_1800.s    337 | Code        | 11 |         |    2 | 00/0E4C : A9 FF       |                          LDA     #{$FF}               
 3975 | 19                guard_1800.s    338 | Code        | 11 |         |    2 | 00/0E4E : 85 6E       |                          STA     {$6E}                
 3976 | 19                guard_1800.s    339 | Code        | 11 |         |    3 | 00/0E50 : 20 A1 73    |                          JSR     SetPlayerCarrySpeed  
 3977 | 19                guard_1800.s    340 | Empty       | 11 |         |    0 | 00/0E53               | _tpNotCar                                             
 3978 | 19                guard_1800.s    341 | Code        | 11 |         |    2 | 00/0E53 : A9 C8       |                          LDA     #{200}               
 3979 | 19                guard_1800.s    342 | Code        | 11 |         |    3 | 00/0E55 : 8D B5 11    |                          STA     PickaxeRespawnTmr    
 3980 | 19                guard_1800.s    343 | Code        | 11 |         |    2 | 00/0E58 : A9 01       |                          LDA     #1                   
 3981 | 19                guard_1800.s    344 | Code        | 11 |         |    2 | 00/0E5A : 85 6F       |                          STA     {$6F}                ; carried sprite needs erase
 3982 | 19                guard_1800.s    345 | Code        | 11 |         |    2 | 00/0E5C : A9 02       |                          LDA     #2                   
 3983 | 19                guard_1800.s    346 | Code        | 11 |         |    3 | 00/0E5E : 8D 94 73    |                          STA     LootTblWake+{3}      
 3984 | 19                guard_1800.s    347 | Empty       | 11 |         |    0 | 00/0E61               | _tpChkRsp                                             
 3985 | 19                guard_1800.s    348 | Code        | 11 |         |    3 | 00/0E61 : AD B5 11    |                          LDA     PickaxeRespawnTmr    
 3986 | 19                guard_1800.s    349 | Code        | 11 |         |    2 | 00/0E64 : F0 25       |                          BEQ     _tpDone              
 3987 | 19                guard_1800.s    350 | Code        | 11 |         |    3 | 00/0E66 : CE B5 11    |                          DEC     PickaxeRespawnTmr    
 3988 | 19                guard_1800.s    351 | Code        | 11 |         |    2 | 00/0E69 : D0 20       |                          BNE     _tpDone              
 3989 | 19                guard_1800.s    352 | Comment     | 11 |         |    0 | 00/0E6B               | * Respawn: put pickaxe back on the ground.
 3990 | 19                guard_1800.s    353 | Code        | 11 |         |    3 | 00/0E6B : AD 98 73    |                          LDA     LootInitX+{3}        
 3991 | 19                guard_1800.s    354 | Code        | 11 |         |    3 | 00/0E6E : 8D 78 73    |                          STA     LootTblX+{3}         
 3992 | 19                guard_1800.s    355 | Code        | 11 |         |    3 | 00/0E71 : AD 9C 73    |                          LDA     LootInitY+{3}        
 3993 | 19                guard_1800.s    356 | Code        | 11 |         |    3 | 00/0E74 : 8D 7C 73    |                          STA     LootTblY+{3}         
 3994 | 19                guard_1800.s    357 | Code        | 11 |         |    3 | 00/0E77 : AD A0 73    |                          LDA     LootInitMap+{3}      
 3995 | 19                guard_1800.s    358 | Code        | 11 |         |    3 | 00/0E7A : 8D 80 73    |                          STA     LootTblMap+{3}       
 3996 | 19                guard_1800.s    359 | Code        | 11 |         |    2 | 00/0E7D : A9 00       |                          LDA     #{0}                 
 3997 | 19                guard_1800.s    360 | Code        | 11 |         |    3 | 00/0E7F : 8D 84 73    |                          STA     LootTblSt+{3}        
 3998 | 19                guard_1800.s    361 | Code        | 11 |         |    2 | 00/0E82 : A9 01       |                          LDA     #1                   
 3999 | 19                guard_1800.s    362 | Code        | 11 |         |    2 | 00/0E84 : 85 6F       |                          STA     {$6F}                
 4000 | 19                guard_1800.s    363 | Code        | 11 |         |    2 | 00/0E86 : A9 02       |                          LDA     #2                   
 4001 | 19                guard_1800.s    364 | Code        | 11 |         |    3 | 00/0E88 : 8D 94 73    |                          STA     LootTblWake+{3}      
 4002 | 19                guard_1800.s    365 | Code        | 11 |         |    1 | 00/0E8B : 60          | _tpDone                  RTS                          
 4003 | 19                guard_1800.s    366 | Empty       | 11 |         |    0 | 00/0E8C               |                                                       
 4004 | 19                guard_1800.s    367 | Comment     | 11 |         |    0 | 00/0E8C               | *----------------------------------------------
 4005 | 19                guard_1800.s    368 | Comment     | 11 |         |    0 | 00/0E8C               | * DrawGroundPickaxe - Render the pickaxe on the ground when it's
 4006 | 19                guard_1800.s    369 | Comment     | 11 |         |    0 | 00/0E8C               | * visible on the current map. Tracks its drawn position in the
 4007 | 19                guard_1800.s    370 | Comment     | 11 |         |    0 | 00/0E8C               | * dedicated PickOldP0/P1 slots (bag old-pos buffers have no room).
 4008 | 19                guard_1800.s    371 | Comment     | 11 |         |    0 | 00/0E8C               | * Tail-called from DrawGroundLoot after the 3 bag slots are drawn.
 4009 | 19                guard_1800.s    372 | Comment     | 11 |         |    0 | 00/0E8C               | *----------------------------------------------
 4010 | 19                guard_1800.s    373 | Empty       | 11 |         |    0 | 00/0E8C               | DrawGroundPickaxe                                     
 4011 | 19                guard_1800.s    374 | Code        | 11 |         |    3 | 00/0E8C : AD 84 73    |                          LDA     LootTblSt+{3}        
 4012 | 19                guard_1800.s    375 | Code        | 11 |         |    2 | 00/0E8F : D0 53       |                          BNE     _dgpMark             ; carried / collected → don't draw
 4013 | 19                guard_1800.s    376 | Code        | 11 |         |    3 | 00/0E91 : AD 80 73    |                          LDA     LootTblMap+{3}       
 4014 | 19                guard_1800.s    377 | Code        | 11 |         |    2 | 00/0E94 : C5 1C       |                          CMP     {$1C}                
 4015 | 19                guard_1800.s    378 | Code        | 11 |         |    2 | 00/0E96 : D0 4C       |                          BNE     _dgpMark             ; wrong map
 4016 | 19                guard_1800.s    379 | Code        | 11 |         |    3 | 00/0E98 : AD 94 73    |                          LDA     LootTblWake+{3}      
 4017 | 19                guard_1800.s    380 | Code        | 11 |         |    2 | 00/0E9B : D0 06       |                          BNE     _dgpDraw             
 4018 | 19                guard_1800.s    381 | Code        | 11 |         |    2 | 00/0E9D : A5 EE       |                          LDA     {$EE}                
 4019 | 19                guard_1800.s    382 | Code        | 11 |         |    2 | 00/0E9F : 29 08       |                          AND     #$08                 ; pickaxe bit
 4020 | 19                guard_1800.s    383 | Code        | 11 |         |    2 | 00/0EA1 : F0 4E       |                          BEQ     _dgpDone             ; sleeping + undamaged: nothing to do
 4021 | 19                guard_1800.s    384 | Empty       | 11 |         |    0 | 00/0EA3               | _dgpDraw                                              
 4022 | 19                guard_1800.s    385 | Code        | 11 |         |    3 | 00/0EA3 : AD 78 73    |                          LDA     LootTblX+{3}         
 4023 | 19                guard_1800.s    386 | Code        | 11 |         |    2 | 00/0EA6 : 85 14       |                          STA     {$14}                
 4024 | 19                guard_1800.s    387 | Code        | 11 |         |    3 | 00/0EA8 : AD 7C 73    |                          LDA     LootTblY+{3}         
 4025 | 19                guard_1800.s    388 | Code        | 11 |         |    2 | 00/0EAB : 85 15       |                          STA     {$15}                
 4026 | 19                guard_1800.s    389 | Code        | 11 |         |    2 | 00/0EAD : A9 1B       |                          LDA     #{27}                
 4027 | 19                guard_1800.s    390 | Code        | 11 |         |    2 | 00/0EAF : 85 16       |                          STA     {$16}                
 4028 | 19                guard_1800.s    391 | Code        | 11 |         |    3 | 00/0EB1 : 20 AB 7E    |                          JSR     DrawSprite           
 4029 | 19                guard_1800.s    392 | Code        | 11 |         |    3 | 00/0EB4 : AD 94 73    |                          LDA     LootTblWake+{3}      
 4030 | 19                guard_1800.s    393 | Code        | 11 |         |    2 | 00/0EB7 : F0 03       |                          BEQ     _dgpSave             
 4031 | 19                guard_1800.s    394 | Code        | 11 |         |    3 | 00/0EB9 : CE 94 73    |                          DEC     LootTblWake+{3}      
 4032 | 19                guard_1800.s    395 | Code        | 11 |         |    2 | 00/0EBC : A5 1E       | _dgpSave                 LDA     {$1E}                
 4033 | 19                guard_1800.s    396 | Code        | 11 |         |    2 | 00/0EBE : D0 12       |                          BNE     _dgpP1               
 4034 | 19                guard_1800.s    397 | Code        | 11 |         |    3 | 00/0EC0 : AD 78 73    |                          LDA     LootTblX+{3}         
 4035 | 19                guard_1800.s    398 | Code        | 11 |         |    3 | 00/0EC3 : 8D B6 11    |                          STA     PickOldP0            
 4036 | 19                guard_1800.s    399 | Code        | 11 |         |    3 | 00/0EC6 : AD 7C 73    |                          LDA     LootTblY+{3}         
 4037 | 19                guard_1800.s    400 | Code        | 11 |         |    3 | 00/0EC9 : 8D B7 11    |                          STA     PickOldP0+1          
 4038 | 19                guard_1800.s    401 | Code        | 11 |         |    2 | 00/0ECC : A9 1B       |                          LDA     #{27}                
 4039 | 19                guard_1800.s    402 | Code        | 11 |         |    3 | 00/0ECE : 8D B8 11    |                          STA     PickOldP0+2          
 4040 | 19                guard_1800.s    403 | Code        | 11 |         |    1 | 00/0ED1 : 60          |                          RTS                          
 4041 | 19                guard_1800.s    404 | Code        | 11 |         |    3 | 00/0ED2 : AD 78 73    | _dgpP1                   LDA     LootTblX+{3}         
 4042 | 19                guard_1800.s    405 | Code        | 11 |         |    3 | 00/0ED5 : 8D B9 11    |                          STA     PickOldP1            
 4043 | 19                guard_1800.s    406 | Code        | 11 |         |    3 | 00/0ED8 : AD 7C 73    |                          LDA     LootTblY+{3}         
 4044 | 19                guard_1800.s    407 | Code        | 11 |         |    3 | 00/0EDB : 8D BA 11    |                          STA     PickOldP1+1          
 4045 | 19                guard_1800.s    408 | Code        | 11 |         |    2 | 00/0EDE : A9 1B       |                          LDA     #{27}                
 4046 | 19                guard_1800.s    409 | Code        | 11 |         |    3 | 00/0EE0 : 8D BB 11    |                          STA     PickOldP1+2          
 4047 | 19                guard_1800.s    410 | Code        | 11 |         |    1 | 00/0EE3 : 60          |                          RTS                          
 4048 | 19                guard_1800.s    411 | Empty       | 11 |         |    0 | 00/0EE4               | _dgpMark                                              
 4049 | 19                guard_1800.s    412 | Code        | 11 |         |    2 | 00/0EE4 : A9 FF       |                          LDA     #$FF                 
 4050 | 19                guard_1800.s    413 | Code        | 11 |         |    2 | 00/0EE6 : A4 1E       |                          LDY     {$1E}                
 4051 | 19                guard_1800.s    414 | Code        | 11 |         |    2 | 00/0EE8 : D0 04       |                          BNE     _dgpMP1              
 4052 | 19                guard_1800.s    415 | Code        | 11 |         |    3 | 00/0EEA : 8D B8 11    |                          STA     PickOldP0+2          ; mark "nothing drawn" on page 0
 4053 | 19                guard_1800.s    416 | Code        | 11 |         |    1 | 00/0EED : 60          |                          RTS                          
 4054 | 19                guard_1800.s    417 | Code        | 11 |         |    3 | 00/0EEE : 8D BB 11    | _dgpMP1                  STA     PickOldP1+2          
 4055 | 19                guard_1800.s    418 | Code        | 11 |         |    1 | 00/0EF1 : 60          | _dgpDone                 RTS                          
 4056 | 19                guard_1800.s    419 | Empty       | 11 |         |    0 | 00/0EF2               |                                                       
 4057 | 19                guard_1800.s    420 | Comment     | 11 |         |    0 | 00/0EF2               | *----------------------------------------------
 4058 | 19                guard_1800.s    421 | Comment     | 11 |         |    0 | 00/0EF2               | * EraseGroundPickaxe - Restore tiles under the pickaxe's last drawn
 4059 | 19                guard_1800.s    422 | Comment     | 11 |         |    0 | 00/0EF2               | * position (per-page). Tail-called from EraseGroundLoot.
 4060 | 19                guard_1800.s    423 | Comment     | 11 |         |    0 | 00/0EF2               | *----------------------------------------------
 4061 | 19                guard_1800.s    424 | Empty       | 11 |         |    0 | 00/0EF2               | EraseGroundPickaxe                                    
 4062 | 19                guard_1800.s    425 | Code        | 11 |         |    3 | 00/0EF2 : AD 94 73    |                          LDA     LootTblWake+{3}      
 4063 | 19                guard_1800.s    426 | Code        | 11 |         |    2 | 00/0EF5 : F0 30       |                          BEQ     _egpDone             ; sleeping: don't erase
 4064 | 19                guard_1800.s    427 | Code        | 11 |         |    2 | 00/0EF7 : A5 1E       |                          LDA     {$1E}                
 4065 | 19                guard_1800.s    428 | Code        | 11 |         |    2 | 00/0EF9 : D0 16       |                          BNE     _egpP1               
 4066 | 19                guard_1800.s    429 | Code        | 11 |         |    3 | 00/0EFB : AD B8 11    |                          LDA     PickOldP0+2          
 4067 | 19                guard_1800.s    430 | Code        | 11 |         |    2 | 00/0EFE : C9 FF       |                          CMP     #$FF                 
 4068 | 19                guard_1800.s    431 | Code        | 11 |         |    2 | 00/0F00 : F0 25       |                          BEQ     _egpDone             
 4069 | 19                guard_1800.s    432 | Code        | 11 |         |    2 | 00/0F02 : 85 16       |                          STA     {$16}                
 4070 | 19                guard_1800.s    433 | Code        | 11 |         |    3 | 00/0F04 : AD B6 11    |                          LDA     PickOldP0            
 4071 | 19                guard_1800.s    434 | Code        | 11 |         |    2 | 00/0F07 : 85 14       |                          STA     {$14}                
 4072 | 19                guard_1800.s    435 | Code        | 11 |         |    3 | 00/0F09 : AD B7 11    |                          LDA     PickOldP0+1          
 4073 | 19                guard_1800.s    436 | Code        | 11 |         |    2 | 00/0F0C : 85 15       |                          STA     {$15}                
 4074 | 19                guard_1800.s    437 | Code        | 11 |         |    3 | 00/0F0E : 4C 08 65    |                          JMP     EraseSpriteArea      
 4075 | 19                guard_1800.s    438 | Code        | 11 |         |    3 | 00/0F11 : AD BB 11    | _egpP1                   LDA     PickOldP1+2          
 4076 | 19                guard_1800.s    439 | Code        | 11 |         |    2 | 00/0F14 : C9 FF       |                          CMP     #$FF                 
 4077 | 19                guard_1800.s    440 | Code        | 11 |         |    2 | 00/0F16 : F0 0F       |                          BEQ     _egpDone             
 4078 | 19                guard_1800.s    441 | Code        | 11 |         |    2 | 00/0F18 : 85 16       |                          STA     {$16}                
 4079 | 19                guard_1800.s    442 | Code        | 11 |         |    3 | 00/0F1A : AD B9 11    |                          LDA     PickOldP1            
 4080 | 19                guard_1800.s    443 | Code        | 11 |         |    2 | 00/0F1D : 85 14       |                          STA     {$14}                
 4081 | 19                guard_1800.s    444 | Code        | 11 |         |    3 | 00/0F1F : AD BA 11    |                          LDA     PickOldP1+1          
 4082 | 19                guard_1800.s    445 | Code        | 11 |         |    2 | 00/0F22 : 85 15       |                          STA     {$15}                
 4083 | 19                guard_1800.s    446 | Code        | 11 |         |    3 | 00/0F24 : 4C 08 65    |                          JMP     EraseSpriteArea      
 4084 | 19                guard_1800.s    447 | Code        | 11 |         |    1 | 00/0F27 : 60          | _egpDone                 RTS                          
 4085 | 19                guard_1800.s    448 | Empty       | 11 |         |    0 | 00/0F28               |                                                       
 4086 |  1                    bagman.s     45 | Directive   | 11 |         |    0 | 00/0F28               |                          PUT     dhgr.s               
 4087 | 20                      dhgr.s      1 | Comment     | 11 |         |    0 | 00/0F28               | *
 4088 | 20                      dhgr.s      2 | Comment     | 11 |         |    0 | 00/0F28               | * Bagman - DHGR Graphics Routines
 4089 | 20                      dhgr.s      3 | Comment     | 11 |         |    0 | 00/0F28               | *
 4090 | 20                      dhgr.s      4 | Comment     | 11 |         |    0 | 00/0F28               | * Double Hi-Res Graphics primitives for Apple //e 128K
 4091 | 20                      dhgr.s      5 | Comment     | 11 |         |    0 | 00/0F28               | * DHGR uses aux $2000-$3FFF + main $2000-$3FFF
 4092 | 20                      dhgr.s      6 | Comment     | 11 |         |    0 | 00/0F28               | *
 4093 | 20                      dhgr.s      7 | Empty       | 11 |         |    0 | 00/0F28               |                                                       
 4094 | 20                      dhgr.s      8 | Comment     | 11 |         |    0 | 00/0F28               | *----------------------------------------------
 4095 | 20                      dhgr.s      9 | Comment     | 11 |         |    0 | 00/0F28               | * Soft switch addresses
 4096 | 20                      dhgr.s     10 | Comment     | 11 |         |    0 | 00/0F28               | *----------------------------------------------
 4097 | 20                      dhgr.s     11 | Equivalence | 11 |         |    0 | 00/0F28               | STORE80ON                =       $C001                ; enable 80STORE
 4098 | 20                      dhgr.s     12 | Equivalence | 11 |         |    0 | 00/0F28               | STORE80OFF               =       $C000                ; disable 80STORE
 4099 | 20                      dhgr.s     13 | Equivalence | 11 |         |    0 | 00/0F28               | RAMRDMAIN                =       $C002                ; read main memory
 4100 | 20                      dhgr.s     14 | Equivalence | 11 |         |    0 | 00/0F28               | RAMRDAUX                 =       $C003                ; read aux memory
 4101 | 20                      dhgr.s     15 | Equivalence | 11 |         |    0 | 00/0F28               | RAMWRTMAIN               =       $C004                ; write main memory
 4102 | 20                      dhgr.s     16 | Equivalence | 11 |         |    0 | 00/0F28               | RAMWRTAUX                =       $C005                ; write aux memory
 4103 | 20                      dhgr.s     17 | Equivalence | 11 |         |    0 | 00/0F28               | PAGE1                    =       $C054                ; display page 1 / 80STORE: main
 4104 | 20                      dhgr.s     18 | Equivalence | 11 |         |    0 | 00/0F28               | PAGE2                    =       $C055                ; display page 2 / 80STORE: aux
 4105 | 20                      dhgr.s     19 | Equivalence | 11 |         |    0 | 00/0F28               | HIRESON                  =       $C057                ; hi-res mode on
 4106 | 20                      dhgr.s     20 | Equivalence | 11 |         |    0 | 00/0F28               | HIRESOFF                 =       $C056                ; hi-res mode off
 4107 | 20                      dhgr.s     21 | Equivalence | 11 |         |    0 | 00/0F28               | TEXTON                   =       $C051                ; text mode on
 4108 | 20                      dhgr.s     22 | Equivalence | 11 |         |    0 | 00/0F28               | TEXTOFF                  =       $C050                ; text mode off (graphics)
 4109 | 20                      dhgr.s     23 | Equivalence | 11 |         |    0 | 00/0F28               | MIXEDON                  =       $C053                ; mixed mode (4 lines text)
 4110 | 20                      dhgr.s     24 | Equivalence | 11 |         |    0 | 00/0F28               | MIXEDOFF                 =       $C052                ; full graphics
 4111 | 20                      dhgr.s     25 | Equivalence | 11 |         |    0 | 00/0F28               | AN3OFF                   =       $C05E                ; annunciator 3 off (DHGR on)
 4112 | 20                      dhgr.s     26 | Equivalence | 11 |         |    0 | 00/0F28               | AN3ON                    =       $C05F                ; annunciator 3 on (DHGR off)
 4113 | 20                      dhgr.s     27 | Equivalence | 11 |         |    0 | 00/0F28               | COL80ON                  =       $C00D                ; 80-column mode on
 4114 | 20                      dhgr.s     28 | Equivalence | 11 |         |    0 | 00/0F28               | COL80OFF                 =       $C00C                ; 80-column mode off
 4115 | 20                      dhgr.s     29 | Empty       | 11 |         |    0 | 00/0F28               |                                                       
 4116 | 20                      dhgr.s     30 | Equivalence | 11 |         |    0 | 00/0F28               | ALTZPOFF                 =       $C008                ; ZP+stack+LC = main
 4117 | 20                      dhgr.s     31 | Equivalence | 11 |         |    0 | 00/0F28               | ALTZPON                  =       $C009                ; ZP+stack+LC = aux
 4118 | 20                      dhgr.s     32 | Equivalence | 11 |         |    0 | 00/0F28               | SPEAKER                  =       $C030                ; speaker toggle
 4119 | 20                      dhgr.s     33 | Empty       | 11 |         |    0 | 00/0F28               |                                                       
 4120 | 20                      dhgr.s     34 | Comment     | 11 |         |    0 | 00/0F28               | *----------------------------------------------
 4121 | 20                      dhgr.s     35 | Comment     | 11 |         |    0 | 00/0F28               | * DHGRInit - Enable double hi-res graphics mode
 4122 | 20                      dhgr.s     36 | Comment     | 11 |         |    0 | 00/0F28               | *
 4123 | 20                      dhgr.s     37 | Comment     | 11 |         |    0 | 00/0F28               | * Sets up all soft switches for DHGR display
 4124 | 20                      dhgr.s     38 | Comment     | 11 |         |    0 | 00/0F28               | *----------------------------------------------
 4125 | 20                      dhgr.s     39 | Empty       | 11 |         |    0 | 00/0F28               | DHGRInit                                              
 4126 | 20                      dhgr.s     40 | Code        | 11 |         |    3 | 00/0F28 : 8D 0D C0    |                          STA     {$C00D}              ; 80-column mode (required for DHGR)
 4127 | 20                      dhgr.s     41 | Code        | 11 |         |    3 | 00/0F2B : 8D 00 C0    |                          STA     {$C000}              ; disable 80STORE (use RAMWRT for bank switching)
 4128 | 20                      dhgr.s     42 | Code        | 11 |         |    3 | 00/0F2E : 8D 50 C0    |                          STA     {$C050}              ; graphics mode
 4129 | 20                      dhgr.s     43 | Code        | 11 |         |    3 | 00/0F31 : 8D 52 C0    |                          STA     {$C052}              ; full screen (no text)
 4130 | 20                      dhgr.s     44 | Code        | 11 |         |    3 | 00/0F34 : 8D 57 C0    |                          STA     {$C057}              ; hi-res mode
 4131 | 20                      dhgr.s     45 | Code        | 11 |         |    3 | 00/0F37 : 8D 54 C0    |                          STA     {$C054}              ; display page 1
 4132 | 20                      dhgr.s     46 | Code        | 11 |         |    3 | 00/0F3A : 8D 5E C0    |                          STA     {$C05E}              ; enable double hi-res
 4133 | 20                      dhgr.s     47 | Code        | 11 |         |    2 | 00/0F3D : 64 1E       |                          STZ     {$1E}                ; draw to page 1 initially
 4134 | 20                      dhgr.s     48 | Code        | 11 |         |    1 | 00/0F3F : 60          |                          RTS                          
 4135 | 20                      dhgr.s     49 | Empty       | 11 |         |    0 | 00/0F40               |                                                       
 4136 | 20                      dhgr.s     50 | Comment     | 11 |         |    0 | 00/0F40               | *----------------------------------------------
 4137 | 20                      dhgr.s     51 | Comment     | 11 |         |    0 | 00/0F40               | * FlipPage - Swap display and draw pages
 4138 | 20                      dhgr.s     52 | Comment     | 11 |         |    0 | 00/0F40               | *
 4139 | 20                      dhgr.s     53 | Comment     | 11 |         |    0 | 00/0F40               | * Flips which page is displayed, sets PageOfs
 4140 | 20                      dhgr.s     54 | Comment     | 11 |         |    0 | 00/0F40               | * so subsequent rendering targets the other page.
 4141 | 20                      dhgr.s     55 | Comment     | 11 |         |    0 | 00/0F40               | *----------------------------------------------
 4142 | 20                      dhgr.s     56 | Comment     | 11 |         |    0 | 00/0F40               | *----------------------------------------------
 4143 | 20                      dhgr.s     57 | Comment     | 11 |         |    0 | 00/0F40               | * FlipPage - Swap display and draw pages
 4144 | 20                      dhgr.s     58 | Comment     | 11 |         |    0 | 00/0F40               | *----------------------------------------------
 4145 | 20                      dhgr.s     59 | Empty       | 11 |         |    0 | 00/0F40               | FlipPage                                              
 4146 | 20                      dhgr.s     60 | Code        | 11 |         |    2 | 00/0F40 : A5 1E       |                          LDA     {$1E}                
 4147 | 20                      dhgr.s     61 | Code        | 11 |         |    2 | 00/0F42 : D0 08       |                          BNE     _toPage1             
 4148 | 20                      dhgr.s     62 | Code        | 11 |         |    2 | 00/0F44 : A9 20       |                          LDA     #$20                 
 4149 | 20                      dhgr.s     63 | Code        | 11 |         |    2 | 00/0F46 : 85 1E       |                          STA     {$1E}                
 4150 | 20                      dhgr.s     64 | Code        | 11 |         |    3 | 00/0F48 : 8D 54 C0    |                          STA     {$C054}              ; display page 1, draw to page 2
 4151 | 20                      dhgr.s     65 | Code        | 11 |         |    1 | 00/0F4B : 60          |                          RTS                          
 4152 | 20                      dhgr.s     66 | Code        | 11 |         |    2 | 00/0F4C : 64 1E       | _toPage1                 STZ     {$1E}                
 4153 | 20                      dhgr.s     67 | Code        | 11 |         |    3 | 00/0F4E : 8D 55 C0    |                          STA     {$C055}              ; display page 2, draw to page 1
 4154 | 20                      dhgr.s     68 | Code        | 11 |         |    1 | 00/0F51 : 60          |                          RTS                          
 4155 | 20                      dhgr.s     69 | Empty       | 11 |         |    0 | 00/0F52               |                                                       
 4156 | 20                      dhgr.s     70 | Comment     | 11 |         |    0 | 00/0F52               | *----------------------------------------------
 4157 | 20                      dhgr.s     71 | Comment     | 11 |         |    0 | 00/0F52               | * InstallZPComposite - Copy composite routine to ZP $80 and ReadAuxByte
 4158 | 20                      dhgr.s     72 | Comment     | 11 |         |    0 | 00/0F52               | * trampoline to ZP $2A, in BOTH main and aux ZP. Aux-LC cold routines
 4159 | 20                      dhgr.s     73 | Comment     | 11 |         |    0 | 00/0F52               | * (font.s, fonttest.s via DrawSpriteSolid) execute with ALTZP on, so
 4160 | 20                      dhgr.s     74 | Comment     | 11 |         |    0 | 00/0F52               | * their JSR ZPComposite / JSR ReadAuxByte indirect through aux ZP.
 4161 | 20                      dhgr.s     75 | Comment     | 11 |         |    0 | 00/0F52               | *----------------------------------------------
 4162 | 20                      dhgr.s     76 | Empty       | 11 |         |    0 | 00/0F52               | InstallZPComposite                                    
 4163 | 20                      dhgr.s     77 | Code        | 11 |         |    3 | 00/0F52 : 20 5F 0F    |                          JSR     _instMain            
 4164 | 20                      dhgr.s     78 | Code        | 11 |         |    3 | 00/0F55 : 8D 09 C0    |                          STA     {$C009}              ; flip to aux ZP
 4165 | 20                      dhgr.s     79 | Code        | 11 |         |    3 | 00/0F58 : 20 5F 0F    |                          JSR     _instMain            ; same copies, now writing aux ZP
 4166 | 20                      dhgr.s     80 | Code        | 11 |         |    3 | 00/0F5B : 8D 08 C0    |                          STA     {$C008}              
 4167 | 20                      dhgr.s     81 | Code        | 11 |         |    1 | 00/0F5E : 60          |                          RTS                          
 4168 | 20                      dhgr.s     82 | Empty       | 11 |         |    0 | 00/0F5F               | _instMain                                             
 4169 | 20                      dhgr.s     83 | Code        | 11 |         |    2 | 00/0F5F : A2 00       |                          LDX     #0                   
 4170 | 20                      dhgr.s     84 | Code        | 11 |         |    3 | 00/0F61 : BD 81 0F    | _cpZP                    LDA     _LCCompBytes,X       
 4171 | 20                      dhgr.s     85 | Code        | 11 |         |    2 | 00/0F64 : 95 80       |                          STA     {$80},X              
 4172 | 20                      dhgr.s     86 | Code        | 11 |         |    1 | 00/0F66 : E8          |                          INX                          
 4173 | 20                      dhgr.s     87 | Code        | 11 |         |    2 | 00/0F67 : E0 57       |                          CPX     #{ozunid_87-_LCCompBytes}
 4174 | 20                      dhgr.s     88 | Code        | 11 |         |    2 | 00/0F69 : D0 F6       |                          BNE     _cpZP                
 4175 | 20                      dhgr.s     89 | Code        | 11 |         |    2 | 00/0F6B : A2 00       |                          LDX     #0                   
 4176 | 20                      dhgr.s     90 | Code        | 11 |         |    3 | 00/0F6D : BD 78 0F    | _cpRAB                   LDA     _ReadAuxByteCode,X   
 4177 | 20                      dhgr.s     91 | Code        | 11 |         |    2 | 00/0F70 : 95 2A       |                          STA     {$2A},X              
 4178 | 20                      dhgr.s     92 | Code        | 11 |         |    1 | 00/0F72 : E8          |                          INX                          
 4179 | 20                      dhgr.s     93 | Code        | 11 |         |    2 | 00/0F73 : E0 09       |                          CPX     #{ozunid_86-_ReadAuxByteCode}
 4180 | 20                      dhgr.s     94 | Code        | 11 |         |    2 | 00/0F75 : D0 F6       |                          BNE     _cpRAB               
 4181 | 20                      dhgr.s     95 | Code        | 11 |         |    1 | 00/0F77 : 60          |                          RTS                          
 4182 | 20                      dhgr.s     96 | Empty       | 11 |         |    0 | 00/0F78               |                                                       
 4183 | 20                      dhgr.s     97 | Empty       | 11 |         |    0 | 00/0F78               | _ReadAuxByteCode                                      
 4184 | 20                      dhgr.s     98 | Data        | 11 |         |    3 | 00/0F78 : 8D 03 C0    |                          HEX     8D03C0               ; STA RAMRDAUX ($C003)
 4185 | 20                      dhgr.s     99 | Data        | 11 |         |    2 | 00/0F7B : B1 00       |                          HEX     B100                 ; LDA (ScreenPtr),Y
 4186 | 20                      dhgr.s    100 | Data        | 11 |         |    3 | 00/0F7D : 8D 02 C0    |                          HEX     8D02C0               ; STA RAMRDMAIN ($C002)
 4187 | 20                      dhgr.s    101 | Data        | 11 |         |    1 | 00/0F80 : 60          |                          HEX     60                   ; RTS
 4188 | 20                      dhgr.s    102 | Empty       | 11 |         |    0 | 00/0F81               | ozunid_86                                             
 4189 | 20                      dhgr.s    102 | Equivalence | 11 |         |    0 | 00/0F81               | _RABLen                  =       ozunid_86-_ReadAuxByteCode
 4190 | 20                      dhgr.s    103 | Empty       | 11 |         |    0 | 00/0F81               |                                                       
 4191 | 20                      dhgr.s    104 | Empty       | 11 |         |    0 | 00/0F81               |                                                       
 4192 | 20                      dhgr.s    105 | Comment     | 11 |         |    0 | 00/0F81               | * Composite routine bytes (position-independent, all ZP/abs addressing):
 4193 | 20                      dhgr.s    106 | Comment     | 11 |         |    0 | 00/0F81               | * Composites SprBuf/MskBuf onto screen via RAMRD/RAMWRT.
 4194 | 20                      dhgr.s    107 | Empty       | 11 |         |    0 | 00/0F81               | _LCCompBytes                                          
 4195 | 20                      dhgr.s    108 | Comment     | 11 |         |    0 | 00/0F81               | ; LDY $1B           ; Temp4 = screen byte column
 4196 | 20                      dhgr.s    109 | Data        | 11 |         |    2 | 00/0F81 : A4 1B       |                          HEX     A41B                 
 4197 | 20                      dhgr.s    110 | Comment     | 11 |         |    0 | 00/0F83               | ; STA $C003         ; RAMRDAUX
 4198 | 20                      dhgr.s    111 | Data        | 11 |         |    3 | 00/0F83 : 8D 03 C0    |                          HEX     8D03C0               
 4199 | 20                      dhgr.s    112 | Comment     | 11 |         |    0 | 00/0F86               | ; STA $C005         ; RAMWRTAUX
 4200 | 20                      dhgr.s    113 | Data        | 11 |         |    3 | 00/0F86 : 8D 05 C0    |                          HEX     8D05C0               
 4201 | 20                      dhgr.s    114 | Comment     | 11 |         |    0 | 00/0F89               | ; LDA ($00),Y       ; read aux byte 0
 4202 | 20                      dhgr.s    115 | Data        | 11 |         |    2 | 00/0F89 : B1 00       |                          HEX     B100                 
 4203 | 20                      dhgr.s    116 | Comment     | 11 |         |    0 | 00/0F8B               | ; AND $40            ; MskBuf+0
 4204 | 20                      dhgr.s    117 | Data        | 11 |         |    2 | 00/0F8B : 25 40       |                          HEX     2540                 
 4205 | 20                      dhgr.s    118 | Comment     | 11 |         |    0 | 00/0F8D               | ; ORA $38            ; SprBuf+0
 4206 | 20                      dhgr.s    119 | Data        | 11 |         |    2 | 00/0F8D : 05 38       |                          HEX     0538                 
 4207 | 20                      dhgr.s    120 | Comment     | 11 |         |    0 | 00/0F8F               | ; STA ($00),Y        ; write aux byte 0
 4208 | 20                      dhgr.s    121 | Data        | 11 |         |    2 | 00/0F8F : 91 00       |                          HEX     9100                 
 4209 | 20                      dhgr.s    122 | Comment     | 11 |         |    0 | 00/0F91               | ; INY
 4210 | 20                      dhgr.s    123 | Data        | 11 |         |    1 | 00/0F91 : C8          |                          HEX     C8                   
 4211 | 20                      dhgr.s    124 | Comment     | 11 |         |    0 | 00/0F92               | ; LDA ($00),Y
 4212 | 20                      dhgr.s    125 | Data        | 11 |         |    2 | 00/0F92 : B1 00       |                          HEX     B100                 
 4213 | 20                      dhgr.s    126 | Comment     | 11 |         |    0 | 00/0F94               | ; AND $42            ; MskBuf+2
 4214 | 20                      dhgr.s    127 | Data        | 11 |         |    2 | 00/0F94 : 25 42       |                          HEX     2542                 
 4215 | 20                      dhgr.s    128 | Comment     | 11 |         |    0 | 00/0F96               | ; ORA $3A            ; SprBuf+2
 4216 | 20                      dhgr.s    129 | Data        | 11 |         |    2 | 00/0F96 : 05 3A       |                          HEX     053A                 
 4217 | 20                      dhgr.s    130 | Comment     | 11 |         |    0 | 00/0F98               | ; STA ($00),Y
 4218 | 20                      dhgr.s    131 | Data        | 11 |         |    2 | 00/0F98 : 91 00       |                          HEX     9100                 
 4219 | 20                      dhgr.s    132 | Comment     | 11 |         |    0 | 00/0F9A               | ; INY
 4220 | 20                      dhgr.s    133 | Data        | 11 |         |    1 | 00/0F9A : C8          |                          HEX     C8                   
 4221 | 20                      dhgr.s    134 | Comment     | 11 |         |    0 | 00/0F9B               | ; LDA ($00),Y
 4222 | 20                      dhgr.s    135 | Data        | 11 |         |    2 | 00/0F9B : B1 00       |                          HEX     B100                 
 4223 | 20                      dhgr.s    136 | Comment     | 11 |         |    0 | 00/0F9D               | ; AND $44            ; MskBuf+4
 4224 | 20                      dhgr.s    137 | Data        | 11 |         |    2 | 00/0F9D : 25 44       |                          HEX     2544                 
 4225 | 20                      dhgr.s    138 | Comment     | 11 |         |    0 | 00/0F9F               | ; ORA $3C            ; SprBuf+4
 4226 | 20                      dhgr.s    139 | Data        | 11 |         |    2 | 00/0F9F : 05 3C       |                          HEX     053C                 
 4227 | 20                      dhgr.s    140 | Comment     | 11 |         |    0 | 00/0FA1               | ; STA ($00),Y
 4228 | 20                      dhgr.s    141 | Data        | 11 |         |    2 | 00/0FA1 : 91 00       |                          HEX     9100                 
 4229 | 20                      dhgr.s    142 | Comment     | 11 |         |    0 | 00/0FA3               | ; INY
 4230 | 20                      dhgr.s    143 | Data        | 11 |         |    1 | 00/0FA3 : C8          |                          HEX     C8                   
 4231 | 20                      dhgr.s    144 | Comment     | 11 |         |    0 | 00/0FA4               | ; LDA ($00),Y
 4232 | 20                      dhgr.s    145 | Data        | 11 |         |    2 | 00/0FA4 : B1 00       |                          HEX     B100                 
 4233 | 20                      dhgr.s    146 | Comment     | 11 |         |    0 | 00/0FA6               | ; AND $46            ; MskBuf+6
 4234 | 20                      dhgr.s    147 | Data        | 11 |         |    2 | 00/0FA6 : 25 46       |                          HEX     2546                 
 4235 | 20                      dhgr.s    148 | Comment     | 11 |         |    0 | 00/0FA8               | ; ORA $3E            ; SprBuf+6
 4236 | 20                      dhgr.s    149 | Data        | 11 |         |    2 | 00/0FA8 : 05 3E       |                          HEX     053E                 
 4237 | 20                      dhgr.s    150 | Comment     | 11 |         |    0 | 00/0FAA               | ; STA ($00),Y
 4238 | 20                      dhgr.s    151 | Data        | 11 |         |    2 | 00/0FAA : 91 00       |                          HEX     9100                 
 4239 | 20                      dhgr.s    152 | Comment     | 11 |         |    0 | 00/0FAC               | ; STA $C002         ; RAMRDMAIN
 4240 | 20                      dhgr.s    153 | Data        | 11 |         |    3 | 00/0FAC : 8D 02 C0    |                          HEX     8D02C0               
 4241 | 20                      dhgr.s    154 | Comment     | 11 |         |    0 | 00/0FAF               | ; STA $C004         ; RAMWRTMAIN
 4242 | 20                      dhgr.s    155 | Data        | 11 |         |    3 | 00/0FAF : 8D 04 C0    |                          HEX     8D04C0               
 4243 | 20                      dhgr.s    156 | Comment     | 11 |         |    0 | 00/0FB2               | ; LDY $1B           ; Temp4 again
 4244 | 20                      dhgr.s    157 | Data        | 11 |         |    2 | 00/0FB2 : A4 1B       |                          HEX     A41B                 
 4245 | 20                      dhgr.s    158 | Comment     | 11 |         |    0 | 00/0FB4               | ; LDA ($00),Y       ; read main byte 0
 4246 | 20                      dhgr.s    159 | Data        | 11 |         |    2 | 00/0FB4 : B1 00       |                          HEX     B100                 
 4247 | 20                      dhgr.s    160 | Comment     | 11 |         |    0 | 00/0FB6               | ; AND $41            ; MskBuf+1
 4248 | 20                      dhgr.s    161 | Data        | 11 |         |    2 | 00/0FB6 : 25 41       |                          HEX     2541                 
 4249 | 20                      dhgr.s    162 | Comment     | 11 |         |    0 | 00/0FB8               | ; ORA $39            ; SprBuf+1
 4250 | 20                      dhgr.s    163 | Data        | 11 |         |    2 | 00/0FB8 : 05 39       |                          HEX     0539                 
 4251 | 20                      dhgr.s    164 | Comment     | 11 |         |    0 | 00/0FBA               | ; STA ($00),Y
 4252 | 20                      dhgr.s    165 | Data        | 11 |         |    2 | 00/0FBA : 91 00       |                          HEX     9100                 
 4253 | 20                      dhgr.s    166 | Comment     | 11 |         |    0 | 00/0FBC               | ; INY
 4254 | 20                      dhgr.s    167 | Data        | 11 |         |    1 | 00/0FBC : C8          |                          HEX     C8                   
 4255 | 20                      dhgr.s    168 | Comment     | 11 |         |    0 | 00/0FBD               | ; LDA ($00),Y
 4256 | 20                      dhgr.s    169 | Data        | 11 |         |    2 | 00/0FBD : B1 00       |                          HEX     B100                 
 4257 | 20                      dhgr.s    170 | Comment     | 11 |         |    0 | 00/0FBF               | ; AND $43            ; MskBuf+3
 4258 | 20                      dhgr.s    171 | Data        | 11 |         |    2 | 00/0FBF : 25 43       |                          HEX     2543                 
 4259 | 20                      dhgr.s    172 | Comment     | 11 |         |    0 | 00/0FC1               | ; ORA $3B            ; SprBuf+3
 4260 | 20                      dhgr.s    173 | Data        | 11 |         |    2 | 00/0FC1 : 05 3B       |                          HEX     053B                 
 4261 | 20                      dhgr.s    174 | Comment     | 11 |         |    0 | 00/0FC3               | ; STA ($00),Y
 4262 | 20                      dhgr.s    175 | Data        | 11 |         |    2 | 00/0FC3 : 91 00       |                          HEX     9100                 
 4263 | 20                      dhgr.s    176 | Comment     | 11 |         |    0 | 00/0FC5               | ; INY
 4264 | 20                      dhgr.s    177 | Data        | 11 |         |    1 | 00/0FC5 : C8          |                          HEX     C8                   
 4265 | 20                      dhgr.s    178 | Comment     | 11 |         |    0 | 00/0FC6               | ; LDA ($00),Y
 4266 | 20                      dhgr.s    179 | Data        | 11 |         |    2 | 00/0FC6 : B1 00       |                          HEX     B100                 
 4267 | 20                      dhgr.s    180 | Comment     | 11 |         |    0 | 00/0FC8               | ; AND $45            ; MskBuf+5
 4268 | 20                      dhgr.s    181 | Data        | 11 |         |    2 | 00/0FC8 : 25 45       |                          HEX     2545                 
 4269 | 20                      dhgr.s    182 | Comment     | 11 |         |    0 | 00/0FCA               | ; ORA $3D            ; SprBuf+5
 4270 | 20                      dhgr.s    183 | Data        | 11 |         |    2 | 00/0FCA : 05 3D       |                          HEX     053D                 
 4271 | 20                      dhgr.s    184 | Comment     | 11 |         |    0 | 00/0FCC               | ; STA ($00),Y
 4272 | 20                      dhgr.s    185 | Data        | 11 |         |    2 | 00/0FCC : 91 00       |                          HEX     9100                 
 4273 | 20                      dhgr.s    186 | Comment     | 11 |         |    0 | 00/0FCE               | ; INY
 4274 | 20                      dhgr.s    187 | Data        | 11 |         |    1 | 00/0FCE : C8          |                          HEX     C8                   
 4275 | 20                      dhgr.s    188 | Comment     | 11 |         |    0 | 00/0FCF               | ; LDA ($00),Y
 4276 | 20                      dhgr.s    189 | Data        | 11 |         |    2 | 00/0FCF : B1 00       |                          HEX     B100                 
 4277 | 20                      dhgr.s    190 | Comment     | 11 |         |    0 | 00/0FD1               | ; AND $47            ; MskBuf+7
 4278 | 20                      dhgr.s    191 | Data        | 11 |         |    2 | 00/0FD1 : 25 47       |                          HEX     2547                 
 4279 | 20                      dhgr.s    192 | Comment     | 11 |         |    0 | 00/0FD3               | ; ORA $3F            ; SprBuf+7
 4280 | 20                      dhgr.s    193 | Data        | 11 |         |    2 | 00/0FD3 : 05 3F       |                          HEX     053F                 
 4281 | 20                      dhgr.s    194 | Comment     | 11 |         |    0 | 00/0FD5               | ; STA ($00),Y
 4282 | 20                      dhgr.s    195 | Data        | 11 |         |    2 | 00/0FD5 : 91 00       |                          HEX     9100                 
 4283 | 20                      dhgr.s    196 | Comment     | 11 |         |    0 | 00/0FD7               | ; RTS
 4284 | 20                      dhgr.s    197 | Data        | 11 |         |    1 | 00/0FD7 : 60          |                          HEX     60                   
 4285 | 20                      dhgr.s    198 | Empty       | 11 |         |    0 | 00/0FD8               |                                                       
 4286 | 20                      dhgr.s    199 | Empty       | 11 |         |    0 | 00/0FD8               | ozunid_87                                             
 4287 | 20                      dhgr.s    199 | Equivalence | 11 |         |    0 | 00/0FD8               | _LCCompLen               =       ozunid_87-_LCCompBytes
 4288 | 20                      dhgr.s    200 | Empty       | 11 |         |    0 | 00/0FD8               |                                                       
 4289 | 20                      dhgr.s    201 | Comment     | 11 |         |    0 | 00/0FD8               | *----------------------------------------------
 4290 | 20                      dhgr.s    202 | Comment     | 11 |         |    0 | 00/0FD8               | * DHGRMixed - Enable DHGR with 4 lines of text
 4291 | 20                      dhgr.s    203 | Comment     | 11 |         |    0 | 00/0FD8               | *----------------------------------------------
 4292 | 20                      dhgr.s    204 | Empty       | 11 |         |    0 | 00/0FD8               | DHGRMixed                                             
 4293 | 20                      dhgr.s    205 | Code        | 11 |         |    3 | 00/0FD8 : 8D 53 C0    |                          STA     {$C053}              ; bottom 4 lines = text
 4294 | 20                      dhgr.s    206 | Code        | 11 |         |    1 | 00/0FDB : 60          |                          RTS                          
 4295 | 20                      dhgr.s    207 | Empty       | 11 |         |    0 | 00/0FDC               |                                                       
 4296 | 20                      dhgr.s    208 | Comment     | 11 |         |    0 | 00/0FDC               | *----------------------------------------------
 4297 | 20                      dhgr.s    209 | Comment     | 11 |         |    0 | 00/0FDC               | * DHGRClear - Clear DHGR screen to black
 4298 | 20                      dhgr.s    210 | Comment     | 11 |         |    0 | 00/0FDC               | *
 4299 | 20                      dhgr.s    211 | Comment     | 11 |         |    0 | 00/0FDC               | * Clears both aux and main $2000-$3FFF
 4300 | 20                      dhgr.s    212 | Comment     | 11 |         |    0 | 00/0FDC               | *----------------------------------------------
 4301 | 20                      dhgr.s    213 | Empty       | 11 |         |    0 | 00/0FDC               | DHGRClear                                             
 4302 | 20                      dhgr.s    214 | Code        | 11 |         |    2 | 00/0FDC : A9 80       |                          LDA     #$80                 ; black with bit 7 set
 4303 | 20                      dhgr.s    215 | Empty       | 11 |         |    0 | 00/0FDE               |                                                       
 4304 | 20                      dhgr.s    216 | Comment     | 11 |         |    0 | 00/0FDE               | * Fall through to DHGRFill
 4305 | 20                      dhgr.s    217 | Empty       | 11 |         |    0 | 00/0FDE               |                                                       
 4306 | 20                      dhgr.s    218 | Comment     | 11 |         |    0 | 00/0FDE               | *----------------------------------------------
 4307 | 20                      dhgr.s    219 | Comment     | 11 |         |    0 | 00/0FDE               | * DHGRFill - Fill DHGR screen with value in A
 4308 | 20                      dhgr.s    220 | Comment     | 11 |         |    0 | 00/0FDE               | *
 4309 | 20                      dhgr.s    221 | Comment     | 11 |         |    0 | 00/0FDE               | * Fills both aux and main $2000-$3FFF
 4310 | 20                      dhgr.s    222 | Comment     | 11 |         |    0 | 00/0FDE               | *----------------------------------------------
 4311 | 20                      dhgr.s    223 | Empty       | 11 |         |    0 | 00/0FDE               | DHGRFill                                              
 4312 | 20                      dhgr.s    224 | Code        | 11 |         |    1 | 00/0FDE : 48          |                          PHA                          ; save fill value
 4313 | 20                      dhgr.s    225 | Empty       | 11 |         |    0 | 00/0FDF               |                                                       
 4314 | 20                      dhgr.s    226 | Comment     | 11 |         |    0 | 00/0FDF               | * Compute page base: $20 for page 1, $40 for page 2
 4315 | 20                      dhgr.s    227 | Code        | 11 |         |    2 | 00/0FDF : A9 20       |                          LDA     #$20                 
 4316 | 20                      dhgr.s    228 | Code        | 11 |         |    1 | 00/0FE1 : 18          |                          CLC                          
 4317 | 20                      dhgr.s    229 | Code        | 11 |         |    2 | 00/0FE2 : 65 1E       |                          ADC     {$1E}                ; +$00 or +$20
 4318 | 20                      dhgr.s    230 | Code        | 11 |         |    1 | 00/0FE4 : AA          |                          TAX                          
 4319 | 20                      dhgr.s    231 | Code        | 11 |         |    2 | 00/0FE5 : 86 1A       |                          STX     {$1A}                ; start page
 4320 | 20                      dhgr.s    232 | Code        | 11 |         |    1 | 00/0FE7 : 8A          |                          TXA                          
 4321 | 20                      dhgr.s    233 | Code        | 11 |         |    1 | 00/0FE8 : 18          |                          CLC                          
 4322 | 20                      dhgr.s    234 | Code        | 11 |         |    2 | 00/0FE9 : 69 20       |                          ADC     #$20                 
 4323 | 20                      dhgr.s    235 | Code        | 11 |         |    2 | 00/0FEB : 85 1B       |                          STA     {$1B}                ; end page
 4324 | 20                      dhgr.s    236 | Empty       | 11 |         |    0 | 00/0FED               |                                                       
 4325 | 20                      dhgr.s    237 | Comment     | 11 |         |    0 | 00/0FED               | * Fill aux memory
 4326 | 20                      dhgr.s    238 | Code        | 11 |         |    3 | 00/0FED : 8D 05 C0    |                          STA     {$C005}              
 4327 | 20                      dhgr.s    239 | Code        | 11 |         |    1 | 00/0FF0 : 68          |                          PLA                          
 4328 | 20                      dhgr.s    240 | Code        | 11 |         |    1 | 00/0FF1 : 48          |                          PHA                          
 4329 | 20                      dhgr.s    241 | Code        | 11 |         |    2 | 00/0FF2 : A6 1A       |                          LDX     {$1A}                
 4330 | 20                      dhgr.s    242 | Empty       | 11 |         |    0 | 00/0FF4               | _fillAux                                              
 4331 | 20                      dhgr.s    243 | Code        | 11 |         |    2 | 00/0FF4 : 86 01       |                          STX     {$00}+1              
 4332 | 20                      dhgr.s    244 | Code        | 11 |         |    2 | 00/0FF6 : 64 00       |                          STZ     {$00}                
 4333 | 20                      dhgr.s    245 | Code        | 11 |         |    2 | 00/0FF8 : A0 00       |                          LDY     #0                   
 4334 | 20                      dhgr.s    246 | Code        | 11 |         |    2 | 00/0FFA : 91 00       | _loopAux                 STA     ({$00}),Y            
 4335 | 20                      dhgr.s    247 | Code        | 11 |         |    1 | 00/0FFC : C8          |                          INY                          
 4336 | 20                      dhgr.s    248 | Code        | 11 |         |    2 | 00/0FFD : D0 FB       |                          BNE     _loopAux             
 4337 | 20                      dhgr.s    249 | Code        | 11 |         |    1 | 00/0FFF : E8          |                          INX                          
 4338 | 20                      dhgr.s    250 | Code        | 11 |         |    2 | 00/1000 : E4 1B       |                          CPX     {$1B}                
 4339 | 20                      dhgr.s    251 | Code        | 11 |         |    2 | 00/1002 : D0 F0       |                          BNE     _fillAux             
 4340 | 20                      dhgr.s    252 | Empty       | 11 |         |    0 | 00/1004               |                                                       
 4341 | 20                      dhgr.s    253 | Comment     | 11 |         |    0 | 00/1004               | * Fill main memory
 4342 | 20                      dhgr.s    254 | Code        | 11 |         |    3 | 00/1004 : 8D 04 C0    |                          STA     {$C004}              
 4343 | 20                      dhgr.s    255 | Code        | 11 |         |    1 | 00/1007 : 68          |                          PLA                          
 4344 | 20                      dhgr.s    256 | Code        | 11 |         |    2 | 00/1008 : A6 1A       |                          LDX     {$1A}                
 4345 | 20                      dhgr.s    257 | Empty       | 11 |         |    0 | 00/100A               | _fillMain                                             
 4346 | 20                      dhgr.s    258 | Code        | 11 |         |    2 | 00/100A : 86 01       |                          STX     {$00}+1              
 4347 | 20                      dhgr.s    259 | Code        | 11 |         |    2 | 00/100C : 64 00       |                          STZ     {$00}                
 4348 | 20                      dhgr.s    260 | Code        | 11 |         |    2 | 00/100E : A0 00       |                          LDY     #0                   
 4349 | 20                      dhgr.s    261 | Code        | 11 |         |    2 | 00/1010 : 91 00       | _loopMain                STA     ({$00}),Y            
 4350 | 20                      dhgr.s    262 | Code        | 11 |         |    1 | 00/1012 : C8          |                          INY                          
 4351 | 20                      dhgr.s    263 | Code        | 11 |         |    2 | 00/1013 : D0 FB       |                          BNE     _loopMain            
 4352 | 20                      dhgr.s    264 | Code        | 11 |         |    1 | 00/1015 : E8          |                          INX                          
 4353 | 20                      dhgr.s    265 | Code        | 11 |         |    2 | 00/1016 : E4 1B       |                          CPX     {$1B}                
 4354 | 20                      dhgr.s    266 | Code        | 11 |         |    2 | 00/1018 : D0 F0       |                          BNE     _fillMain            
 4355 | 20                      dhgr.s    267 | Empty       | 11 |         |    0 | 00/101A               |                                                       
 4356 | 20                      dhgr.s    268 | Code        | 11 |         |    1 | 00/101A : 60          |                          RTS                          
 4357 | 20                      dhgr.s    269 | Empty       | 11 |         |    0 | 00/101B               |                                                       
 4358 | 20                      dhgr.s    270 | Empty       | 11 |         |    0 | 00/101B               |                                                       
 4359 | 20                      dhgr.s    271 | Empty       | 11 |         |    0 | 00/101B               |                                                       
 4360 |  1                    bagman.s     46 | Directive   | 11 |         |    0 | 00/101B               |                          PUT     collision.s          
 4361 | 21                 collision.s      1 | Comment     | 11 |         |    0 | 00/101B               | *
 4362 | 21                 collision.s      2 | Comment     | 11 |         |    0 | 00/101B               | * Bagman - Collision Detection
 4363 | 21                 collision.s      3 | Comment     | 11 |         |    0 | 00/101B               | *
 4364 | 21                 collision.s      4 | Comment     | 11 |         |    0 | 00/101B               | * Shared routines for player and enemy map collision.
 4365 | 21                 collision.s      5 | Comment     | 11 |         |    0 | 00/101B               | * TileMaps, SlopeProfiles, SlopeLists are in MAIN RAM.
 4366 | 21                 collision.s      6 | Comment     | 11 |         |    0 | 00/101B               | * TileTypes is in MAIN RAM.
 4367 | 21                 collision.s      7 | Comment     | 11 |         |    0 | 00/101B               | *
 4368 | 21                 collision.s      8 | Comment     | 11 |         |    0 | 00/101B               | * Tile types:
 4369 | 21                 collision.s      9 | Comment     | 11 |         |    0 | 00/101B               | *   0 = empty (passable)
 4370 | 21                 collision.s     10 | Comment     | 11 |         |    0 | 00/101B               | *   1 = solid (blocked)
 4371 | 21                 collision.s     11 | Comment     | 11 |         |    0 | 00/101B               | *   2 = ladder
 4372 | 21                 collision.s     12 | Comment     | 11 |         |    0 | 00/101B               | *   3 = handle grab
 4373 | 21                 collision.s     13 | Comment     | 11 |         |    0 | 00/101B               | *   4 = cart rail
 4374 | 21                 collision.s     14 | Comment     | 11 |         |    0 | 00/101B               | *   5 = elevator shaft
 4375 | 21                 collision.s     15 | Comment     | 11 |         |    0 | 00/101B               | *   6 = slope (has height profile)
 4376 | 21                 collision.s     16 | Comment     | 11 |         |    0 | 00/101B               | *
 4377 | 21                 collision.s     17 | Empty       | 11 |         |    0 | 00/101B               |                                                       
 4378 | 21                 collision.s     18 | Equivalence | 11 |         |    0 | 00/101B               | COLL_EMPTY               =       0                    
 4379 | 21                 collision.s     19 | Equivalence | 11 |         |    0 | 00/101B               | COLL_SOLID               =       1                    
 4380 | 21                 collision.s     20 | Equivalence | 11 |         |    0 | 00/101B               | COLL_LADDER              =       2                    
 4381 | 21                 collision.s     21 | Equivalence | 11 |         |    0 | 00/101B               | COLL_HANDLE              =       3                    
 4382 | 21                 collision.s     22 | Equivalence | 11 |         |    0 | 00/101B               | COLL_RAIL                =       4                    
 4383 | 21                 collision.s     23 | Equivalence | 11 |         |    0 | 00/101B               | COLL_ELEVATOR            =       5                    
 4384 | 21                 collision.s     24 | Equivalence | 11 |         |    0 | 00/101B               | COLL_SLOPE               =       6                    
 4385 | 21                 collision.s     25 | Empty       | 11 |         |    0 | 00/101B               |                                                       
 4386 | 21                 collision.s     26 | Comment     | 11 |         |    0 | 00/101B               | *----------------------------------------------
 4387 | 21                 collision.s     27 | Comment     | 11 |         |    0 | 00/101B               | * SetCollision - Set CollPtr and SlopeListPtr from MapIdx
 4388 | 21                 collision.s     28 | Comment     | 11 |         |    0 | 00/101B               | *----------------------------------------------
 4389 | 21                 collision.s     29 | Empty       | 11 |         |    0 | 00/101B               | SetCollision                                          
 4390 | 21                 collision.s     30 | Code        | 11 |         |    2 | 00/101B : A5 1C       |                          LDA     {$1C}                
 4391 | 21                 collision.s     31 | Code        | 11 |         |    1 | 00/101D : 0A          |                          ASL                          
 4392 | 21                 collision.s     32 | Code        | 11 |         |    1 | 00/101E : AA          |                          TAX                          
 4393 | 21                 collision.s     33 | Code        | 11 |         |    3 | 00/101F : BD 34 10    |                          LDA     CollPtrTbl,X         
 4394 | 21                 collision.s     34 | Code        | 11 |         |    2 | 00/1022 : 85 25       |                          STA     {$25}                
 4395 | 21                 collision.s     35 | Code        | 11 |         |    3 | 00/1024 : BD 35 10    |                          LDA     CollPtrTbl+1,X       
 4396 | 21                 collision.s     36 | Code        | 11 |         |    2 | 00/1027 : 85 26       |                          STA     {$25}+1              
 4397 | 21                 collision.s     37 | Code        | 11 |         |    3 | 00/1029 : BD 3A 10    |                          LDA     SlopePtrTbl,X        
 4398 | 21                 collision.s     38 | Code        | 11 |         |    2 | 00/102C : 85 20       |                          STA     {$20}                
 4399 | 21                 collision.s     39 | Code        | 11 |         |    3 | 00/102E : BD 3B 10    |                          LDA     SlopePtrTbl+1,X      
 4400 | 21                 collision.s     40 | Code        | 11 |         |    2 | 00/1031 : 85 21       |                          STA     {$20}+1              
 4401 | 21                 collision.s     41 | Code        | 11 |         |    1 | 00/1033 : 60          |                          RTS                          
 4402 | 21                 collision.s     42 | Empty       | 11 |         |    0 | 00/1034               |                                                       
 4403 | 21                 collision.s     43 | Empty       | 11 |         |    0 | 00/1034               | CollPtrTbl                                            
 4404 | 21                 collision.s     44 | Data        | 11 |         |    2 | 00/1034 : 80 B7       |                          DA      CollMap1             
 4405 | 21                 collision.s     45 | Data        | 11 |         |    2 | 00/1036 : 00 BA       |                          DA      CollMap2             
 4406 | 21                 collision.s     46 | Data        | 11 |         |    2 | 00/1038 : 80 BC       |                          DA      CollMap3             
 4407 | 21                 collision.s     47 | Empty       | 11 |         |    0 | 00/103A               |                                                       
 4408 | 21                 collision.s     48 | Empty       | 11 |         |    0 | 00/103A               | SlopePtrTbl                                           
 4409 | 21                 collision.s     49 | Data        | 11 |         |    2 | 00/103A : A9 87       |                          DA      SlopeList1           
 4410 | 21                 collision.s     50 | Data        | 11 |         |    2 | 00/103C : 68 88       |                          DA      SlopeList2           
 4411 | 21                 collision.s     51 | Data        | 11 |         |    2 | 00/103E : 36 89       |                          DA      SlopeList3           
 4412 | 21                 collision.s     52 | Empty       | 11 |         |    0 | 00/1040               |                                                       
 4413 | 21                 collision.s     53 | Comment     | 11 |         |    0 | 00/1040               | *----------------------------------------------
 4414 | 21                 collision.s     54 | Comment     | 11 |         |    0 | 00/1040               | * GetCollType - Get collision type at pixel coords
 4415 | 21                 collision.s     55 | Comment     | 11 |         |    0 | 00/1040               | *
 4416 | 21                 collision.s     56 | Comment     | 11 |         |    0 | 00/1040               | * In:  X = pixel X (0-139), A = pixel Y (0-191)
 4417 | 21                 collision.s     57 | Comment     | 11 |         |    0 | 00/1040               | * Out: A = collision type (0-6)
 4418 | 21                 collision.s     58 | Comment     | 11 |         |    0 | 00/1040               | *      CollOff = pixel X remainder within tile (0-6)
 4419 | 21                 collision.s     59 | Comment     | 11 |         |    0 | 00/1040               | *      Temp1 = tile column, Temp2 = tile row
 4420 | 21                 collision.s     60 | Comment     | 11 |         |    0 | 00/1040               | * Clobbers: X, Y, Temp1, Temp2, CollRow
 4421 | 21                 collision.s     61 | Comment     | 11 |         |    0 | 00/1040               | *----------------------------------------------
 4422 | 21                 collision.s     62 | Empty       | 11 |         |    0 | 00/1040               | GetCollType                                           
 4423 | 21                 collision.s     63 | Code        | 11 |         |    1 | 00/1040 : 48          |                          PHA                          ; save pixel Y
 4424 | 21                 collision.s     64 | Empty       | 11 |         |    0 | 00/1041               |                                                       
 4425 | 21                 collision.s     65 | Comment     | 11 |         |    0 | 00/1041               | * Tile column = X / 7, remainder in CollOff
 4426 | 21                 collision.s     66 | Code        | 11 |         |    1 | 00/1041 : 8A          |                          TXA                          
 4427 | 21                 collision.s     67 | Code        | 11 |         |    2 | 00/1042 : A2 00       |                          LDX     #0                   
 4428 | 21                 collision.s     68 | Code        | 11 |         |    1 | 00/1044 : 38          |                          SEC                          
 4429 | 21                 collision.s     69 | Code        | 11 |         |    2 | 00/1045 : C9 07       | _divX                    CMP     #7                   
 4430 | 21                 collision.s     70 | Code        | 11 |         |    2 | 00/1047 : 90 05       |                          BCC     _divXd               
 4431 | 21                 collision.s     71 | Code        | 11 |         |    2 | 00/1049 : E9 07       |                          SBC     #7                   
 4432 | 21                 collision.s     72 | Code        | 11 |         |    1 | 00/104B : E8          |                          INX                          
 4433 | 21                 collision.s     73 | Code        | 11 |         |    2 | 00/104C : 80 F7       |                          BRA     _divX                
 4434 | 21                 collision.s     74 | Code        | 11 |         |    2 | 00/104E : 85 24       | _divXd                   STA     {$24}                ; pixel column within tile (0-6)
 4435 | 21                 collision.s     75 | Code        | 11 |         |    2 | 00/1050 : 86 18       |                          STX     {$18}                ; tile column (0-19)
 4436 | 21                 collision.s     76 | Empty       | 11 |         |    0 | 00/1052               |                                                       
 4437 | 21                 collision.s     77 | Comment     | 11 |         |    0 | 00/1052               | * Tile row = Y / 6
 4438 | 21                 collision.s     78 | Code        | 11 |         |    1 | 00/1052 : 68          |                          PLA                          ; pixel Y
 4439 | 21                 collision.s     79 | Code        | 11 |         |    2 | 00/1053 : A2 00       |                          LDX     #0                   
 4440 | 21                 collision.s     80 | Code        | 11 |         |    1 | 00/1055 : 38          |                          SEC                          
 4441 | 21                 collision.s     81 | Code        | 11 |         |    2 | 00/1056 : C9 06       | _divY                    CMP     #6                   
 4442 | 21                 collision.s     82 | Code        | 11 |         |    2 | 00/1058 : 90 05       |                          BCC     _divYd               
 4443 | 21                 collision.s     83 | Code        | 11 |         |    2 | 00/105A : E9 06       |                          SBC     #6                   
 4444 | 21                 collision.s     84 | Code        | 11 |         |    1 | 00/105C : E8          |                          INX                          
 4445 | 21                 collision.s     85 | Code        | 11 |         |    2 | 00/105D : 80 F7       |                          BRA     _divY                
 4446 | 21                 collision.s     86 | Code        | 11 |         |    2 | 00/105F : 86 19       | _divYd                   STX     {$19}                ; tile row
 4447 | 21                 collision.s     87 | Empty       | 11 |         |    0 | 00/1061               |                                                       
 4448 | 21                 collision.s     88 | Comment     | 11 |         |    0 | 00/1061               | * Compute CollPtr + row*20 -> CollRow (16-bit)
 4449 | 21                 collision.s     89 | Code        | 11 |         |    2 | 00/1061 : A5 25       |                          LDA     {$25}                
 4450 | 21                 collision.s     90 | Code        | 11 |         |    2 | 00/1063 : 85 22       |                          STA     {$22}                
 4451 | 21                 collision.s     91 | Code        | 11 |         |    2 | 00/1065 : A5 26       |                          LDA     {$25}+1              
 4452 | 21                 collision.s     92 | Code        | 11 |         |    2 | 00/1067 : 85 23       |                          STA     {$22}+1              
 4453 | 21                 collision.s     93 | Code        | 11 |         |    2 | 00/1069 : E0 00       |                          CPX     #0                   
 4454 | 21                 collision.s     94 | Code        | 11 |         |    2 | 00/106B : F0 10       |                          BEQ     _rowDone             
 4455 | 21                 collision.s     95 | Code        | 11 |         |    1 | 00/106D : 18          | _rowAdd                  CLC                          
 4456 | 21                 collision.s     96 | Code        | 11 |         |    2 | 00/106E : A5 22       |                          LDA     {$22}                
 4457 | 21                 collision.s     97 | Code        | 11 |         |    2 | 00/1070 : 69 14       |                          ADC     #20                  
 4458 | 21                 collision.s     98 | Code        | 11 |         |    2 | 00/1072 : 85 22       |                          STA     {$22}                
 4459 | 21                 collision.s     99 | Code        | 11 |         |    2 | 00/1074 : A5 23       |                          LDA     {$22}+1              
 4460 | 21                 collision.s    100 | Code        | 11 |         |    2 | 00/1076 : 69 00       |                          ADC     #0                   
 4461 | 21                 collision.s    101 | Code        | 11 |         |    2 | 00/1078 : 85 23       |                          STA     {$22}+1              
 4462 | 21                 collision.s    102 | Code        | 11 |         |    1 | 00/107A : CA          |                          DEX                          
 4463 | 21                 collision.s    103 | Code        | 11 |         |    2 | 00/107B : D0 F0       |                          BNE     _rowAdd              
 4464 | 21                 collision.s    104 | Empty       | 11 |         |    0 | 00/107D               | _rowDone                                              
 4465 | 21                 collision.s    105 | Comment     | 11 |         |    0 | 00/107D               | * Read collision type from CollMap in main RAM
 4466 | 21                 collision.s    106 | Code        | 11 |         |    2 | 00/107D : A4 18       |                          LDY     {$18}                ; tile column
 4467 | 21                 collision.s    107 | Code        | 11 |         |    2 | 00/107F : B1 22       |                          LDA     ({$22}),Y            ; A = collision type
 4468 | 21                 collision.s    108 | Code        | 11 |         |    1 | 00/1081 : 60          |                          RTS                          
 4469 | 21                 collision.s    109 | Empty       | 11 |         |    0 | 00/1082               |                                                       
 4470 | 21                 collision.s    110 | Comment     | 11 |         |    0 | 00/1082               | *----------------------------------------------
 4471 | 21                 collision.s    111 | Comment     | 11 |         |    0 | 00/1082               | * GetSlopeHeight - Get surface height at current tile position
 4472 | 21                 collision.s    112 | Comment     | 11 |         |    0 | 00/1082               | *
 4473 | 21                 collision.s    113 | Comment     | 11 |         |    0 | 00/1082               | * Call after GetCollType when it returns COLL_SLOPE.
 4474 | 21                 collision.s    114 | Comment     | 11 |         |    0 | 00/1082               | *
 4475 | 21                 collision.s    115 | Comment     | 11 |         |    0 | 00/1082               | * In:  Temp1 = tile column, Temp2 = tile row (from GetCollType)
 4476 | 21                 collision.s    116 | Comment     | 11 |         |    0 | 00/1082               | *      CollOff = pixel column within tile (from GetCollType)
 4477 | 21                 collision.s    117 | Comment     | 11 |         |    0 | 00/1082               | * Out: A = solid height from bottom (0-6) at this column
 4478 | 21                 collision.s    118 | Comment     | 11 |         |    0 | 00/1082               | * Clobbers: X, Y, CollRow
 4479 | 21                 collision.s    119 | Comment     | 11 |         |    0 | 00/1082               | *----------------------------------------------
 4480 | 21                 collision.s    120 | Empty       | 11 |         |    0 | 00/1082               | GetSlopeHeight                                        
 4481 | 21                 collision.s    121 | Comment     | 11 |         |    0 | 00/1082               | * Compute map offset = row*20 + col (0-639)
 4482 | 21                 collision.s    122 | Code        | 11 |         |    2 | 00/1082 : A5 19       |                          LDA     {$19}                ; tile row
 4483 | 21                 collision.s    123 | Code        | 11 |         |    2 | 00/1084 : A2 00       |                          LDX     #0                   
 4484 | 21                 collision.s    124 | Code        | 11 |         |    2 | 00/1086 : 86 23       |                          STX     {$22}+1              ; high byte
 4485 | 21                 collision.s    125 | Code        | 11 |         |    2 | 00/1088 : C9 00       |                          CMP     #0                   
 4486 | 21                 collision.s    126 | Code        | 11 |         |    2 | 00/108A : F0 0D       |                          BEQ     _mulDone             
 4487 | 21                 collision.s    127 | Code        | 11 |         |    1 | 00/108C : A8          |                          TAY                          
 4488 | 21                 collision.s    128 | Code        | 11 |         |    2 | 00/108D : A9 00       |                          LDA     #0                   
 4489 | 21                 collision.s    129 | Code        | 11 |         |    1 | 00/108F : 18          | _mul20                   CLC                          
 4490 | 21                 collision.s    130 | Code        | 11 |         |    2 | 00/1090 : 69 14       |                          ADC     #20                  
 4491 | 21                 collision.s    131 | Code        | 11 |         |    2 | 00/1092 : 90 02       |                          BCC     _noCarry             
 4492 | 21                 collision.s    132 | Code        | 11 |         |    2 | 00/1094 : E6 23       |                          INC     {$22}+1              
 4493 | 21                 collision.s    133 | Code        | 11 |         |    1 | 00/1096 : 88          | _noCarry                 DEY                          
 4494 | 21                 collision.s    134 | Code        | 11 |         |    2 | 00/1097 : D0 F6       |                          BNE     _mul20               
 4495 | 21                 collision.s    135 | Code        | 11 |         |    1 | 00/1099 : 18          | _mulDone                 CLC                          
 4496 | 21                 collision.s    136 | Code        | 11 |         |    2 | 00/109A : 65 18       |                          ADC     {$18}                ; + tile col
 4497 | 21                 collision.s    137 | Code        | 11 |         |    2 | 00/109C : 85 22       |                          STA     {$22}                ; offset low
 4498 | 21                 collision.s    138 | Code        | 11 |         |    2 | 00/109E : A5 23       |                          LDA     {$22}+1              
 4499 | 21                 collision.s    139 | Code        | 11 |         |    2 | 00/10A0 : 69 00       |                          ADC     #0                   
 4500 | 21                 collision.s    140 | Code        | 11 |         |    2 | 00/10A2 : 85 23       |                          STA     {$22}+1              ; offset high
 4501 | 21                 collision.s    141 | Empty       | 11 |         |    0 | 00/10A4               |                                                       
 4502 | 21                 collision.s    142 | Comment     | 11 |         |    0 | 00/10A4               | * Scan slope list for matching offset
 4503 | 21                 collision.s    143 | Comment     | 11 |         |    0 | 00/10A4               | * Terminator = $FF,$FF (single $FF can be valid: offset 511 = $01FF)
 4504 | 21                 collision.s    144 | Code        | 11 |         |    2 | 00/10A4 : A0 00       |                          LDY     #0                   
 4505 | 21                 collision.s    145 | Code        | 11 |         |    2 | 00/10A6 : B1 20       | _scan                    LDA     ({$20}),Y            ; offset low
 4506 | 21                 collision.s    146 | Code        | 11 |         |    2 | 00/10A8 : C9 FF       |                          CMP     #$FF                 
 4507 | 21                 collision.s    147 | Code        | 11 |         |    2 | 00/10AA : D0 08       |                          BNE     _notTerm             
 4508 | 21                 collision.s    148 | Code        | 11 |         |    1 | 00/10AC : C8          |                          INY                          
 4509 | 21                 collision.s    149 | Code        | 11 |         |    2 | 00/10AD : B1 20       |                          LDA     ({$20}),Y            ; peek at offset high
 4510 | 21                 collision.s    150 | Code        | 11 |         |    1 | 00/10AF : 88          |                          DEY                          
 4511 | 21                 collision.s    151 | Code        | 11 |         |    2 | 00/10B0 : C9 FF       |                          CMP     #$FF                 
 4512 | 21                 collision.s    152 | Code        | 11 |         |    2 | 00/10B2 : F0 33       |                          BEQ     _notFound            ; $FF,$FF = end of list
 4513 | 21                 collision.s    153 | Code        | 11 |         |    2 | 00/10B4 : B1 20       | _notTerm                 LDA     ({$20}),Y            
 4514 | 21                 collision.s    154 | Code        | 11 |         |    2 | 00/10B6 : C5 22       |                          CMP     {$22}                
 4515 | 21                 collision.s    155 | Code        | 11 |         |    2 | 00/10B8 : D0 28       |                          BNE     _next                
 4516 | 21                 collision.s    156 | Code        | 11 |         |    1 | 00/10BA : C8          |                          INY                          
 4517 | 21                 collision.s    157 | Code        | 11 |         |    2 | 00/10BB : B1 20       |                          LDA     ({$20}),Y            ; offset high
 4518 | 21                 collision.s    158 | Code        | 11 |         |    2 | 00/10BD : C5 23       |                          CMP     {$22}+1              
 4519 | 21                 collision.s    159 | Code        | 11 |         |    2 | 00/10BF : D0 22       |                          BNE     _next2               
 4520 | 21                 collision.s    160 | Comment     | 11 |         |    0 | 00/10C1               | * Found match - get profile ID
 4521 | 21                 collision.s    161 | Code        | 11 |         |    1 | 00/10C1 : C8          |                          INY                          
 4522 | 21                 collision.s    162 | Code        | 11 |         |    2 | 00/10C2 : B1 20       |                          LDA     ({$20}),Y            ; profile ID (1-based)
 4523 | 21                 collision.s    163 | Empty       | 11 |         |    0 | 00/10C4               |                                                       
 4524 | 21                 collision.s    164 | Code        | 11 |         |    1 | 00/10C4 : 3A          |                          DEC                          ; 0-based
 4525 | 21                 collision.s    165 | Comment     | 11 |         |    0 | 00/10C5               | * Profile address = SlopeProfiles + id * 7 + CollOff
 4526 | 21                 collision.s    166 | Comment     | 11 |         |    0 | 00/10C5               | * id * 7 = id * 8 - id
 4527 | 21                 collision.s    167 | Code        | 11 |         |    1 | 00/10C5 : AA          |                          TAX                          
 4528 | 21                 collision.s    168 | Code        | 11 |         |    1 | 00/10C6 : 0A          |                          ASL                          ; *2
 4529 | 21                 collision.s    169 | Code        | 11 |         |    1 | 00/10C7 : 0A          |                          ASL                          ; *4
 4530 | 21                 collision.s    170 | Code        | 11 |         |    1 | 00/10C8 : 0A          |                          ASL                          ; *8
 4531 | 21                 collision.s    171 | Code        | 11 |         |    2 | 00/10C9 : 85 19       |                          STA     {$19}                
 4532 | 21                 collision.s    172 | Code        | 11 |         |    1 | 00/10CB : 8A          |                          TXA                          
 4533 | 21                 collision.s    173 | Code        | 11 |         |    2 | 00/10CC : 85 18       |                          STA     {$18}                
 4534 | 21                 collision.s    174 | Code        | 11 |         |    2 | 00/10CE : A5 19       |                          LDA     {$19}                
 4535 | 21                 collision.s    175 | Code        | 11 |         |    1 | 00/10D0 : 38          |                          SEC                          
 4536 | 21                 collision.s    176 | Code        | 11 |         |    2 | 00/10D1 : E5 18       |                          SBC     {$18}                ; *8 - *1 = *7
 4537 | 21                 collision.s    177 | Code        | 11 |         |    1 | 00/10D3 : 18          |                          CLC                          
 4538 | 21                 collision.s    178 | Code        | 11 |         |    2 | 00/10D4 : 65 24       |                          ADC     {$24}                
 4539 | 21                 collision.s    179 | Empty       | 11 |         |    0 | 00/10D6               |                                                       
 4540 | 21                 collision.s    180 | Comment     | 11 |         |    0 | 00/10D6               | * Read height from SlopeProfiles in main RAM
 4541 | 21                 collision.s    181 | Code        | 11 |         |    1 | 00/10D6 : A8          |                          TAY                          ; Y = profile offset
 4542 | 21                 collision.s    182 | Code        | 11 |         |    2 | 00/10D7 : A9 24       |                          LDA     #<SlopeProfiles      
 4543 | 21                 collision.s    183 | Code        | 11 |         |    2 | 00/10D9 : 85 22       |                          STA     {$22}                
 4544 | 21                 collision.s    184 | Code        | 11 |         |    2 | 00/10DB : A9 87       |                          LDA     #>SlopeProfiles      
 4545 | 21                 collision.s    185 | Code        | 11 |         |    2 | 00/10DD : 85 23       |                          STA     {$22}+1              
 4546 | 21                 collision.s    186 | Code        | 11 |         |    2 | 00/10DF : B1 22       |                          LDA     ({$22}),Y            ; A = height
 4547 | 21                 collision.s    187 | Code        | 11 |         |    1 | 00/10E1 : 60          |                          RTS                          
 4548 | 21                 collision.s    188 | Empty       | 11 |         |    0 | 00/10E2               |                                                       
 4549 | 21                 collision.s    189 | Code        | 11 |         |    1 | 00/10E2 : C8          | _next                    INY                          ; skip offset high
 4550 | 21                 collision.s    190 | Code        | 11 |         |    1 | 00/10E3 : C8          | _next2                   INY                          ; skip profile ID
 4551 | 21                 collision.s    191 | Code        | 11 |         |    1 | 00/10E4 : C8          |                          INY                          ; advance to next entry
 4552 | 21                 collision.s    192 | Code        | 11 |         |    2 | 00/10E5 : 80 BF       |                          BRA     _scan                
 4553 | 21                 collision.s    193 | Empty       | 11 |         |    0 | 00/10E7               |                                                       
 4554 | 21                 collision.s    194 | Empty       | 11 |         |    0 | 00/10E7               | _notFound                                             
 4555 | 21                 collision.s    195 | Code        | 11 |         |    2 | 00/10E7 : A9 00       |                          LDA     #0                   
 4556 | 21                 collision.s    196 | Code        | 11 |         |    1 | 00/10E9 : 60          |                          RTS                          
 4557 | 21                 collision.s    197 | Empty       | 11 |         |    0 | 00/10EA               |                                                       
 4558 | 21                 collision.s    198 | Comment     | 11 |         |    0 | 00/10EA               | *----------------------------------------------
 4559 | 21                 collision.s    199 | Comment     | 11 |         |    0 | 00/10EA               | * CheckGroundAt - Is there ground below a given position?
 4560 | 21                 collision.s    200 | Comment     | 11 |         |    0 | 00/10EA               | *
 4561 | 21                 collision.s    201 | Comment     | 11 |         |    0 | 00/10EA               | * In:  X = pixel X (center of sprite)
 4562 | 21                 collision.s    202 | Comment     | 11 |         |    0 | 00/10EA               | *      A = pixel Y of feet (sprite Y + sprite height)
 4563 | 21                 collision.s    203 | Comment     | 11 |         |    0 | 00/10EA               | * Out: Z=0 (BNE) if ground present, Z=1 (BEQ) if no ground
 4564 | 21                 collision.s    204 | Comment     | 11 |         |    0 | 00/10EA               | *----------------------------------------------
 4565 | 21                 collision.s    205 | Empty       | 11 |         |    0 | 00/10EA               | CheckGroundAt                                         
 4566 | 21                 collision.s    206 | Code        | 11 |         |    2 | 00/10EA : C9 C0       |                          CMP     #192                 
 4567 | 21                 collision.s    207 | Code        | 11 |         |    2 | 00/10EC : 90 03       |                          BCC     _inBounds            
 4568 | 21                 collision.s    208 | Code        | 11 |         |    2 | 00/10EE : A9 01       |                          LDA     #{1}                 ; off screen bottom = ground
 4569 | 21                 collision.s    209 | Code        | 11 |         |    1 | 00/10F0 : 60          |                          RTS                          
 4570 | 21                 collision.s    210 | Empty       | 11 |         |    0 | 00/10F1               | _inBounds                                             
 4571 | 21                 collision.s    211 | Code        | 11 |         |    3 | 00/10F1 : 20 40 10    |                          JSR     GetCollType          
 4572 | 21                 collision.s    212 | Code        | 11 |         |    2 | 00/10F4 : C9 00       |                          CMP     #{0}                 
 4573 | 21                 collision.s    213 | Code        | 11 |         |    2 | 00/10F6 : F0 13       |                          BEQ     _noGround            
 4574 | 21                 collision.s    214 | Code        | 11 |         |    2 | 00/10F8 : C9 05       |                          CMP     #{5}                 
 4575 | 21                 collision.s    215 | Code        | 11 |         |    2 | 00/10FA : F0 0F       |                          BEQ     _noGround            
 4576 | 21                 collision.s    216 | Empty       | 11 |         |    0 | 00/10FC               |                                                       
 4577 | 21                 collision.s    217 | Code        | 11 |         |    2 | 00/10FC : C9 06       |                          CMP     #{6}                 
 4578 | 21                 collision.s    218 | Code        | 11 |         |    2 | 00/10FE : D0 0A       |                          BNE     _isGround            
 4579 | 21                 collision.s    219 | Empty       | 11 |         |    0 | 00/1100               |                                                       
 4580 | 21                 collision.s    220 | Comment     | 11 |         |    0 | 00/1100               | * Slope: check if there's surface at this column
 4581 | 21                 collision.s    221 | Code        | 11 |         |    3 | 00/1100 : 20 82 10    |                          JSR     GetSlopeHeight       
 4582 | 21                 collision.s    222 | Code        | 11 |         |    2 | 00/1103 : C9 00       |                          CMP     #0                   
 4583 | 21                 collision.s    223 | Code        | 11 |         |    2 | 00/1105 : F0 04       |                          BEQ     _noGround            
 4584 | 21                 collision.s    224 | Code        | 11 |         |    2 | 00/1107 : A9 06       |                          LDA     #{6}                 
 4585 | 21                 collision.s    225 | Code        | 11 |         |    1 | 00/1109 : 60          |                          RTS                          
 4586 | 21                 collision.s    226 | Empty       | 11 |         |    0 | 00/110A               |                                                       
 4587 | 21                 collision.s    227 | Code        | 11 |         |    1 | 00/110A : 60          | _isGround                RTS                          ; A = type (nonzero), Z=0
 4588 | 21                 collision.s    228 | Code        | 11 |         |    2 | 00/110B : A9 00       | _noGround                LDA     #0                   
 4589 | 21                 collision.s    229 | Code        | 11 |         |    1 | 00/110D : 60          |                          RTS                          
 4590 | 21                 collision.s    230 | Empty       | 11 |         |    0 | 00/110E               |                                                       
 4591 | 21                 collision.s    231 | Comment     | 11 |         |    0 | 00/110E               | *----------------------------------------------
 4592 | 21                 collision.s    232 | Comment     | 11 |         |    0 | 00/110E               | * CheckWalkableAt - Can a sprite occupy this position?
 4593 | 21                 collision.s    233 | Comment     | 11 |         |    0 | 00/110E               | *
 4594 | 21                 collision.s    234 | Comment     | 11 |         |    0 | 00/110E               | * In:  X = pixel X, A = pixel Y
 4595 | 21                 collision.s    235 | Comment     | 11 |         |    0 | 00/110E               | * Out: Z=0 (BNE) if walkable, Z=1 (BEQ) if blocked
 4596 | 21                 collision.s    236 | Comment     | 11 |         |    0 | 00/110E               | *----------------------------------------------
 4597 | 21                 collision.s    237 | Empty       | 11 |         |    0 | 00/110E               | CheckWalkableAt                                       
 4598 | 21                 collision.s    238 | Code        | 11 |         |    2 | 00/110E : 85 1B       |                          STA     {$1B}                ; save pixel Y
 4599 | 21                 collision.s    239 | Code        | 11 |         |    3 | 00/1110 : 20 40 10    |                          JSR     GetCollType          
 4600 | 21                 collision.s    240 | Code        | 11 |         |    2 | 00/1113 : C9 01       |                          CMP     #{1}                 
 4601 | 21                 collision.s    241 | Code        | 11 |         |    2 | 00/1115 : F0 22       |                          BEQ     _blocked             
 4602 | 21                 collision.s    242 | Code        | 11 |         |    2 | 00/1117 : C9 06       |                          CMP     #{6}                 
 4603 | 21                 collision.s    243 | Code        | 11 |         |    2 | 00/1119 : D0 1B       |                          BNE     _walkable            
 4604 | 21                 collision.s    244 | Comment     | 11 |         |    0 | 00/111B               | * Slope: blocked if pixel is in solid portion
 4605 | 21                 collision.s    245 | Code        | 11 |         |    3 | 00/111B : 20 82 10    |                          JSR     GetSlopeHeight       ; A = height from bottom (0-6)
 4606 | 21                 collision.s    246 | Code        | 11 |         |    2 | 00/111E : F0 16       |                          BEQ     _walkable            ; height 0 = passable
 4607 | 21                 collision.s    247 | Code        | 11 |         |    1 | 00/1120 : 48          |                          PHA                          ; save height
 4608 | 21                 collision.s    248 | Code        | 11 |         |    2 | 00/1121 : A5 1B       |                          LDA     {$1B}                ; pixel Y
 4609 | 21                 collision.s    249 | Code        | 11 |         |    1 | 00/1123 : 38          |                          SEC                          
 4610 | 21                 collision.s    250 | Code        | 11 |         |    2 | 00/1124 : C9 06       | _mod6                    CMP     #6                   
 4611 | 21                 collision.s    251 | Code        | 11 |         |    2 | 00/1126 : 90 04       |                          BCC     _modDn               
 4612 | 21                 collision.s    252 | Code        | 11 |         |    2 | 00/1128 : E9 06       |                          SBC     #6                   
 4613 | 21                 collision.s    253 | Code        | 11 |         |    2 | 00/112A : 80 F8       |                          BRA     _mod6                
 4614 | 21                 collision.s    254 | Code        | 11 |         |    2 | 00/112C : 85 1B       | _modDn                   STA     {$1B}                ; sub-row (0-5)
 4615 | 21                 collision.s    255 | Code        | 11 |         |    1 | 00/112E : 68          |                          PLA                          ; height
 4616 | 21                 collision.s    256 | Code        | 11 |         |    1 | 00/112F : 18          |                          CLC                          
 4617 | 21                 collision.s    257 | Code        | 11 |         |    2 | 00/1130 : 65 1B       |                          ADC     {$1B}                ; sub-row + height
 4618 | 21                 collision.s    258 | Code        | 11 |         |    2 | 00/1132 : C9 06       |                          CMP     #6                   ; >= 6 means in solid portion
 4619 | 21                 collision.s    259 | Code        | 11 |         |    2 | 00/1134 : B0 03       |                          BCS     _blocked             
 4620 | 21                 collision.s    260 | Code        | 11 |         |    2 | 00/1136 : A9 01       | _walkable                LDA     #1                   
 4621 | 21                 collision.s    261 | Code        | 11 |         |    1 | 00/1138 : 60          |                          RTS                          
 4622 | 21                 collision.s    262 | Code        | 11 |         |    2 | 00/1139 : A9 00       | _blocked                 LDA     #0                   
 4623 | 21                 collision.s    263 | Code        | 11 |         |    1 | 00/113B : 60          |                          RTS                          
 4624 | 21                 collision.s    264 | Empty       | 11 |         |    0 | 00/113C               |                                                       
 4625 | 21                 collision.s    265 | Comment     | 11 |         |    0 | 00/113C               | *----------------------------------------------
 4626 | 21                 collision.s    266 | Comment     | 11 |         |    0 | 00/113C               | * GetSurfaceY - Get the surface scanline at a pixel X position
 4627 | 21                 collision.s    267 | Comment     | 11 |         |    0 | 00/113C               | *
 4628 | 21                 collision.s    268 | Comment     | 11 |         |    0 | 00/113C               | * Probes the ground tile at (X, A) and returns the exact
 4629 | 21                 collision.s    269 | Comment     | 11 |         |    0 | 00/113C               | * scanline of the collision surface.
 4630 | 21                 collision.s    270 | Comment     | 11 |         |    0 | 00/113C               | *
 4631 | 21                 collision.s    271 | Comment     | 11 |         |    0 | 00/113C               | * In:  X = pixel X, A = pixel Y (should be at/near feet)
 4632 | 21                 collision.s    272 | Comment     | 11 |         |    0 | 00/113C               | * Out: A = surface scanline (0-191), C=1 if surface found
 4633 | 21                 collision.s    273 | Comment     | 11 |         |    0 | 00/113C               | *      A = unchanged, C=0 if no surface (empty/ladder/etc)
 4634 | 21                 collision.s    274 | Comment     | 11 |         |    0 | 00/113C               | * Clobbers: Temp1-Temp4, CollOff, CollRow
 4635 | 21                 collision.s    275 | Comment     | 11 |         |    0 | 00/113C               | *----------------------------------------------
 4636 | 21                 collision.s    276 | Empty       | 11 |         |    0 | 00/113C               | GetSurfaceY                                           
 4637 | 21                 collision.s    277 | Code        | 11 |         |    3 | 00/113C : 20 40 10    |                          JSR     GetCollType          
 4638 | 21                 collision.s    278 | Code        | 11 |         |    2 | 00/113F : C9 01       |                          CMP     #{1}                 
 4639 | 21                 collision.s    279 | Code        | 11 |         |    2 | 00/1141 : F0 0A       |                          BEQ     _gsSolid             
 4640 | 21                 collision.s    280 | Code        | 11 |         |    2 | 00/1143 : C9 06       |                          CMP     #{6}                 
 4641 | 21                 collision.s    281 | Code        | 11 |         |    2 | 00/1145 : F0 0E       |                          BEQ     _gsSlope             
 4642 | 21                 collision.s    282 | Code        | 11 |         |    2 | 00/1147 : C9 04       |                          CMP     #{4}                 
 4643 | 21                 collision.s    283 | Code        | 11 |         |    2 | 00/1149 : F0 23       |                          BEQ     _gsRail              
 4644 | 21                 collision.s    284 | Code        | 11 |         |    1 | 00/114B : 18          |                          CLC                          ; no surface
 4645 | 21                 collision.s    285 | Code        | 11 |         |    1 | 00/114C : 60          |                          RTS                          
 4646 | 21                 collision.s    286 | Empty       | 11 |         |    0 | 00/114D               |                                                       
 4647 | 21                 collision.s    287 | Empty       | 11 |         |    0 | 00/114D               | _gsSolid                                              
 4648 | 21                 collision.s    288 | Comment     | 11 |         |    0 | 00/114D               | * Surface = tile_row * 6
 4649 | 21                 collision.s    289 | Code        | 11 |         |    2 | 00/114D : A5 19       |                          LDA     {$19}                
 4650 | 21                 collision.s    290 | Code        | 11 |         |    1 | 00/114F : 0A          |                          ASL                          
 4651 | 21                 collision.s    291 | Code        | 11 |         |    2 | 00/1150 : 65 19       |                          ADC     {$19}                ; *3
 4652 | 21                 collision.s    292 | Code        | 11 |         |    1 | 00/1152 : 0A          |                          ASL                          ; *6
 4653 | 21                 collision.s    293 | Code        | 11 |         |    1 | 00/1153 : 38          |                          SEC                          ; surface found
 4654 | 21                 collision.s    294 | Code        | 11 |         |    1 | 00/1154 : 60          |                          RTS                          
 4655 | 21                 collision.s    295 | Empty       | 11 |         |    0 | 00/1155               |                                                       
 4656 | 21                 collision.s    296 | Empty       | 11 |         |    0 | 00/1155               | _gsSlope                                              
 4657 | 21                 collision.s    297 | Code        | 11 |         |    2 | 00/1155 : A5 19       |                          LDA     {$19}                
 4658 | 21                 collision.s    298 | Code        | 11 |         |    2 | 00/1157 : 85 1A       |                          STA     {$1A}                ; save tile row
 4659 | 21                 collision.s    299 | Code        | 11 |         |    3 | 00/1159 : 20 82 10    |                          JSR     GetSlopeHeight       ; A = height (0-6)
 4660 | 21                 collision.s    300 | Code        | 11 |         |    2 | 00/115C : F0 1B       |                          BEQ     _gsNone              ; height 0, no surface
 4661 | 21                 collision.s    301 | Code        | 11 |         |    2 | 00/115E : 85 1B       |                          STA     {$1B}                
 4662 | 21                 collision.s    302 | Code        | 11 |         |    2 | 00/1160 : A5 1A       |                          LDA     {$1A}                
 4663 | 21                 collision.s    303 | Code        | 11 |         |    1 | 00/1162 : 0A          |                          ASL                          
 4664 | 21                 collision.s    304 | Code        | 11 |         |    2 | 00/1163 : 65 1A       |                          ADC     {$1A}                ; *3
 4665 | 21                 collision.s    305 | Code        | 11 |         |    1 | 00/1165 : 0A          |                          ASL                          ; *6
 4666 | 21                 collision.s    306 | Code        | 11 |         |    1 | 00/1166 : 18          |                          CLC                          
 4667 | 21                 collision.s    307 | Code        | 11 |         |    2 | 00/1167 : 69 06       |                          ADC     #6                   
 4668 | 21                 collision.s    308 | Code        | 11 |         |    1 | 00/1169 : 38          |                          SEC                          
 4669 | 21                 collision.s    309 | Code        | 11 |         |    2 | 00/116A : E5 1B       |                          SBC     {$1B}                ; tile_top + (6 - height) = surface
 4670 | 21                 collision.s    310 | Code        | 11 |         |    1 | 00/116C : 38          |                          SEC                          ; surface found
 4671 | 21                 collision.s    311 | Code        | 11 |         |    1 | 00/116D : 60          |                          RTS                          
 4672 | 21                 collision.s    312 | Empty       | 11 |         |    0 | 00/116E               |                                                       
 4673 | 21                 collision.s    313 | Empty       | 11 |         |    0 | 00/116E               | _gsRail                                               
 4674 | 21                 collision.s    314 | Comment     | 11 |         |    0 | 00/116E               | * Surface = tile_row * 6 + 5 (1px at bottom of tile)
 4675 | 21                 collision.s    315 | Code        | 11 |         |    2 | 00/116E : A5 19       |                          LDA     {$19}                
 4676 | 21                 collision.s    316 | Code        | 11 |         |    1 | 00/1170 : 0A          |                          ASL                          
 4677 | 21                 collision.s    317 | Code        | 11 |         |    2 | 00/1171 : 65 19       |                          ADC     {$19}                ; *3
 4678 | 21                 collision.s    318 | Code        | 11 |         |    1 | 00/1173 : 0A          |                          ASL                          ; *6
 4679 | 21                 collision.s    319 | Code        | 11 |         |    1 | 00/1174 : 18          |                          CLC                          
 4680 | 21                 collision.s    320 | Code        | 11 |         |    2 | 00/1175 : 69 05       |                          ADC     #5                   ; bottom of tile
 4681 | 21                 collision.s    321 | Code        | 11 |         |    1 | 00/1177 : 38          |                          SEC                          ; surface found
 4682 | 21                 collision.s    322 | Code        | 11 |         |    1 | 00/1178 : 60          |                          RTS                          
 4683 | 21                 collision.s    323 | Empty       | 11 |         |    0 | 00/1179               |                                                       
 4684 | 21                 collision.s    324 | Code        | 11 |         |    1 | 00/1179 : 18          | _gsNone                  CLC                          
 4685 | 21                 collision.s    325 | Code        | 11 |         |    1 | 00/117A : 60          |                          RTS                          
 4686 | 21                 collision.s    326 | Empty       | 11 |         |    0 | 00/117B               |                                                       
 4687 | 21                 collision.s    327 | Comment     | 11 |         |    0 | 00/117B               | *----------------------------------------------
 4688 | 21                 collision.s    328 | Comment     | 11 |         |    0 | 00/117B               | * CheckLadderAt - Is there a ladder at this position?
 4689 | 21                 collision.s    329 | Comment     | 11 |         |    0 | 00/117B               | *
 4690 | 21                 collision.s    330 | Comment     | 11 |         |    0 | 00/117B               | * In:  X = pixel X, A = pixel Y
 4691 | 21                 collision.s    331 | Comment     | 11 |         |    0 | 00/117B               | * Out: Z=0 (BNE) if on ladder, Z=1 (BEQ) if not
 4692 | 21                 collision.s    332 | Comment     | 11 |         |    0 | 00/117B               | *----------------------------------------------
 4693 | 21                 collision.s    333 | Empty       | 11 |         |    0 | 00/117B               | CheckLadderAt                                         
 4694 | 21                 collision.s    334 | Code        | 11 |         |    3 | 00/117B : 20 40 10    |                          JSR     GetCollType          
 4695 | 21                 collision.s    335 | Code        | 11 |         |    2 | 00/117E : C9 02       |                          CMP     #{2}                 
 4696 | 21                 collision.s    336 | Code        | 11 |         |    2 | 00/1180 : F0 03       |                          BEQ     _yes                 
 4697 | 21                 collision.s    337 | Code        | 11 |         |    2 | 00/1182 : A9 00       |                          LDA     #0                   
 4698 | 21                 collision.s    338 | Code        | 11 |         |    1 | 00/1184 : 60          |                          RTS                          
 4699 | 21                 collision.s    339 | Code        | 11 |         |    2 | 00/1185 : A9 02       | _yes                     LDA     #{2}                 
 4700 | 21                 collision.s    340 | Code        | 11 |         |    1 | 00/1187 : 60          |                          RTS                          
 4701 | 21                 collision.s    341 | Empty       | 11 |         |    0 | 00/1188               |                                                       
 4702 |  1                    bagman.s     47 | Directive   | 11 |         |    0 | 00/1188               |                          PUT     guard_data.s         
 4703 | 22                guard_data.s      1 | Comment     | 11 |         |    0 | 00/1188               | *
 4704 | 22                guard_data.s      2 | Comment     | 11 |         |    0 | 00/1188               | * Bagman - Guard Data Tables (main RAM only)
 4705 | 22                guard_data.s      3 | Comment     | 11 |         |    0 | 00/1188               | *
 4706 | 22                guard_data.s      4 | Comment     | 11 |         |    0 | 00/1188               | * Mutable data tables that must be in main RAM.
 4707 | 22                guard_data.s      5 | Comment     | 11 |         |    0 | 00/1188               | * All code is in guard_lc.s (LC bank 2) and guard_1800.s.
 4708 | 22                guard_data.s      6 | Comment     | 11 |         |    0 | 00/1188               | *
 4709 | 22                guard_data.s      7 | Empty       | 11 |         |    0 | 00/1188               |                                                       
 4710 | 22                guard_data.s      8 | Comment     | 11 |         |    0 | 00/1188               | * Guard sprite frames
 4711 | 22                guard_data.s      9 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_IDLE              =       31                   
 4712 | 22                guard_data.s     10 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_WALK_R1           =       32                   
 4713 | 22                guard_data.s     11 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_WALK_L1           =       33                   
 4714 | 22                guard_data.s     12 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_WALK_R2           =       34                   
 4715 | 22                guard_data.s     13 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_WALK_L2           =       35                   
 4716 | 22                guard_data.s     14 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_CLIMB1            =       36                   
 4717 | 22                guard_data.s     15 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_CLIMB2            =       37                   
 4718 | 22                guard_data.s     16 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_FALL1             =       44                   
 4719 | 22                guard_data.s     17 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_FALL2             =       45                   
 4720 | 22                guard_data.s     18 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_FALL3             =       46                   
 4721 | 22                guard_data.s     19 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_STUN1             =       47                   
 4722 | 22                guard_data.s     20 | Equivalence | 11 |         |    0 | 00/1188               | FR_GRD_STUN2             =       48                   
 4723 | 22                guard_data.s     21 | Empty       | 11 |         |    0 | 00/1188               |                                                       
 4724 | 22                guard_data.s     22 | Comment     | 11 |         |    0 | 00/1188               | * Guard AI states
 4725 | 22                guard_data.s     23 | Equivalence | 11 |         |    0 | 00/1188               | GST_WANDER               =       0                    
 4726 | 22                guard_data.s     24 | Equivalence | 11 |         |    0 | 00/1188               | GST_PURSUIT              =       1                    
 4727 | 22                guard_data.s     25 | Equivalence | 11 |         |    0 | 00/1188               | GST_FLEE                 =       2                    
 4728 | 22                guard_data.s     26 | Equivalence | 11 |         |    0 | 00/1188               | GST_STUN                 =       3                    
 4729 | 22                guard_data.s     27 | Equivalence | 11 |         |    0 | 00/1188               | GST_FALL                 =       4                    
 4730 | 22                guard_data.s     28 | Equivalence | 11 |         |    0 | 00/1188               | GST_CLIMB                =       5                    
 4731 | 22                guard_data.s     29 | Empty       | 11 |         |    0 | 00/1188               |                                                       
 4732 | 22                guard_data.s     30 | Equivalence | 11 |         |    0 | 00/1188               | GUARD_COUNT              =       3                    
 4733 | 22                guard_data.s     31 | Empty       | 11 |         |    0 | 00/1188               |                                                       
 4734 | 22                guard_data.s     32 | Comment     | 11 |         |    0 | 00/1188               | * Per-page old-position buffers (page 3)
 4735 | 22                guard_data.s     33 | Comment     | 11 |         |    0 | 00/1188               | * Layout: GuardOld(9) | PrvGuard(9) | PrvElev(3) | PrvGuard P1(9) | PrvElev P1(3)
 4736 | 22                guard_data.s     34 | Equivalence | 11 |         |    0 | 00/1188               | GuardOldP0               =       $037C                
 4737 | 22                guard_data.s     35 | Equivalence | 11 |         |    0 | 00/1188               | GuardOldP1               =       $0385                
 4738 | 22                guard_data.s     36 | Equivalence | 11 |         |    0 | 00/1188               | PrvGuardOldP0            =       $038E                ; 9 bytes (guards 0-2)
 4739 | 22                guard_data.s     37 | Equivalence | 11 |         |    0 | 00/1188               | ELEV_SLOT_OFS            =       {3}*3                ; elevator at offset 9 from guard base
 4740 | 22                guard_data.s     38 | Equivalence | 11 |         |    0 | 00/1188               | PrvGuardOldP1            =       $039A                ; 9 bytes (guards 0-2), moved +3 for elev slot
 4741 | 22                guard_data.s     39 | Empty       | 11 |         |    0 | 00/1188               |                                                       
 4742 | 22                guard_data.s     40 | Comment     | 11 |         |    0 | 00/1188               | *----------------------------------------------
 4743 | 22                guard_data.s     41 | Comment     | 11 |         |    0 | 00/1188               | * Guard data tables (indexed 0-2)
 4744 | 22                guard_data.s     42 | Comment     | 11 |         |    0 | 00/1188               | *----------------------------------------------
 4745 | 22                guard_data.s     43 | Data        | 11 |         |    3 | 00/1188 : 32 3F 46    | GuardTblX                DFB     50,63,70             
 4746 | 22                guard_data.s     44 | Data        | 11 |         |    3 | 00/118B : 8D 45 93    | GuardTblY                DFB     141,69,147           
 4747 | 22                guard_data.s     45 | Data        | 11 |         |    3 | 00/118E : 00 01 02    | GuardTblMap              DFB     0,1,2                
 4748 | 22                guard_data.s     46 | Data        | 11 |         |    3 | 00/1191 : 00 00 00    | GuardTblSt               DFB     0,0,0                
 4749 | 22                guard_data.s     47 | Data        | 11 |         |    3 | 00/1194 : 00 01 00    | GuardTblDir              DFB     0,1,0                
 4750 | 22                guard_data.s     48 | Data        | 11 |         |    3 | 00/1197 : 1F 1F 1F    | GuardTblFr               DFB     31,31,31             
 4751 | 22                guard_data.s     49 | Data        | 11 |         |    3 | 00/119A : 00 00 00    | GuardTblAnim             DFB     0,0,0                
 4752 | 22                guard_data.s     50 | Data        | 11 |         |    3 | 00/119D : 00 00 00    | GuardStunTmr             DFB     0,0,0                
 4753 | 22                guard_data.s     51 | Data        | 11 |         |    3 | 00/11A0 : 00 00 00    | GuardSpeedAcc            DFB     0,0,0                
 4754 | 22                guard_data.s     52 | Data        | 11 |         |    3 | 00/11A3 : 00 00 00    | GuardTblInp              DFB     0,0,0                ; virtual joystick per guard (INP_* bits)
 4755 | 22                guard_data.s     53 | Data        | 11 |         |    3 | 00/11A6 : 00 00 00    | GuardBlocked             DFB     0,0,0                ; handler->AI: move blocked this frame
 4756 | 22                guard_data.s     54 | Data        | 11 |         |    1 | 00/11A9 : 42          | GuardRng                 DFB     $42                  ; 8-bit LFSR seed for wander "wrong turns"
 4757 | 22                guard_data.s     55 | Data        | 11 |         |    3 | 00/11AA : 00 00 00    | GuardOnElev              DFB     0,0,0                ; per-guard: 1 = riding the elevator car
 4758 | 22                guard_data.s     56 | Data        | 11 |         |    3 | 00/11AD : 00 00 00    | GuardWaitTmr             DFB     0,0,0                ; per-guard: ambush hold at landings and ladder tops
 4759 | 22                guard_data.s     57 | Data        | 11 |         |    3 | 00/11B0 : 00 00 00    | GuardClimbEntryY         DFB     0,0,0                ; per-guard: EntY at the frame the guard entered CLIMB
 4760 | 22                guard_data.s     58 | Empty       | 11 |         |    0 | 00/11B3               |                                                       
 4761 | 22                guard_data.s     59 | Comment     | 11 |         |    0 | 00/11B3               | * PlayerHasPickaxe: 1 while the player holds an active pickaxe.
 4762 | 22                guard_data.s     60 | Comment     | 11 |         |    0 | 00/11B3               | * TODO: the pickaxe weapon itself (sprite, pickup, timer) isn't
 4763 | 22                guard_data.s     61 | Comment     | 11 |         |    0 | 00/11B3               | * implemented yet - this byte is always 0 today, so GST_FLEE is
 4764 | 22                guard_data.s     62 | Comment     | 11 |         |    0 | 00/11B3               | * never entered. When the pickaxe is added, set this flag while
 4765 | 22                guard_data.s     63 | Comment     | 11 |         |    0 | 00/11B3               | * the timer is running and clear it on expiry; the FLEE wiring
 4766 | 22                guard_data.s     64 | Comment     | 11 |         |    0 | 00/11B3               | * below will take over automatically.
 4767 | 22                guard_data.s     65 | Data        | 11 |         |    1 | 00/11B3 : 00          | PlayerHasPickaxe         DFB     0                    
 4768 | 22                guard_data.s     66 | Data        | 11 |         |    1 | 00/11B4 : 00          | PickaxeTimer             DFB     0                    ; frames remaining while carried (0 = not armed)
 4769 | 22                guard_data.s     67 | Data        | 11 |         |    1 | 00/11B5 : 00          | PickaxeRespawnTmr        DFB     0                    ; frames remaining while hidden post-consume
 4770 | 22                guard_data.s     68 | Equivalence | 11 |         |    0 | 00/11B6               | PICKAXE_DURATION         =       240                  ; ~8s @ 30fps
 4771 | 22                guard_data.s     69 | Equivalence | 11 |         |    0 | 00/11B6               | PICKAXE_RESPAWN          =       200                  ; ~6.7s @ 30fps
 4772 | 22                guard_data.s     70 | Comment     | 11 |         |    0 | 00/11B6               | * Pickaxe ground-sprite per-page old position ($FF Fr = not drawn).
 4773 | 22                guard_data.s     71 | Comment     | 11 |         |    0 | 00/11B6               | * Slot 3 in LootTbl has no room in the 9-byte GLootOldP0/P1 arenas,
 4774 | 22                guard_data.s     72 | Comment     | 11 |         |    0 | 00/11B6               | * so the pickaxe uses its own dedicated pair.
 4775 | 22                guard_data.s     73 | Data        | 11 |         |    3 | 00/11B6 : 00 00 FF    | PickOldP0                DFB     0,0,$FF              ; page 0: X, Y, Fr
 4776 | 22                guard_data.s     74 | Data        | 11 |         |    3 | 00/11B9 : 00 00 FF    | PickOldP1                DFB     0,0,$FF              ; page 1: X, Y, Fr
 4777 | 22                guard_data.s     75 | Empty       | 11 |         |    0 | 00/11BC               |                                                       
 4778 | 22                guard_data.s     76 | Equivalence | 11 |         |    0 | 00/11BC               | WAIT_FRAMES              =       30                   ; ~1s pause after a ladder/elevator exit
 4779 | 22                guard_data.s     77 | Empty       | 11 |         |    0 | 00/11BC               |                                                       
 4780 | 22                guard_data.s     78 | Comment     | 11 |         |    0 | 00/11BC               | * Init tables (for level reset)
 4781 | 22                guard_data.s     79 | Data        | 11 |         |    3 | 00/11BC : 32 3F 46    | GuardInitX               DFB     50,63,70             
 4782 | 22                guard_data.s     80 | Data        | 11 |         |    3 | 00/11BF : 93 4B 99    | GuardInitY               DFB     147,75,153           
 4783 | 22                guard_data.s     81 | Data        | 11 |         |    3 | 00/11C2 : 00 01 02    | GuardInitMap             DFB     0,1,2                
 4784 | 22                guard_data.s     82 | Data        | 11 |         |    3 | 00/11C5 : 00 01 00    | GuardInitDir             DFB     0,1,0                
 4785 | 22                guard_data.s     83 | Empty       | 11 |         |    0 | 00/11C8               |                                                       
 4786 | 22                guard_data.s     84 | Comment     | 11 |         |    0 | 00/11C8               | * Difficulty vars
 4787 | 22                guard_data.s     85 | Data        | 11 |         |    1 | 00/11C8 : 01          | GuardActiveCount         DFB     1                    
 4788 | 22                guard_data.s     86 | Data        | 11 |         |    1 | 00/11C9 : 00          | DiffLevel                DFB     0                    
 4789 | 22                guard_data.s     87 | Data        | 11 |         |    1 | 00/11CA : 66          | GuardBaseSpeed           DFB     {102}                ; 8-bit accumulator adder; moves on overflow
 4790 | 22                guard_data.s     88 | Data        | 11 |         |    1 | 00/11CB : 96          | StunDuration             DFB     150                  
 4791 | 22                guard_data.s     89 | Data        | 11 |         |    1 | 00/11CC : 01          | RoundNumBCD              DFB     $01                  ; 1..99 (BCD); shown on intermission screen
 4792 | 22                guard_data.s     90 | Empty       | 11 |         |    0 | 00/11CD               |                                                       
 4793 | 22                guard_data.s     91 | Comment     | 11 |         |    0 | 00/11CD               | * Score-driven guard speed tier (0..4). Bumps at 10k/20k/30k/40k.
 4794 | 22                guard_data.s     92 | Comment     | 11 |         |    0 | 00/11CD               | * Persists across deaths and levels; reset only on new game.
 4795 | 22                guard_data.s     93 | Data        | 11 |         |    1 | 00/11CD : 00          | GuardSpdTier             DFB     0                    
 4796 | 22                guard_data.s     94 | Empty       | 11 |         |    0 | 00/11CE               |                                                       
 4797 | 22                guard_data.s     95 | Comment     | 11 |         |    0 | 00/11CE               | * Player movement speed (8.8 fixed, px/frame). Updated whenever the
 4798 | 22                guard_data.s     96 | Comment     | 11 |         |    0 | 00/11CE               | * player's carry state changes (SetPlayerCarrySpeed).
 4799 | 22                guard_data.s     97 | Comment     | 11 |         |    0 | 00/11CE               | * Normal = $0100 (1.0), yellow bag = $0080 (0.5), blue bag = $0055 (0.333).
 4800 | 22                guard_data.s     98 | Data        | 11 |         |    1 | 00/11CE : 00          | PlayerSpeedLo            DFB     {$00}                
 4801 | 22                guard_data.s     99 | Data        | 11 |         |    1 | 00/11CF : 01          | PlayerSpeedHi            DFB     {$01}                
 4802 | 22                guard_data.s    100 | Empty       | 11 |         |    0 | 00/11D0               |                                                       
 4803 | 22                guard_data.s    101 | Comment     | 11 |         |    0 | 00/11D0               | * Per-actor 16-bit accumulators (8.8 fixed). Each frame:
 4804 | 22                guard_data.s    102 | Comment     | 11 |         |    0 | 00/11D0               | *   acc += speed; pixels_this_frame = acc.hi; acc.hi = 0.
 4805 | 22                guard_data.s    103 | Data        | 11 |         |    1 | 00/11D0 : 00          | PlayerWalkAccLo          DFB     0                    
 4806 | 22                guard_data.s    104 | Data        | 11 |         |    1 | 00/11D1 : 00          | PlayerWalkAccHi          DFB     0                    
 4807 | 22                guard_data.s    105 | Data        | 11 |         |    1 | 00/11D2 : 00          | PlayerClimbAccLo         DFB     0                    
 4808 | 22                guard_data.s    106 | Data        | 11 |         |    1 | 00/11D3 : 00          | PlayerClimbAccHi         DFB     0                    
 4809 | 22                guard_data.s    107 | Data        | 11 |         |    1 | 00/11D4 : 00          | PlayerFallAccLo          DFB     0                    
 4810 | 22                guard_data.s    108 | Data        | 11 |         |    1 | 00/11D5 : 00          | PlayerFallAccHi          DFB     0                    
 4811 | 22                guard_data.s    109 | Data        | 11 |         |    1 | 00/11D6 : 00          | ElevAccLo                DFB     0                    
 4812 | 22                guard_data.s    110 | Data        | 11 |         |    1 | 00/11D7 : 00          | ElevAccHi                DFB     0                    
 4813 | 22                guard_data.s    111 | Empty       | 11 |         |    0 | 00/11D8               |                                                       
 4814 | 22                guard_data.s    112 | Comment     | 11 |         |    0 | 00/11D8               | * Scoring / lives / bonus-timer state
 4815 | 22                guard_data.s    113 | Comment     | 11 |         |    0 | 00/11D8               | * ScoreBCD is little-endian packed BCD (3 bytes = 6 digits max = 999999)
 4816 | 22                guard_data.s    114 | Comment     | 11 |         |    0 | 00/11D8               | * BonusBCD is little-endian packed BCD (2 bytes = 4 digits = 0..9999)
 4817 | 22                guard_data.s    115 | Data        | 11 |         |    1 | 00/11D8 : 02          | Lives                    DFB     2                    ; reserve lives (active life is separate; 3 total = 1 active + 2 reserves)
 4818 | 22                guard_data.s    116 | Comment     | 11 |         |    0 | 00/11D9               | * 4-byte packed BCD, little-endian -> 8 decimal digits (up to 99,999,999)
 4819 | 22                guard_data.s    117 | Data        | 11 |         |    4 | 00/11D9 : 00 00 00 00 | ScoreBCD                 DFB     0,0,0,0              
 4820 | 22                guard_data.s    118 | Comment     | 11 |         |    0 | 00/11DD               | * Snapshot of ScoreBCD taken the moment ScoreDirty is set to 2.
 4821 | 22                guard_data.s    119 | Comment     | 11 |         |    0 | 00/11DD               | * DrawScore reads this snapshot so both halves of the 2-frame redraw
 4822 | 22                guard_data.s    120 | Comment     | 11 |         |    0 | 00/11DD               | * paint the same value, even if silent AddScoreNoDirty calls mutate
 4823 | 22                guard_data.s    121 | Comment     | 11 |         |    0 | 00/11DD               | * ScoreBCD between the two frames.
 4824 | 22                guard_data.s    122 | Data        | 11 |         |    4 | 00/11DD : 00 00 00 00 | ScoreBCDDsp              DFB     0,0,0,0              
 4825 | 22                guard_data.s    123 | Data        | 11 |         |    2 | 00/11E1 : 00 50       | BonusBCD                 DFB     $00,$50              ; start bonus 5000
 4826 | 22                guard_data.s    124 | Data        | 11 |         |    1 | 00/11E3 : 00          | BonusTickCtr             DFB     0                    
 4827 | 22                guard_data.s    125 | Data        | 11 |         |    1 | 00/11E4 : 00          | GameOverFlag             DFB     0                    
 4828 | 22                guard_data.s    126 | Data        | 11 |         |    1 | 00/11E5 : 00          | GameOverTimer            DFB     0                    
 4829 | 22                guard_data.s    127 | Data        | 11 |         |    1 | 00/11E6 : 00          | ExtraLifeFlag            DFB     0                    ; 1 after 30k award so we don't re-award
 4830 | 22                guard_data.s    128 | Data        | 11 |         |    1 | 00/11E7 : 00          | DeathTimer               DFB     0                    
 4831 | 22                guard_data.s    129 | Data        | 11 |         |    1 | 00/11E8 : 00          | DeathSfxTimer            DFB     0                    ; counts down in DoDeath; plays tune on 1->0
 4832 | 22                guard_data.s    130 | Data        | 11 |         |    1 | 00/11E9 : 00          | RespawnPending           DFB     0                    ; MainLoop picks this up after DoDeath
 4833 | 22                guard_data.s    131 | Data        | 11 |         |    1 | 00/11EA : 00          | ScoreDirty               DFB     0                    
 4834 | 22                guard_data.s    132 | Data        | 11 |         |    1 | 00/11EB : 00          | BonusDirty               DFB     0                    
 4835 | 22                guard_data.s    133 | Data        | 11 |         |    1 | 00/11EC : 00          | LivesDirty               DFB     0                    
 4836 | 22                guard_data.s    134 | Data        | 11 |         |    1 | 00/11ED : 00          | PreviewWakeCnt           DFB     0                    ; 2-frame sleep counter for preview block
 4837 | 22                guard_data.s    135 | Data        | 11 |         |    1 | 00/11EE : 00          | PreviewRun               DFB     0                    ; 1 = run preview erase/draw this frame
 4838 | 22                guard_data.s    136 | Empty       | 11 |         |    0 | 00/11EF               |                                                       
 4839 | 22                guard_data.s    137 | Equivalence | 11 |         |    0 | 00/11EF               | BONUS_START_LO           =       $00                  ; bonus init low  byte (BCD)
 4840 | 22                guard_data.s    138 | Equivalence | 11 |         |    0 | 00/11EF               | BONUS_START_HI           =       $50                  ; bonus init high byte (BCD) -> 5000
 4841 | 22                guard_data.s    139 | Equivalence | 11 |         |    0 | 00/11EF               | BONUS_TICK_PERIOD        =       5                    ; frames between bonus decrements
 4842 | 22                guard_data.s    140 | Equivalence | 11 |         |    0 | 00/11EF               | GAME_OVER_FRAMES         =       90                   ; ~3 seconds @ 30fps
 4843 | 22                guard_data.s    141 | Equivalence | 11 |         |    0 | 00/11EF               | DEATH_ANIM_FRAMES        =       60                   ; matches stun duration; refine after testing
 4844 | 22                guard_data.s    142 | Equivalence | 11 |         |    0 | 00/11EF               | DEATH_SFX_DELAY          =       9                    ; DoDeath calls before death tune fires
 4845 | 22                guard_data.s    143 | Comment     | 11 |         |    0 | 00/11EF               |                                     ; (frame 14 visible after tick 9; see plan)
 4846 | 22                guard_data.s    144 | Equivalence | 11 |         |    0 | 00/11EF               | LIVES_MAX                =       6                    ; reserve-lives cap
 4847 | 22                guard_data.s    145 | Empty       | 11 |         |    0 | 00/11EF               |                                                       
 4848 | 22                guard_data.s    146 | Comment     | 11 |         |    0 | 00/11EF               | *----------------------------------------------
 4849 | 22                guard_data.s    147 | Comment     | 11 |         |    0 | 00/11EF               | * CheckLootHitGuard - Falling loot hits guard -> stun
 4850 | 22                guard_data.s    148 | Comment     | 11 |         |    0 | 00/11EF               | * In: X = loot item index
 4851 | 22                guard_data.s    149 | Comment     | 11 |         |    0 | 00/11EF               | *----------------------------------------------
 4852 | 22                guard_data.s    150 | Empty       | 11 |         |    0 | 00/11EF               | CheckLootHitGuard                                     
 4853 | 22                guard_data.s    151 | Code        | 11 |         |    3 | 00/11EF : BD 7D 73    |                          LDA     LootTblMap,X         
 4854 | 22                guard_data.s    152 | Code        | 11 |         |    2 | 00/11F2 : 85 F5       |                          STA     {$F5}                
 4855 | 22                guard_data.s    153 | Code        | 11 |         |    3 | 00/11F4 : BD 75 73    |                          LDA     LootTblX,X           
 4856 | 22                guard_data.s    154 | Code        | 11 |         |    2 | 00/11F7 : 85 1A       |                          STA     {$1A}                
 4857 | 22                guard_data.s    155 | Code        | 11 |         |    3 | 00/11F9 : BD 79 73    |                          LDA     LootTblY,X           
 4858 | 22                guard_data.s    156 | Code        | 11 |         |    2 | 00/11FC : 85 1B       |                          STA     {$1B}                
 4859 | 22                guard_data.s    157 | Code        | 11 |         |    1 | 00/11FE : DA          |                          PHX                          
 4860 | 22                guard_data.s    158 | Code        | 11 |         |    3 | 00/11FF : 20 10 12    |                          JSR     _StunNearbyGuards    
 4861 | 22                guard_data.s    159 | Code        | 11 |         |    1 | 00/1202 : FA          |                          PLX                          
 4862 | 22                guard_data.s    160 | Code        | 11 |         |    1 | 00/1203 : 60          |                          RTS                          
 4863 | 22                guard_data.s    161 | Empty       | 11 |         |    0 | 00/1204               |                                                       
 4864 | 22                guard_data.s    162 | Comment     | 11 |         |    0 | 00/1204               | *----------------------------------------------
 4865 | 22                guard_data.s    163 | Comment     | 11 |         |    0 | 00/1204               | * CheckWBHitGuard - Pushed WB hits guard -> stun
 4866 | 22                guard_data.s    164 | Comment     | 11 |         |    0 | 00/1204               | *----------------------------------------------
 4867 | 22                guard_data.s    165 | Empty       | 11 |         |    0 | 00/1204               | CheckWBHitGuard                                       
 4868 | 22                guard_data.s    166 | Code        | 11 |         |    2 | 00/1204 : A5 1C       |                          LDA     {$1C}                
 4869 | 22                guard_data.s    167 | Code        | 11 |         |    2 | 00/1206 : 85 F5       |                          STA     {$F5}                
 4870 | 22                guard_data.s    168 | Code        | 11 |         |    2 | 00/1208 : A5 33       |                          LDA     {$33}                
 4871 | 22                guard_data.s    169 | Code        | 11 |         |    2 | 00/120A : 85 1A       |                          STA     {$1A}                
 4872 | 22                guard_data.s    170 | Code        | 11 |         |    2 | 00/120C : A5 34       |                          LDA     {$34}                
 4873 | 22                guard_data.s    171 | Code        | 11 |         |    2 | 00/120E : 85 1B       |                          STA     {$1B}                
 4874 | 22                guard_data.s    172 | Comment     | 11 |         |    0 | 00/1210               | *        fall through to _StunNearbyGuards
 4875 | 22                guard_data.s    173 | Empty       | 11 |         |    0 | 00/1210               |                                                       
 4876 | 22                guard_data.s    174 | Comment     | 11 |         |    0 | 00/1210               | *----------------------------------------------
 4877 | 22                guard_data.s    175 | Comment     | 11 |         |    0 | 00/1210               | * _StunNearbyGuards - Stun any guard near Temp3/Temp4 on map AITemp
 4878 | 22                guard_data.s    176 | Comment     | 11 |         |    0 | 00/1210               | * In: AITemp=map, Temp3=X, Temp4=Y
 4879 | 22                guard_data.s    177 | Comment     | 11 |         |    0 | 00/1210               | *----------------------------------------------
 4880 | 22                guard_data.s    178 | Empty       | 11 |         |    0 | 00/1210               | _StunNearbyGuards                                     
 4881 | 22                guard_data.s    179 | Code        | 11 |         |    2 | 00/1210 : A2 00       |                          LDX     #0                   
 4882 | 22                guard_data.s    180 | Code        | 11 |         |    3 | 00/1212 : EC C8 11    | _sngLoop                 CPX     GuardActiveCount     
 4883 | 22                guard_data.s    181 | Code        | 11 |         |    2 | 00/1215 : B0 48       |                          BCS     _sngDone             
 4884 | 22                guard_data.s    182 | Code        | 11 |         |    3 | 00/1217 : BD 8E 11    |                          LDA     GuardTblMap,X        
 4885 | 22                guard_data.s    183 | Code        | 11 |         |    2 | 00/121A : C5 F5       |                          CMP     {$F5}                
 4886 | 22                guard_data.s    184 | Code        | 11 |         |    2 | 00/121C : D0 3E       |                          BNE     _sngNext             
 4887 | 22                guard_data.s    185 | Code        | 11 |         |    3 | 00/121E : BD 91 11    |                          LDA     GuardTblSt,X         
 4888 | 22                guard_data.s    186 | Code        | 11 |         |    2 | 00/1221 : C9 03       |                          CMP     #{3}                 
 4889 | 22                guard_data.s    187 | Code        | 11 |         |    2 | 00/1223 : F0 37       |                          BEQ     _sngNext             
 4890 | 22                guard_data.s    188 | Code        | 11 |         |    2 | 00/1225 : C9 04       |                          CMP     #{4}                 
 4891 | 22                guard_data.s    189 | Code        | 11 |         |    2 | 00/1227 : F0 33       |                          BEQ     _sngNext             
 4892 | 22                guard_data.s    190 | Code        | 11 |         |    3 | 00/1229 : BD 88 11    |                          LDA     GuardTblX,X          
 4893 | 22                guard_data.s    191 | Code        | 11 |         |    1 | 00/122C : 38          |                          SEC                          
 4894 | 22                guard_data.s    192 | Code        | 11 |         |    2 | 00/122D : E5 1A       |                          SBC     {$1A}                
 4895 | 22                guard_data.s    193 | Code        | 11 |         |    2 | 00/122F : 10 03       |                          BPL     _sngXP               
 4896 | 22                guard_data.s    194 | Code        | 11 |         |    2 | 00/1231 : 49 FF       |                          EOR     #$FF                 
 4897 | 22                guard_data.s    195 | Code        | 11 |         |    1 | 00/1233 : 1A          |                          INC                          
 4898 | 22                guard_data.s    196 | Code        | 11 |         |    2 | 00/1234 : C9 07       | _sngXP                   CMP     #7                   
 4899 | 22                guard_data.s    197 | Code        | 11 |         |    2 | 00/1236 : B0 24       |                          BCS     _sngNext             
 4900 | 22                guard_data.s    198 | Code        | 11 |         |    3 | 00/1238 : BD 8B 11    |                          LDA     GuardTblY,X          
 4901 | 22                guard_data.s    199 | Code        | 11 |         |    1 | 00/123B : 38          |                          SEC                          
 4902 | 22                guard_data.s    200 | Code        | 11 |         |    2 | 00/123C : E5 1B       |                          SBC     {$1B}                
 4903 | 22                guard_data.s    201 | Code        | 11 |         |    2 | 00/123E : 10 03       |                          BPL     _sngYP               
 4904 | 22                guard_data.s    202 | Code        | 11 |         |    2 | 00/1240 : 49 FF       |                          EOR     #$FF                 
 4905 | 22                guard_data.s    203 | Code        | 11 |         |    1 | 00/1242 : 1A          |                          INC                          
 4906 | 22                guard_data.s    204 | Code        | 11 |         |    2 | 00/1243 : C9 0A       | _sngYP                   CMP     #10                  
 4907 | 22                guard_data.s    205 | Code        | 11 |         |    2 | 00/1245 : B0 15       |                          BCS     _sngNext             
 4908 | 22                guard_data.s    206 | Code        | 11 |         |    2 | 00/1247 : A9 03       |                          LDA     #{3}                 
 4909 | 22                guard_data.s    207 | Code        | 11 |         |    3 | 00/1249 : 9D 91 11    |                          STA     GuardTblSt,X         
 4910 | 22                guard_data.s    208 | Code        | 11 |         |    3 | 00/124C : AD CB 11    |                          LDA     StunDuration         
 4911 | 22                guard_data.s    209 | Code        | 11 |         |    3 | 00/124F : 9D 9D 11    |                          STA     GuardStunTmr,X       
 4912 | 22                guard_data.s    210 | Code        | 11 |         |    2 | 00/1252 : A9 2C       |                          LDA     #{44}                
 4913 | 22                guard_data.s    211 | Code        | 11 |         |    3 | 00/1254 : 9D 97 11    |                          STA     GuardTblFr,X         
 4914 | 22                guard_data.s    212 | Code        | 11 |         |    1 | 00/1257 : DA          |                          PHX                          
 4915 | 22                guard_data.s    213 | Code        | 11 |         |    3 | 00/1258 : 20 BE 67    |                          JSR     Add500               ; +500 per stunned guard
 4916 | 22                guard_data.s    214 | Code        | 11 |         |    1 | 00/125B : FA          |                          PLX                          
 4917 | 22                guard_data.s    215 | Code        | 11 |         |    1 | 00/125C : E8          | _sngNext                 INX                          
 4918 | 22                guard_data.s    216 | Code        | 11 |         |    2 | 00/125D : 80 B3       |                          BRA     _sngLoop             
 4919 | 22                guard_data.s    217 | Code        | 11 |         |    1 | 00/125F : 60          | _sngDone                 RTS                          
 4920 | 22                guard_data.s    218 | Empty       | 11 |         |    0 | 00/1260               |                                                       
 4921 | 22                guard_data.s    219 | Comment     | 11 |         |    0 | 00/1260               | *----------------------------------------------
 4922 | 22                guard_data.s    220 | Comment     | 11 |         |    0 | 00/1260               | * GuardWalkAnim - Shared walk animation for wander/pursuit.
 4923 | 22                guard_data.s    221 | Comment     | 11 |         |    0 | 00/1260               | * Cycles walk frames every 4 game frames. Moved from LC bank 2 to
 4924 | 22                guard_data.s    222 | Comment     | 11 |         |    0 | 00/1260               | * keep room for the landing-aware climb logic below.
 4925 | 22                guard_data.s    223 | Comment     | 11 |         |    0 | 00/1260               | *----------------------------------------------
 4926 | 22                guard_data.s    224 | Empty       | 11 |         |    0 | 00/1260               | GuardWalkAnim                                         
 4927 | 22                guard_data.s    225 | Code        | 11 |         |    2 | 00/1260 : A6 F4       |                          LDX     {$F4}                
 4928 | 22                guard_data.s    226 | Code        | 11 |         |    3 | 00/1262 : FE 9A 11    |                          INC     GuardTblAnim,X       
 4929 | 22                guard_data.s    227 | Code        | 11 |         |    3 | 00/1265 : BD 9A 11    |                          LDA     GuardTblAnim,X       
 4930 | 22                guard_data.s    228 | Code        | 11 |         |    2 | 00/1268 : 29 03       |                          AND     #$03                 
 4931 | 22                guard_data.s    229 | Code        | 11 |         |    2 | 00/126A : D0 24       |                          BNE     _gaDone              
 4932 | 22                guard_data.s    230 | Code        | 11 |         |    3 | 00/126C : BD 94 11    |                          LDA     GuardTblDir,X        
 4933 | 22                guard_data.s    231 | Code        | 11 |         |    2 | 00/126F : D0 0F       |                          BNE     _gaLeft              
 4934 | 22                guard_data.s    232 | Code        | 11 |         |    3 | 00/1271 : BD 97 11    |                          LDA     GuardTblFr,X         
 4935 | 22                guard_data.s    233 | Code        | 11 |         |    2 | 00/1274 : C9 22       |                          CMP     #{34}                
 4936 | 22                guard_data.s    234 | Code        | 11 |         |    2 | 00/1276 : F0 04       |                          BEQ     _gaR1                
 4937 | 22                guard_data.s    235 | Code        | 11 |         |    2 | 00/1278 : A9 22       |                          LDA     #{34}                
 4938 | 22                guard_data.s    236 | Code        | 11 |         |    2 | 00/127A : 80 11       |                          BRA     _gaSet               
 4939 | 22                guard_data.s    237 | Code        | 11 |         |    2 | 00/127C : A9 20       | _gaR1                    LDA     #{32}                
 4940 | 22                guard_data.s    238 | Code        | 11 |         |    2 | 00/127E : 80 0D       |                          BRA     _gaSet               
 4941 | 22                guard_data.s    239 | Code        | 11 |         |    3 | 00/1280 : BD 97 11    | _gaLeft                  LDA     GuardTblFr,X         
 4942 | 22                guard_data.s    240 | Code        | 11 |         |    2 | 00/1283 : C9 23       |                          CMP     #{35}                
 4943 | 22                guard_data.s    241 | Code        | 11 |         |    2 | 00/1285 : F0 04       |                          BEQ     _gaL1                
 4944 | 22                guard_data.s    242 | Code        | 11 |         |    2 | 00/1287 : A9 23       |                          LDA     #{35}                
 4945 | 22                guard_data.s    243 | Code        | 11 |         |    2 | 00/1289 : 80 02       |                          BRA     _gaSet               
 4946 | 22                guard_data.s    244 | Code        | 11 |         |    2 | 00/128B : A9 21       | _gaL1                    LDA     #{33}                
 4947 | 22                guard_data.s    245 | Code        | 11 |         |    3 | 00/128D : 9D 97 11    | _gaSet                   STA     GuardTblFr,X         
 4948 | 22                guard_data.s    246 | Code        | 11 |         |    1 | 00/1290 : 60          | _gaDone                  RTS                          
 4949 | 22                guard_data.s    247 | Empty       | 11 |         |    0 | 00/1291               |                                                       
 4950 | 22                guard_data.s    248 | Comment     | 11 |         |    0 | 00/1291               | * _GuardAtLanding moved to guard_lc_d0.s ($D000 overflow, 120 bytes
 4951 | 22                guard_data.s    249 | Comment     | 11 |         |    0 | 00/1291               | * available) to make room in the $1800 block for the reversal
 4952 | 22                guard_data.s    250 | Comment     | 11 |         |    0 | 00/1291               | * probe on the far side.
 4953 | 22                guard_data.s    251 | Empty       | 11 |         |    0 | 00/1291               |                                                       
 4954 | 22                guard_data.s    252 | Comment     | 11 |         |    0 | 00/1291               | *----------------------------------------------
 4955 | 22                guard_data.s    253 | Comment     | 11 |         |    0 | 00/1291               | * _GuardClimbFarFromEntry - |EntY - GuardClimbEntryY| >= 6?
 4956 | 22                guard_data.s    254 | Comment     | 11 |         |    0 | 00/1291               | *
 4957 | 22                guard_data.s    255 | Comment     | 11 |         |    0 | 00/1291               | * _GuardAtLanding calls this before reporting a landing. Without
 4958 | 22                guard_data.s    256 | Comment     | 11 |         |    0 | 00/1291               | * it the first CLIMB frame would see the entry landing as an
 4959 | 22                guard_data.s    257 | Comment     | 11 |         |    0 | 00/1291               | * immediate exit candidate and the guard would step right back
 4960 | 22                guard_data.s    258 | Comment     | 11 |         |    0 | 00/1291               | * onto the platform it just walked off of. A threshold of 6 (one
 4961 | 22                guard_data.s    259 | Comment     | 11 |         |    0 | 00/1291               | * tile row) covers the entry floor without being so large that
 4962 | 22                guard_data.s    260 | Comment     | 11 |         |    0 | 00/1291               | * legitimate adjacent landings get skipped.
 4963 | 22                guard_data.s    261 | Comment     | 11 |         |    0 | 00/1291               | *
 4964 | 22                guard_data.s    262 | Comment     | 11 |         |    0 | 00/1291               | * Out: C=1 if |dy| >= 6 (far enough - exits allowed).
 4965 | 22                guard_data.s    263 | Comment     | 11 |         |    0 | 00/1291               | *      C=0 if |dy| <  6 (too close - caller should skip).
 4966 | 22                guard_data.s    264 | Comment     | 11 |         |    0 | 00/1291               | *----------------------------------------------
 4967 | 22                guard_data.s    265 | Empty       | 11 |         |    0 | 00/1291               | _GuardClimbFarFromEntry                               
 4968 | 22                guard_data.s    266 | Code        | 11 |         |    2 | 00/1291 : A6 F4       |                          LDX     {$F4}                
 4969 | 22                guard_data.s    267 | Code        | 11 |         |    2 | 00/1293 : A5 F7       |                          LDA     {$F7}                
 4970 | 22                guard_data.s    268 | Code        | 11 |         |    1 | 00/1295 : 38          |                          SEC                          
 4971 | 22                guard_data.s    269 | Code        | 11 |         |    3 | 00/1296 : FD B0 11    |                          SBC     GuardClimbEntryY,X   
 4972 | 22                guard_data.s    270 | Code        | 11 |         |    2 | 00/1299 : 10 03       |                          BPL     _gcfDyP              
 4973 | 22                guard_data.s    271 | Code        | 11 |         |    2 | 00/129B : 49 FF       |                          EOR     #$FF                 
 4974 | 22                guard_data.s    272 | Code        | 11 |         |    1 | 00/129D : 1A          |                          INC                          
 4975 | 22                guard_data.s    273 | Code        | 11 |         |    2 | 00/129E : C9 06       | _gcfDyP                  CMP     #6                   
 4976 | 22                guard_data.s    274 | Code        | 11 |         |    2 | 00/12A0 : B0 02       |                          BCS     _gcfFar              
 4977 | 22                guard_data.s    275 | Code        | 11 |         |    1 | 00/12A2 : 18          |                          CLC                          
 4978 | 22                guard_data.s    276 | Code        | 11 |         |    1 | 00/12A3 : 60          |                          RTS                          
 4979 | 22                guard_data.s    277 | Code        | 11 |         |    1 | 00/12A4 : 38          | _gcfFar                  SEC                          
 4980 | 22                guard_data.s    278 | Code        | 11 |         |    1 | 00/12A5 : 60          |                          RTS                          
 4981 | 22                guard_data.s    279 | Empty       | 11 |         |    0 | 00/12A6               |                                                       
 4982 | 22                guard_data.s    280 | Comment     | 11 |         |    0 | 00/12A6               | *----------------------------------------------
 4983 | 22                guard_data.s    281 | Comment     | 11 |         |    0 | 00/12A6               | * _GuardFearFrame - Pickaxe-fear state check + flee input emit
 4984 | 22                guard_data.s    282 | Comment     | 11 |         |    0 | 00/12A6               | *
 4985 | 22                guard_data.s    283 | Comment     | 11 |         |    0 | 00/12A6               | * Called once per guard at the top of GuardDecideInputs. When the
 4986 | 22                guard_data.s    284 | Comment     | 11 |         |    0 | 00/12A6               | * player holds a pickaxe and the guard is on the same map in a
 4987 | 22                guard_data.s    285 | Comment     | 11 |         |    0 | 00/12A6               | * fear-able state (WANDER/PURSUIT/FLEE), forces GST_FLEE and emits
 4988 | 22                guard_data.s    286 | Comment     | 11 |         |    0 | 00/12A6               | * an INP_LEFT/RIGHT flag pointing AWAY from the player. When the
 4989 | 22                guard_data.s    287 | Comment     | 11 |         |    0 | 00/12A6               | * pickaxe flag is clear (or the guard is on another map), demotes
 4990 | 22                guard_data.s    288 | Comment     | 11 |         |    0 | 00/12A6               | * any lingering GST_FLEE back to GST_WANDER.
 4991 | 22                guard_data.s    289 | Comment     | 11 |         |    0 | 00/12A6               | *
 4992 | 22                guard_data.s    290 | Comment     | 11 |         |    0 | 00/12A6               | * STUN / FALL / CLIMB are left alone so a stunned or falling guard
 4993 | 22                guard_data.s    291 | Comment     | 11 |         |    0 | 00/12A6               | * doesn't teleport direction mid-animation; they'll pick up FLEE
 4994 | 22                guard_data.s    292 | Comment     | 11 |         |    0 | 00/12A6               | * naturally after they land and return to WANDER.
 4995 | 22                guard_data.s    293 | Comment     | 11 |         |    0 | 00/12A6               | *
 4996 | 22                guard_data.s    294 | Comment     | 11 |         |    0 | 00/12A6               | * Out: C=1 if fear handled (caller should RTS without running the
 4997 | 22                guard_data.s    295 | Comment     | 11 |         |    0 | 00/12A6               | *      normal transition logic). C=0 otherwise.
 4998 | 22                guard_data.s    296 | Comment     | 11 |         |    0 | 00/12A6               | *----------------------------------------------
 4999 | 22                guard_data.s    297 | Empty       | 11 |         |    0 | 00/12A6               | _GuardFearFrame                                       
 5000 | 22                guard_data.s    298 | Code        | 11 |         |    2 | 00/12A6 : A6 F4       |                          LDX     {$F4}                
 5001 | 22                guard_data.s    299 | Code        | 11 |         |    3 | 00/12A8 : AD B3 11    |                          LDA     PlayerHasPickaxe     
 5002 | 22                guard_data.s    300 | Code        | 11 |         |    2 | 00/12AB : F0 27       |                          BEQ     _gffDem              
 5003 | 22                guard_data.s    301 | Code        | 11 |         |    3 | 00/12AD : BD 8E 11    |                          LDA     GuardTblMap,X        
 5004 | 22                guard_data.s    302 | Code        | 11 |         |    2 | 00/12B0 : C5 1C       |                          CMP     {$1C}                
 5005 | 22                guard_data.s    303 | Code        | 11 |         |    2 | 00/12B2 : D0 20       |                          BNE     _gffDem              ; different map: demote if FLEE
 5006 | 22                guard_data.s    304 | Code        | 11 |         |    3 | 00/12B4 : BD 91 11    |                          LDA     GuardTblSt,X         
 5007 | 22                guard_data.s    305 | Code        | 11 |         |    2 | 00/12B7 : C9 03       |                          CMP     #{3}                 
 5008 | 22                guard_data.s    306 | Code        | 11 |         |    2 | 00/12B9 : B0 25       |                          BCS     _gffNo               ; STUN/FALL/CLIMB: no override
 5009 | 22                guard_data.s    307 | Code        | 11 |         |    2 | 00/12BB : A9 02       |                          LDA     #{2}                 
 5010 | 22                guard_data.s    308 | Code        | 11 |         |    3 | 00/12BD : 9D 91 11    |                          STA     GuardTblSt,X         
 5011 | 22                guard_data.s    309 | Code        | 11 |         |    2 | 00/12C0 : A5 F6       |                          LDA     {$F6}                
 5012 | 22                guard_data.s    310 | Code        | 11 |         |    2 | 00/12C2 : C5 70       |                          CMP     {$70}                
 5013 | 22                guard_data.s    311 | Code        | 11 |         |    2 | 00/12C4 : B0 07       |                          BCS     _gffR                ; guard at/right of player -> flee right
 5014 | 22                guard_data.s    312 | Code        | 11 |         |    2 | 00/12C6 : A9 02       |                          LDA     #{$02}               
 5015 | 22                guard_data.s    313 | Code        | 11 |         |    3 | 00/12C8 : 9D A3 11    |                          STA     GuardTblInp,X        
 5016 | 22                guard_data.s    314 | Code        | 11 |         |    1 | 00/12CB : 38          |                          SEC                          
 5017 | 22                guard_data.s    315 | Code        | 11 |         |    1 | 00/12CC : 60          |                          RTS                          
 5018 | 22                guard_data.s    316 | Code        | 11 |         |    2 | 00/12CD : A9 01       | _gffR                    LDA     #{$01}               
 5019 | 22                guard_data.s    317 | Code        | 11 |         |    3 | 00/12CF : 9D A3 11    |                          STA     GuardTblInp,X        
 5020 | 22                guard_data.s    318 | Code        | 11 |         |    1 | 00/12D2 : 38          |                          SEC                          
 5021 | 22                guard_data.s    319 | Code        | 11 |         |    1 | 00/12D3 : 60          |                          RTS                          
 5022 | 22                guard_data.s    320 | Empty       | 11 |         |    0 | 00/12D4               | _gffDem                                               
 5023 | 22                guard_data.s    321 | Code        | 11 |         |    3 | 00/12D4 : BD 91 11    |                          LDA     GuardTblSt,X         
 5024 | 22                guard_data.s    322 | Code        | 11 |         |    2 | 00/12D7 : C9 02       |                          CMP     #{2}                 
 5025 | 22                guard_data.s    323 | Code        | 11 |         |    2 | 00/12D9 : D0 05       |                          BNE     _gffNo               
 5026 | 22                guard_data.s    324 | Code        | 11 |         |    2 | 00/12DB : A9 00       |                          LDA     #{0}                 
 5027 | 22                guard_data.s    325 | Code        | 11 |         |    3 | 00/12DD : 9D 91 11    |                          STA     GuardTblSt,X         
 5028 | 22                guard_data.s    326 | Code        | 11 |         |    1 | 00/12E0 : 18          | _gffNo                   CLC                          
 5029 | 22                guard_data.s    327 | Code        | 11 |         |    1 | 00/12E1 : 60          |                          RTS                          
 5030 | 22                guard_data.s    328 | Empty       | 11 |         |    0 | 00/12E2               |                                                       
 5031 | 22                guard_data.s    329 | Comment     | 11 |         |    0 | 00/12E2               | *----------------------------------------------
 5032 | 22                guard_data.s    330 | Comment     | 11 |         |    0 | 00/12E2               | * _EntVertLoS - Vertical line-of-sight from guard to player
 5033 | 22                guard_data.s    331 | Comment     | 11 |         |    0 | 00/12E2               | *
 5034 | 22                guard_data.s    332 | Comment     | 11 |         |    0 | 00/12E2               | * Returns "LoS" when guard and player are on the same sprite
 5035 | 22                guard_data.s    333 | Comment     | 11 |         |    0 | 00/12E2               | * column (|dx| <= 2) and no SOLID/SLOPE tiles break the column
 5036 | 22                guard_data.s    334 | Comment     | 11 |         |    0 | 00/12E2               | * between their mid-sprite scanlines. Ladders, rails, handles,
 5037 | 22                guard_data.s    335 | Comment     | 11 |         |    0 | 00/12E2               | * elevator shafts do NOT block. Lives in main RAM ($1800 block)
 5038 | 22                guard_data.s    336 | Comment     | 11 |         |    0 | 00/12E2               | * to keep the $6000 game-code region below the $B000 TileMap
 5039 | 22                guard_data.s    337 | Comment     | 11 |         |    0 | 00/12E2               | * ceiling.
 5040 | 22                guard_data.s    338 | Comment     | 11 |         |    0 | 00/12E2               | *
 5041 | 22                guard_data.s    339 | Comment     | 11 |         |    0 | 00/12E2               | * In:  EntX/EntY = guard position; PlayerX/PlayerY
 5042 | 22                guard_data.s    340 | Comment     | 11 |         |    0 | 00/12E2               | * Out: Z=0 (BNE) LoS present; Z=1 (BEQ) blocked or too far in X
 5043 | 22                guard_data.s    341 | Comment     | 11 |         |    0 | 00/12E2               | * Clobbers: A, X, Y, Temp1-Temp4, CollOff, CollRow
 5044 | 22                guard_data.s    342 | Comment     | 11 |         |    0 | 00/12E2               | *----------------------------------------------
 5045 | 22                guard_data.s    343 | Empty       | 11 |         |    0 | 00/12E2               | _EntVertLoS                                           
 5046 | 22                guard_data.s    344 | Code        | 11 |         |    2 | 00/12E2 : A5 F6       |                          LDA     {$F6}                
 5047 | 22                guard_data.s    345 | Code        | 11 |         |    1 | 00/12E4 : 38          |                          SEC                          
 5048 | 22                guard_data.s    346 | Code        | 11 |         |    2 | 00/12E5 : E5 70       |                          SBC     {$70}                
 5049 | 22                guard_data.s    347 | Code        | 11 |         |    2 | 00/12E7 : 10 03       |                          BPL     _vlsDxP              
 5050 | 22                guard_data.s    348 | Code        | 11 |         |    2 | 00/12E9 : 49 FF       |                          EOR     #$FF                 
 5051 | 22                guard_data.s    349 | Code        | 11 |         |    1 | 00/12EB : 1A          |                          INC                          
 5052 | 22                guard_data.s    350 | Code        | 11 |         |    2 | 00/12EC : C9 03       | _vlsDxP                  CMP     #3                   
 5053 | 22                guard_data.s    351 | Code        | 11 |         |    2 | 00/12EE : B0 3D       |                          BCS     _vlsNo               
 5054 | 22                guard_data.s    352 | Code        | 11 |         |    2 | 00/12F0 : A5 F7       |                          LDA     {$F7}                
 5055 | 22                guard_data.s    353 | Code        | 11 |         |    1 | 00/12F2 : 18          |                          CLC                          
 5056 | 22                guard_data.s    354 | Code        | 11 |         |    2 | 00/12F3 : 69 06       |                          ADC     #6                   
 5057 | 22                guard_data.s    355 | Code        | 11 |         |    2 | 00/12F5 : 85 1A       |                          STA     {$1A}                
 5058 | 22                guard_data.s    356 | Code        | 11 |         |    2 | 00/12F7 : A5 71       |                          LDA     {$71}                
 5059 | 22                guard_data.s    357 | Code        | 11 |         |    1 | 00/12F9 : 18          |                          CLC                          
 5060 | 22                guard_data.s    358 | Code        | 11 |         |    2 | 00/12FA : 69 06       |                          ADC     #6                   
 5061 | 22                guard_data.s    359 | Code        | 11 |         |    2 | 00/12FC : 85 1B       |                          STA     {$1B}                
 5062 | 22                guard_data.s    360 | Code        | 11 |         |    2 | 00/12FE : A5 1A       |                          LDA     {$1A}                
 5063 | 22                guard_data.s    361 | Code        | 11 |         |    2 | 00/1300 : C5 1B       |                          CMP     {$1B}                
 5064 | 22                guard_data.s    362 | Code        | 11 |         |    2 | 00/1302 : 90 08       |                          BCC     _vlsOrd              
 5065 | 22                guard_data.s    363 | Code        | 11 |         |    2 | 00/1304 : A5 1B       |                          LDA     {$1B}                
 5066 | 22                guard_data.s    364 | Code        | 11 |         |    2 | 00/1306 : A6 1A       |                          LDX     {$1A}                
 5067 | 22                guard_data.s    365 | Code        | 11 |         |    2 | 00/1308 : 86 1B       |                          STX     {$1B}                
 5068 | 22                guard_data.s    366 | Code        | 11 |         |    2 | 00/130A : 85 1A       |                          STA     {$1A}                
 5069 | 22                guard_data.s    367 | Code        | 11 |         |    2 | 00/130C : A5 1A       | _vlsOrd                  LDA     {$1A}                
 5070 | 22                guard_data.s    368 | Code        | 11 |         |    1 | 00/130E : 18          |                          CLC                          
 5071 | 22                guard_data.s    369 | Code        | 11 |         |    2 | 00/130F : 69 06       |                          ADC     #6                   
 5072 | 22                guard_data.s    370 | Code        | 11 |         |    2 | 00/1311 : C5 1B       | _vlsLoop                 CMP     {$1B}                
 5073 | 22                guard_data.s    371 | Code        | 11 |         |    2 | 00/1313 : B0 1B       |                          BCS     _vlsYes              
 5074 | 22                guard_data.s    372 | Code        | 11 |         |    1 | 00/1315 : 48          |                          PHA                          
 5075 | 22                guard_data.s    373 | Code        | 11 |         |    2 | 00/1316 : A6 F6       |                          LDX     {$F6}                
 5076 | 22                guard_data.s    374 | Code        | 11 |         |    1 | 00/1318 : E8          |                          INX                          
 5077 | 22                guard_data.s    375 | Code        | 11 |         |    1 | 00/1319 : E8          |                          INX                          
 5078 | 22                guard_data.s    376 | Code        | 11 |         |    1 | 00/131A : E8          |                          INX                          
 5079 | 22                guard_data.s    377 | Code        | 11 |         |    3 | 00/131B : 20 40 10    |                          JSR     GetCollType          
 5080 | 22                guard_data.s    378 | Code        | 11 |         |    2 | 00/131E : C9 01       |                          CMP     #{1}                 
 5081 | 22                guard_data.s    379 | Code        | 11 |         |    2 | 00/1320 : F0 0A       |                          BEQ     _vlsPopNo            
 5082 | 22                guard_data.s    380 | Code        | 11 |         |    2 | 00/1322 : C9 06       |                          CMP     #{6}                 
 5083 | 22                guard_data.s    381 | Code        | 11 |         |    2 | 00/1324 : F0 06       |                          BEQ     _vlsPopNo            
 5084 | 22                guard_data.s    382 | Code        | 11 |         |    1 | 00/1326 : 68          |                          PLA                          
 5085 | 22                guard_data.s    383 | Code        | 11 |         |    1 | 00/1327 : 18          |                          CLC                          
 5086 | 22                guard_data.s    384 | Code        | 11 |         |    2 | 00/1328 : 69 06       |                          ADC     #6                   
 5087 | 22                guard_data.s    385 | Code        | 11 |         |    2 | 00/132A : 80 E5       |                          BRA     _vlsLoop             
 5088 | 22                guard_data.s    386 | Code        | 11 |         |    1 | 00/132C : 68          | _vlsPopNo                PLA                          
 5089 | 22                guard_data.s    387 | Code        | 11 |         |    2 | 00/132D : A9 00       | _vlsNo                   LDA     #0                   
 5090 | 22                guard_data.s    388 | Code        | 11 |         |    1 | 00/132F : 60          |                          RTS                          
 5091 | 22                guard_data.s    389 | Code        | 11 |         |    2 | 00/1330 : A9 01       | _vlsYes                  LDA     #1                   
 5092 | 22                guard_data.s    390 | Code        | 11 |         |    1 | 00/1332 : 60          |                          RTS                          
 5093 | 22                guard_data.s    391 | Empty       | 11 |         |    0 | 00/1333               |                                                       
 5094 | 22                guard_data.s    392 | Comment     | 11 |         |    0 | 00/1333               | *----------------------------------------------
 5095 | 22                guard_data.s    393 | Comment     | 11 |         |    0 | 00/1333               | * EntCheckGroundOrElev - Ground check that recognises the elevator.
 5096 | 22                guard_data.s    394 | Comment     | 11 |         |    0 | 00/1333               | *
 5097 | 22                guard_data.s    395 | Comment     | 11 |         |    0 | 00/1333               | * Variant of EntCheckGround used in the guard walk paths. If the
 5098 | 22                guard_data.s    396 | Comment     | 11 |         |    0 | 00/1333               | * elevator car is under the guard's feet, snap EntY to the car
 5099 | 22                guard_data.s    397 | Comment     | 11 |         |    0 | 00/1333               | * surface and set GuardOnElev. Otherwise fall back to the plain
 5100 | 22                guard_data.s    398 | Comment     | 11 |         |    0 | 00/1333               | * tile ground check (shaft returns "no ground" so the guard will
 5101 | 22                guard_data.s    399 | Comment     | 11 |         |    0 | 00/1333               | * fall as before).
 5102 | 22                guard_data.s    400 | Comment     | 11 |         |    0 | 00/1333               | *
 5103 | 22                guard_data.s    401 | Comment     | 11 |         |    0 | 00/1333               | * Out: Z=0 (BNE) ground present, Z=1 (BEQ) none. If boarded,
 5104 | 22                guard_data.s    402 | Comment     | 11 |         |    0 | 00/1333               | *      GuardOnElev[GuardIdx]=1 and EntY is snapped. Cleared to 0
 5105 | 22                guard_data.s    403 | Comment     | 11 |         |    0 | 00/1333               | *      when no elevator contact.
 5106 | 22                guard_data.s    404 | Comment     | 11 |         |    0 | 00/1333               | *----------------------------------------------
 5107 | 22                guard_data.s    405 | Empty       | 11 |         |    0 | 00/1333               | EntCheckGroundOrElev                                  
 5108 | 22                guard_data.s    406 | Code        | 11 |         |    2 | 00/1333 : A5 F7       |                          LDA     {$F7}                
 5109 | 22                guard_data.s    407 | Code        | 11 |         |    1 | 00/1335 : 18          |                          CLC                          
 5110 | 22                guard_data.s    408 | Code        | 11 |         |    2 | 00/1336 : 69 0C       |                          ADC     #12                  
 5111 | 22                guard_data.s    409 | Code        | 11 |         |    3 | 00/1338 : 20 90 0B    |                          JSR     EntCheckElevGround   
 5112 | 22                guard_data.s    410 | Code        | 11 |         |    2 | 00/133B : 90 11       |                          BCC     _ecgeTile            
 5113 | 22                guard_data.s    411 | Code        | 11 |         |    2 | 00/133D : A6 F4       |                          LDX     {$F4}                
 5114 | 22                guard_data.s    412 | Code        | 11 |         |    2 | 00/133F : A9 01       |                          LDA     #1                   
 5115 | 22                guard_data.s    413 | Code        | 11 |         |    3 | 00/1341 : 9D AA 11    |                          STA     GuardOnElev,X        
 5116 | 22                guard_data.s    414 | Code        | 11 |         |    2 | 00/1344 : A5 EF       |                          LDA     {$EF}                
 5117 | 22                guard_data.s    415 | Code        | 11 |         |    1 | 00/1346 : 38          |                          SEC                          
 5118 | 22                guard_data.s    416 | Code        | 11 |         |    2 | 00/1347 : E9 0C       |                          SBC     #12                  
 5119 | 22                guard_data.s    417 | Code        | 11 |         |    2 | 00/1349 : 85 F7       |                          STA     {$F7}                
 5120 | 22                guard_data.s    418 | Code        | 11 |         |    2 | 00/134B : A9 05       |                          LDA     #{5}                 
 5121 | 22                guard_data.s    419 | Code        | 11 |         |    1 | 00/134D : 60          |                          RTS                          ; Z=0 (ground)
 5122 | 22                guard_data.s    420 | Empty       | 11 |         |    0 | 00/134E               | _ecgeTile                                             
 5123 | 22                guard_data.s    421 | Code        | 11 |         |    2 | 00/134E : A6 F4       |                          LDX     {$F4}                
 5124 | 22                guard_data.s    422 | Code        | 11 |         |    3 | 00/1350 : 9E AA 11    |                          STZ     GuardOnElev,X        
 5125 | 22                guard_data.s    423 | Code        | 11 |         |    2 | 00/1353 : A5 F7       |                          LDA     {$F7}                
 5126 | 22                guard_data.s    424 | Code        | 11 |         |    1 | 00/1355 : 18          |                          CLC                          
 5127 | 22                guard_data.s    425 | Code        | 11 |         |    2 | 00/1356 : 69 0C       |                          ADC     #12                  
 5128 | 22                guard_data.s    426 | Code        | 11 |         |    2 | 00/1358 : A6 F6       |                          LDX     {$F6}                
 5129 | 22                guard_data.s    427 | Code        | 11 |         |    1 | 00/135A : E8          |                          INX                          
 5130 | 22                guard_data.s    428 | Code        | 11 |         |    1 | 00/135B : E8          |                          INX                          
 5131 | 22                guard_data.s    429 | Code        | 11 |         |    1 | 00/135C : E8          |                          INX                          
 5132 | 22                guard_data.s    430 | Code        | 11 |         |    3 | 00/135D : 4C EA 10    |                          JMP     CheckGroundAt        
 5133 | 22                guard_data.s    431 | Empty       | 11 |         |    0 | 00/1360               |                                                       
 5134 | 22                guard_data.s    432 | Comment     | 11 |         |    0 | 00/1360               | *----------------------------------------------
 5135 | 22                guard_data.s    433 | Comment     | 11 |         |    0 | 00/1360               | * EntTryStepUpR / EntTryStepUpL - Slope step-up probe for guards.
 5136 | 22                guard_data.s    434 | Comment     | 11 |         |    0 | 00/1360               | *
 5137 | 22                guard_data.s    435 | Comment     | 11 |         |    0 | 00/1360               | * Mirrors the player's DoWalk :rBlocked / :lBlocked path so guards
 5138 | 22                guard_data.s    436 | Comment     | 11 |         |    0 | 00/1360               | * climb up slopes instead of reversing at them. Called after the
 5139 | 22                guard_data.s    437 | Comment     | 11 |         |    0 | 00/1360               | * horizontal step (INC/DEC EntX) when EntCheckWalkable* has reported
 5140 | 22                guard_data.s    438 | Comment     | 11 |         |    0 | 00/1360               | * blocked. Probes GetSurfaceY at the leading edge; if the required
 5141 | 22                guard_data.s    439 | Comment     | 11 |         |    0 | 00/1360               | * step-up is <= 2 pixels, adjusts EntY onto the new surface.
 5142 | 22                guard_data.s    440 | Comment     | 11 |         |    0 | 00/1360               | *
 5143 | 22                guard_data.s    441 | Comment     | 11 |         |    0 | 00/1360               | * Out: C=1 stepped up (EntY adjusted), C=0 truly blocked (EntY unchanged).
 5144 | 22                guard_data.s    442 | Comment     | 11 |         |    0 | 00/1360               | * Clobbers: A, X, Temp1-Temp4.
 5145 | 22                guard_data.s    443 | Comment     | 11 |         |    0 | 00/1360               | *----------------------------------------------
 5146 | 22                guard_data.s    444 | Empty       | 11 |         |    0 | 00/1360               | EntTryStepUpR                                         
 5147 | 22                guard_data.s    445 | Code        | 11 |         |    2 | 00/1360 : A5 F7       |                          LDA     {$F7}                
 5148 | 22                guard_data.s    446 | Code        | 11 |         |    1 | 00/1362 : 48          |                          PHA                          ; save original EntY
 5149 | 22                guard_data.s    447 | Code        | 11 |         |    1 | 00/1363 : 18          |                          CLC                          
 5150 | 22                guard_data.s    448 | Code        | 11 |         |    2 | 00/1364 : 69 0B       |                          ADC     #11                  ; feet level
 5151 | 22                guard_data.s    449 | Code        | 11 |         |    2 | 00/1366 : A6 F6       |                          LDX     {$F6}                
 5152 | 22                guard_data.s    450 | Code        | 11 |         |    1 | 00/1368 : E8          |                          INX                          
 5153 | 22                guard_data.s    451 | Code        | 11 |         |    1 | 00/1369 : E8          |                          INX                          
 5154 | 22                guard_data.s    452 | Code        | 11 |         |    1 | 00/136A : E8          |                          INX                          
 5155 | 22                guard_data.s    453 | Code        | 11 |         |    1 | 00/136B : E8          |                          INX                          
 5156 | 22                guard_data.s    454 | Code        | 11 |         |    1 | 00/136C : E8          |                          INX                          
 5157 | 22                guard_data.s    455 | Code        | 11 |         |    1 | 00/136D : E8          |                          INX                          ; right edge X+6
 5158 | 22                guard_data.s    456 | Code        | 11 |         |    2 | 00/136E : 80 08       |                          BRA     _EntTryStepUpCore    
 5159 | 22                guard_data.s    457 | Empty       | 11 |         |    0 | 00/1370               | EntTryStepUpL                                         
 5160 | 22                guard_data.s    458 | Code        | 11 |         |    2 | 00/1370 : A5 F7       |                          LDA     {$F7}                
 5161 | 22                guard_data.s    459 | Code        | 11 |         |    1 | 00/1372 : 48          |                          PHA                          ; save original EntY
 5162 | 22                guard_data.s    460 | Code        | 11 |         |    1 | 00/1373 : 18          |                          CLC                          
 5163 | 22                guard_data.s    461 | Code        | 11 |         |    2 | 00/1374 : 69 0B       |                          ADC     #11                  ; feet level
 5164 | 22                guard_data.s    462 | Code        | 11 |         |    2 | 00/1376 : A6 F6       |                          LDX     {$F6}                ; left edge X
 5165 | 22                guard_data.s    463 | Empty       | 11 |         |    0 | 00/1378               | _EntTryStepUpCore                                     
 5166 | 22                guard_data.s    464 | Code        | 11 |         |    3 | 00/1378 : 20 3C 11    |                          JSR     GetSurfaceY          
 5167 | 22                guard_data.s    465 | Code        | 11 |         |    2 | 00/137B : 90 13       |                          BCC     _etsuFail            ; no surface -> truly blocked
 5168 | 22                guard_data.s    466 | Code        | 11 |         |    1 | 00/137D : 38          |                          SEC                          
 5169 | 22                guard_data.s    467 | Code        | 11 |         |    2 | 00/137E : E9 0C       |                          SBC     #12                  ; convert surface scanline to EntY
 5170 | 22                guard_data.s    468 | Code        | 11 |         |    2 | 00/1380 : 85 1A       |                          STA     {$1A}                ; new EntY candidate
 5171 | 22                guard_data.s    469 | Code        | 11 |         |    1 | 00/1382 : 68          |                          PLA                          ; old EntY
 5172 | 22                guard_data.s    470 | Code        | 11 |         |    1 | 00/1383 : 38          |                          SEC                          
 5173 | 22                guard_data.s    471 | Code        | 11 |         |    2 | 00/1384 : E5 1A       |                          SBC     {$1A}                ; old - new = step-up amount
 5174 | 22                guard_data.s    472 | Code        | 11 |         |    2 | 00/1386 : C9 03       |                          CMP     #3                   ; max 2 pixel step
 5175 | 22                guard_data.s    473 | Code        | 11 |         |    2 | 00/1388 : B0 07       |                          BCS     _etsuFail2           ; too large, treat as wall
 5176 | 22                guard_data.s    474 | Code        | 11 |         |    2 | 00/138A : A5 1A       |                          LDA     {$1A}                
 5177 | 22                guard_data.s    475 | Code        | 11 |         |    2 | 00/138C : 85 F7       |                          STA     {$F7}                
 5178 | 22                guard_data.s    476 | Code        | 11 |         |    1 | 00/138E : 38          |                          SEC                          ; stepped up
 5179 | 22                guard_data.s    477 | Code        | 11 |         |    1 | 00/138F : 60          |                          RTS                          
 5180 | 22                guard_data.s    478 | Empty       | 11 |         |    0 | 00/1390               | _etsuFail                                             
 5181 | 22                guard_data.s    479 | Code        | 11 |         |    1 | 00/1390 : 68          |                          PLA                          ; discard saved EntY
 5182 | 22                guard_data.s    480 | Empty       | 11 |         |    0 | 00/1391               | _etsuFail2                                            
 5183 | 22                guard_data.s    481 | Code        | 11 |         |    1 | 00/1391 : 18          |                          CLC                          ; truly blocked
 5184 | 22                guard_data.s    482 | Code        | 11 |         |    1 | 00/1392 : 60          |                          RTS                          
 5185 | 22                guard_data.s    483 | Empty       | 11 |         |    0 | 00/1393               |                                                       
 5186 | 22                guard_data.s    484 | Comment     | 11 |         |    0 | 00/1393               | *----------------------------------------------
 5187 | 22                guard_data.s    485 | Comment     | 11 |         |    0 | 00/1393               | * EntWalkRightComplete / EntWalkLeftComplete - Full walk resolution.
 5188 | 22                guard_data.s    486 | Comment     | 11 |         |    0 | 00/1393               | *
 5189 | 22                guard_data.s    487 | Comment     | 11 |         |    0 | 00/1393               | * Consolidates the sequence used by GuardWander and GuardPursuit after
 5190 | 22                guard_data.s    488 | Comment     | 11 |         |    0 | 00/1393               | * INC/DEC EntX: walkable check, slope step-up fallback, ground-or-elev
 5191 | 22                guard_data.s    489 | Comment     | 11 |         |    0 | 00/1393               | * check, snap-to-ground. Collapses the original "blocked wall" and
 5192 | 22                guard_data.s    490 | Comment     | 11 |         |    0 | 00/1393               | * "no ground" reversals into a single C=0 return; both branches
 5193 | 22                guard_data.s    491 | Comment     | 11 |         |    0 | 00/1393               | * previously funnelled into the same reverse path anyway.
 5194 | 22                guard_data.s    492 | Comment     | 11 |         |    0 | 00/1393               | *
 5195 | 22                guard_data.s    493 | Comment     | 11 |         |    0 | 00/1393               | * Out: C=1 move committed (EntY possibly adjusted up onto a slope
 5196 | 22                guard_data.s    494 | Comment     | 11 |         |    0 | 00/1393               | *           and snapped to ground), C=0 truly blocked or cliff.
 5197 | 22                guard_data.s    495 | Comment     | 11 |         |    0 | 00/1393               | *----------------------------------------------
 5198 | 22                guard_data.s    496 | Empty       | 11 |         |    0 | 00/1393               | EntWalkRightComplete                                  
 5199 | 22                guard_data.s    497 | Code        | 11 |         |    3 | 00/1393 : 20 3B DD    |                          JSR     EntCheckWalkableR    
 5200 | 22                guard_data.s    498 | Code        | 11 |         |    2 | 00/1396 : D0 05       |                          BNE     _ewrcGnd             
 5201 | 22                guard_data.s    499 | Code        | 11 |         |    3 | 00/1398 : 20 60 13    |                          JSR     EntTryStepUpR        
 5202 | 22                guard_data.s    500 | Code        | 11 |         |    2 | 00/139B : 90 0A       |                          BCC     _ewrcFail            
 5203 | 22                guard_data.s    501 | Code        | 11 |         |    3 | 00/139D : 20 33 13    | _ewrcGnd                 JSR     EntCheckGroundOrElev 
 5204 | 22                guard_data.s    502 | Code        | 11 |         |    2 | 00/13A0 : F0 05       |                          BEQ     _ewrcFail            
 5205 | 22                guard_data.s    503 | Code        | 11 |         |    3 | 00/13A2 : 20 82 DD    |                          JSR     EntSnapToGround      
 5206 | 22                guard_data.s    504 | Code        | 11 |         |    1 | 00/13A5 : 38          |                          SEC                          
 5207 | 22                guard_data.s    505 | Code        | 11 |         |    1 | 00/13A6 : 60          |                          RTS                          
 5208 | 22                guard_data.s    506 | Code        | 11 |         |    1 | 00/13A7 : 18          | _ewrcFail                CLC                          
 5209 | 22                guard_data.s    507 | Code        | 11 |         |    1 | 00/13A8 : 60          |                          RTS                          
 5210 | 22                guard_data.s    508 | Empty       | 11 |         |    0 | 00/13A9               |                                                       
 5211 | 22                guard_data.s    509 | Empty       | 11 |         |    0 | 00/13A9               | EntWalkLeftComplete                                   
 5212 | 22                guard_data.s    510 | Code        | 11 |         |    3 | 00/13A9 : 20 5E DD    |                          JSR     EntCheckWalkableL    
 5213 | 22                guard_data.s    511 | Code        | 11 |         |    2 | 00/13AC : D0 05       |                          BNE     _ewlcGnd             
 5214 | 22                guard_data.s    512 | Code        | 11 |         |    3 | 00/13AE : 20 70 13    |                          JSR     EntTryStepUpL        
 5215 | 22                guard_data.s    513 | Code        | 11 |         |    2 | 00/13B1 : 90 0A       |                          BCC     _ewlcFail            
 5216 | 22                guard_data.s    514 | Code        | 11 |         |    3 | 00/13B3 : 20 33 13    | _ewlcGnd                 JSR     EntCheckGroundOrElev 
 5217 | 22                guard_data.s    515 | Code        | 11 |         |    2 | 00/13B6 : F0 05       |                          BEQ     _ewlcFail            
 5218 | 22                guard_data.s    516 | Code        | 11 |         |    3 | 00/13B8 : 20 82 DD    |                          JSR     EntSnapToGround      
 5219 | 22                guard_data.s    517 | Code        | 11 |         |    1 | 00/13BB : 38          |                          SEC                          
 5220 | 22                guard_data.s    518 | Code        | 11 |         |    1 | 00/13BC : 60          |                          RTS                          
 5221 | 22                guard_data.s    519 | Code        | 11 |         |    1 | 00/13BD : 18          | _ewlcFail                CLC                          
 5222 | 22                guard_data.s    520 | Code        | 11 |         |    1 | 00/13BE : 60          |                          RTS                          
 5223 | 22                guard_data.s    521 | Empty       | 11 |         |    0 | 00/13BF               |                                                       
 5224 | 22                guard_data.s    522 | Comment     | 11 |         |    0 | 00/13BF               | *----------------------------------------------
 5225 | 22                guard_data.s    523 | Comment     | 11 |         |    0 | 00/13BF               | * GuardRide - Per-frame handler for a guard riding the elevator.
 5226 | 22                guard_data.s    524 | Comment     | 11 |         |    0 | 00/13BF               | *
 5227 | 22                guard_data.s    525 | Comment     | 11 |         |    0 | 00/13BF               | * Called from UpdateGuards (bypasses normal state dispatch) when
 5228 | 22                guard_data.s    526 | Comment     | 11 |         |    0 | 00/13BF               | * GuardOnElev is set. Tracks ElevY each frame so the guard moves
 5229 | 22                guard_data.s    527 | Comment     | 11 |         |    0 | 00/13BF               | * with the car. If horizontal input is present and the sideways
 5230 | 22                guard_data.s    528 | Comment     | 11 |         |    0 | 00/13BF               | * step lands on a walkable tile with ground, commits the exit and
 5231 | 22                guard_data.s    529 | Comment     | 11 |         |    0 | 00/13BF               | * clears GuardOnElev. Otherwise stays aboard.
 5232 | 22                guard_data.s    530 | Comment     | 11 |         |    0 | 00/13BF               | *----------------------------------------------
 5233 | 22                guard_data.s    531 | Empty       | 11 |         |    0 | 00/13BF               | GuardRide                                             
 5234 | 22                guard_data.s    532 | Code        | 11 |         |    2 | 00/13BF : A6 F4       |                          LDX     {$F4}                
 5235 | 22                guard_data.s    533 | Comment     | 11 |         |    0 | 00/13C1               | * Track car movement
 5236 | 22                guard_data.s    534 | Code        | 11 |         |    2 | 00/13C1 : A5 EF       |                          LDA     {$EF}                
 5237 | 22                guard_data.s    535 | Code        | 11 |         |    1 | 00/13C3 : 38          |                          SEC                          
 5238 | 22                guard_data.s    536 | Code        | 11 |         |    2 | 00/13C4 : E9 0C       |                          SBC     #12                  
 5239 | 22                guard_data.s    537 | Code        | 11 |         |    2 | 00/13C6 : 85 F7       |                          STA     {$F7}                
 5240 | 22                guard_data.s    538 | Comment     | 11 |         |    0 | 00/13C8               | * Dispatch on horizontal input
 5241 | 22                guard_data.s    539 | Code        | 11 |         |    3 | 00/13C8 : BD A3 11    |                          LDA     GuardTblInp,X        
 5242 | 22                guard_data.s    540 | Code        | 11 |         |    2 | 00/13CB : 29 02       |                          AND     #{$02}               
 5243 | 22                guard_data.s    541 | Code        | 11 |         |    2 | 00/13CD : D0 28       |                          BNE     _grLeft              
 5244 | 22                guard_data.s    542 | Code        | 11 |         |    3 | 00/13CF : BD A3 11    |                          LDA     GuardTblInp,X        
 5245 | 22                guard_data.s    543 | Code        | 11 |         |    2 | 00/13D2 : 29 01       |                          AND     #{$01}               
 5246 | 22                guard_data.s    544 | Code        | 11 |         |    2 | 00/13D4 : D0 01       |                          BNE     _grRight             
 5247 | 22                guard_data.s    545 | Code        | 11 |         |    1 | 00/13D6 : 60          |                          RTS                          ; no lateral input, stay on car
 5248 | 22                guard_data.s    546 | Empty       | 11 |         |    0 | 00/13D7               | _grRight                                              
 5249 | 22                guard_data.s    547 | Code        | 11 |         |    2 | 00/13D7 : E6 F6       |                          INC     {$F6}                
 5250 | 22                guard_data.s    548 | Code        | 11 |         |    3 | 00/13D9 : 20 3B DD    |                          JSR     EntCheckWalkableR    
 5251 | 22                guard_data.s    549 | Code        | 11 |         |    2 | 00/13DC : F0 16       |                          BEQ     _grBlkR              
 5252 | 22                guard_data.s    550 | Code        | 11 |         |    3 | 00/13DE : 20 75 DD    |                          JSR     EntCheckGround       
 5253 | 22                guard_data.s    551 | Code        | 11 |         |    2 | 00/13E1 : F0 11       |                          BEQ     _grBlkR              
 5254 | 22                guard_data.s    552 | Code        | 11 |         |    3 | 00/13E3 : 20 82 DD    |                          JSR     EntSnapToGround      
 5255 | 22                guard_data.s    553 | Code        | 11 |         |    2 | 00/13E6 : A6 F4       |                          LDX     {$F4}                
 5256 | 22                guard_data.s    554 | Code        | 11 |         |    3 | 00/13E8 : 9E AA 11    |                          STZ     GuardOnElev,X        
 5257 | 22                guard_data.s    555 | Code        | 11 |         |    3 | 00/13EB : 9E 94 11    |                          STZ     GuardTblDir,X        ; face right
 5258 | 22                guard_data.s    556 | Code        | 11 |         |    2 | 00/13EE : A9 1E       |                          LDA     #{30}                
 5259 | 22                guard_data.s    557 | Code        | 11 |         |    3 | 00/13F0 : 9D AD 11    |                          STA     GuardWaitTmr,X       ; landing ambush bias
 5260 | 22                guard_data.s    558 | Code        | 11 |         |    1 | 00/13F3 : 60          |                          RTS                          
 5261 | 22                guard_data.s    559 | Code        | 11 |         |    2 | 00/13F4 : C6 F6       | _grBlkR                  DEC     {$F6}                
 5262 | 22                guard_data.s    560 | Code        | 11 |         |    1 | 00/13F6 : 60          |                          RTS                          
 5263 | 22                guard_data.s    561 | Empty       | 11 |         |    0 | 00/13F7               | _grLeft                                               
 5264 | 22                guard_data.s    562 | Code        | 11 |         |    2 | 00/13F7 : C6 F6       |                          DEC     {$F6}                
 5265 | 22                guard_data.s    563 | Code        | 11 |         |    3 | 00/13F9 : 20 5E DD    |                          JSR     EntCheckWalkableL    
 5266 | 22                guard_data.s    564 | Code        | 11 |         |    2 | 00/13FC : F0 18       |                          BEQ     _grBlkL              
 5267 | 22                guard_data.s    565 | Code        | 11 |         |    3 | 00/13FE : 20 75 DD    |                          JSR     EntCheckGround       
 5268 | 22                guard_data.s    566 | Code        | 11 |         |    2 | 00/1401 : F0 13       |                          BEQ     _grBlkL              
 5269 | 22                guard_data.s    567 | Code        | 11 |         |    3 | 00/1403 : 20 82 DD    |                          JSR     EntSnapToGround      
 5270 | 22                guard_data.s    568 | Code        | 11 |         |    2 | 00/1406 : A6 F4       |                          LDX     {$F4}                
 5271 | 22                guard_data.s    569 | Code        | 11 |         |    3 | 00/1408 : 9E AA 11    |                          STZ     GuardOnElev,X        
 5272 | 22                guard_data.s    570 | Code        | 11 |         |    2 | 00/140B : A9 01       |                          LDA     #1                   
 5273 | 22                guard_data.s    571 | Code        | 11 |         |    3 | 00/140D : 9D 94 11    |                          STA     GuardTblDir,X        ; face left
 5274 | 22                guard_data.s    572 | Code        | 11 |         |    2 | 00/1410 : A9 1E       |                          LDA     #{30}                
 5275 | 22                guard_data.s    573 | Code        | 11 |         |    3 | 00/1412 : 9D AD 11    |                          STA     GuardWaitTmr,X       
 5276 | 22                guard_data.s    574 | Code        | 11 |         |    1 | 00/1415 : 60          |                          RTS                          
 5277 | 22                guard_data.s    575 | Code        | 11 |         |    2 | 00/1416 : E6 F6       | _grBlkL                  INC     {$F6}                
 5278 | 22                guard_data.s    576 | Code        | 11 |         |    1 | 00/1418 : 60          |                          RTS                          
 5279 | 22                guard_data.s    577 | Empty       | 11 |         |    0 | 00/1419               |                                                       
 5280 | 22                guard_data.s    578 | Comment     | 11 |         |    0 | 00/1419               | *----------------------------------------------
 5281 | 22                guard_data.s    579 | Comment     | 11 |         |    0 | 00/1419               | * GuardStun - Guard is stunned
 5282 | 22                guard_data.s    580 | Comment     | 11 |         |    0 | 00/1419               | *
 5283 | 22                guard_data.s    581 | Comment     | 11 |         |    0 | 00/1419               | * Animation phases (counting down from StunDuration):
 5284 | 22                guard_data.s    582 | Comment     | 11 |         |    0 | 00/1419               | *   First 3 frames: FR_GRD_FALL1 (44)
 5285 | 22                guard_data.s    583 | Comment     | 11 |         |    0 | 00/1419               | *   Next 3 frames:  FR_GRD_FALL2 (45)
 5286 | 22                guard_data.s    584 | Comment     | 11 |         |    0 | 00/1419               | *   Next 3 frames:  FR_GRD_FALL3 (46)
 5287 | 22                guard_data.s    585 | Comment     | 11 |         |    0 | 00/1419               | *   Then:           alternate FR_GRD_STUN1/STUN2 every 4 frames
 5288 | 22                guard_data.s    586 | Comment     | 11 |         |    0 | 00/1419               | *   Last REORIENT_FRAMES: hold FR_GRD_IDLE so the player sees the
 5289 | 22                guard_data.s    587 | Comment     | 11 |         |    0 | 00/1419               | *                   guard recover before it starts moving again.
 5290 | 22                guard_data.s    588 | Comment     | 11 |         |    0 | 00/1419               | *----------------------------------------------
 5291 | 22                guard_data.s    589 | Equivalence | 11 |         |    0 | 00/1419               | REORIENT_FRAMES          =       12                   ; ~0.4s idle pause before resuming
 5292 | 22                guard_data.s    590 | Empty       | 11 |         |    0 | 00/1419               |                                                       
 5293 | 22                guard_data.s    591 | Empty       | 11 |         |    0 | 00/1419               | GuardStun                                             
 5294 | 22                guard_data.s    592 | Code        | 11 |         |    2 | 00/1419 : A6 F4       |                          LDX     {$F4}                
 5295 | 22                guard_data.s    593 | Code        | 11 |         |    3 | 00/141B : DE 9D 11    |                          DEC     GuardStunTmr,X       
 5296 | 22                guard_data.s    594 | Code        | 11 |         |    2 | 00/141E : D0 0B       |                          BNE     _gsAnim              
 5297 | 22                guard_data.s    595 | Comment     | 11 |         |    0 | 00/1420               | * Timer expired - recover to wander
 5298 | 22                guard_data.s    596 | Code        | 11 |         |    2 | 00/1420 : A9 00       |                          LDA     #{0}                 
 5299 | 22                guard_data.s    597 | Code        | 11 |         |    3 | 00/1422 : 9D 91 11    |                          STA     GuardTblSt,X         
 5300 | 22                guard_data.s    598 | Code        | 11 |         |    2 | 00/1425 : A9 1F       |                          LDA     #{31}                
 5301 | 22                guard_data.s    599 | Code        | 11 |         |    3 | 00/1427 : 9D 97 11    |                          STA     GuardTblFr,X         
 5302 | 22                guard_data.s    600 | Code        | 11 |         |    1 | 00/142A : 60          |                          RTS                          
 5303 | 22                guard_data.s    601 | Empty       | 11 |         |    0 | 00/142B               | _gsAnim                                               
 5304 | 22                guard_data.s    602 | Comment     | 11 |         |    0 | 00/142B               | * Compute elapsed = StunDuration - timer
 5305 | 22                guard_data.s    603 | Code        | 11 |         |    3 | 00/142B : AD CB 11    |                          LDA     StunDuration         
 5306 | 22                guard_data.s    604 | Code        | 11 |         |    1 | 00/142E : 38          |                          SEC                          
 5307 | 22                guard_data.s    605 | Code        | 11 |         |    3 | 00/142F : FD 9D 11    |                          SBC     GuardStunTmr,X       ; A = elapsed frames
 5308 | 22                guard_data.s    606 | Code        | 11 |         |    2 | 00/1432 : C9 03       |                          CMP     #3                   
 5309 | 22                guard_data.s    607 | Code        | 11 |         |    2 | 00/1434 : 90 27       |                          BCC     _gsFall1             ; 0-2: frame 44
 5310 | 22                guard_data.s    608 | Code        | 11 |         |    2 | 00/1436 : C9 06       |                          CMP     #6                   
 5311 | 22                guard_data.s    609 | Code        | 11 |         |    2 | 00/1438 : 90 29       |                          BCC     _gsFall2             ; 3-5: frame 45
 5312 | 22                guard_data.s    610 | Code        | 11 |         |    2 | 00/143A : C9 09       |                          CMP     #9                   
 5313 | 22                guard_data.s    611 | Code        | 11 |         |    2 | 00/143C : 90 2B       |                          BCC     _gsFall3             ; 6-8: frame 46
 5314 | 22                guard_data.s    612 | Comment     | 11 |         |    0 | 00/143E               | * Re-orient window: last REORIENT_FRAMES ticks hold the idle pose
 5315 | 22                guard_data.s    613 | Code        | 11 |         |    3 | 00/143E : BD 9D 11    |                          LDA     GuardStunTmr,X       
 5316 | 22                guard_data.s    614 | Code        | 11 |         |    2 | 00/1441 : C9 0C       |                          CMP     #{12}                
 5317 | 22                guard_data.s    615 | Code        | 11 |         |    2 | 00/1443 : 90 12       |                          BCC     _gsIdle              
 5318 | 22                guard_data.s    616 | Comment     | 11 |         |    0 | 00/1445               | * Stun flicker: alternate 47/48 every 4 frames
 5319 | 22                guard_data.s    617 | Code        | 11 |         |    2 | 00/1445 : 29 07       |                          AND     #$07                 
 5320 | 22                guard_data.s    618 | Code        | 11 |         |    2 | 00/1447 : C9 04       |                          CMP     #4                   
 5321 | 22                guard_data.s    619 | Code        | 11 |         |    2 | 00/1449 : 90 06       |                          BCC     _gsStun2             
 5322 | 22                guard_data.s    620 | Code        | 11 |         |    2 | 00/144B : A9 2F       |                          LDA     #{47}                
 5323 | 22                guard_data.s    621 | Code        | 11 |         |    3 | 00/144D : 9D 97 11    |                          STA     GuardTblFr,X         
 5324 | 22                guard_data.s    622 | Code        | 11 |         |    1 | 00/1450 : 60          |                          RTS                          
 5325 | 22                guard_data.s    623 | Code        | 11 |         |    2 | 00/1451 : A9 30       | _gsStun2                 LDA     #{48}                
 5326 | 22                guard_data.s    624 | Code        | 11 |         |    3 | 00/1453 : 9D 97 11    |                          STA     GuardTblFr,X         
 5327 | 22                guard_data.s    625 | Code        | 11 |         |    1 | 00/1456 : 60          |                          RTS                          
 5328 | 22                guard_data.s    626 | Code        | 11 |         |    2 | 00/1457 : A9 1F       | _gsIdle                  LDA     #{31}                
 5329 | 22                guard_data.s    627 | Code        | 11 |         |    3 | 00/1459 : 9D 97 11    |                          STA     GuardTblFr,X         
 5330 | 22                guard_data.s    628 | Code        | 11 |         |    1 | 00/145C : 60          |                          RTS                          
 5331 | 22                guard_data.s    629 | Code        | 11 |         |    2 | 00/145D : A9 2C       | _gsFall1                 LDA     #{44}                
 5332 | 22                guard_data.s    630 | Code        | 11 |         |    3 | 00/145F : 9D 97 11    |                          STA     GuardTblFr,X         
 5333 | 22                guard_data.s    631 | Code        | 11 |         |    1 | 00/1462 : 60          |                          RTS                          
 5334 | 22                guard_data.s    632 | Code        | 11 |         |    2 | 00/1463 : A9 2D       | _gsFall2                 LDA     #{45}                
 5335 | 22                guard_data.s    633 | Code        | 11 |         |    3 | 00/1465 : 9D 97 11    |                          STA     GuardTblFr,X         
 5336 | 22                guard_data.s    634 | Code        | 11 |         |    1 | 00/1468 : 60          |                          RTS                          
 5337 | 22                guard_data.s    635 | Code        | 11 |         |    2 | 00/1469 : A9 2E       | _gsFall3                 LDA     #{46}                
 5338 | 22                guard_data.s    636 | Code        | 11 |         |    3 | 00/146B : 9D 97 11    |                          STA     GuardTblFr,X         
 5339 | 22                guard_data.s    637 | Code        | 11 |         |    1 | 00/146E : 60          |                          RTS                          
 5340 | 22                guard_data.s    638 | Empty       | 11 |         |    0 | 00/146F               |                                                       
 5341 |  1                    bagman.s     48 | Directive   | 11 |         |    0 | 00/146F               |                          PUT     hud_overlay.s        
 5342 | 23               hud_overlay.s      1 | Comment     | 11 |         |    0 | 00/146F               | *
 5343 | 23               hud_overlay.s      2 | Comment     | 11 |         |    0 | 00/146F               | * HUD overlay: cold/rare HUD draw routines + aux-LC trampolines
 5344 | 23               hud_overlay.s      3 | Comment     | 11 |         |    0 | 00/146F               | *
 5345 | 23               hud_overlay.s      4 | Comment     | 11 |         |    0 | 00/146F               | * Lives in the $0800 Low1800 block via bagman.s PUT. Keeps the
 5346 | 23               hud_overlay.s      5 | Comment     | 11 |         |    0 | 00/146F               | * main-context DrawGameOver / DrawLivesRow paths plus two thin
 5347 | 23               hud_overlay.s      6 | Comment     | 11 |         |    0 | 00/146F               | * trampolines that forward DrawScore / DrawBonus calls to the
 5348 | 23               hud_overlay.s      7 | Comment     | 11 |         |    0 | 00/146F               | * aux-LC DrawScoreAux / DrawBonusAux bodies.
 5349 | 23               hud_overlay.s      8 | Comment     | 11 |         |    0 | 00/146F               | *
 5350 | 23               hud_overlay.s      9 | Empty       | 11 |         |    0 | 00/146F               |                                                       
 5351 | 23               hud_overlay.s     10 | Comment     | 11 |         |    0 | 00/146F               | *----------------------------------------------
 5352 | 23               hud_overlay.s     11 | Comment     | 11 |         |    0 | 00/146F               | * DrawGameOver - Render "GAME OVER" centered on current page.
 5353 | 23               hud_overlay.s     12 | Comment     | 11 |         |    0 | 00/146F               | * 9 chars wide at text col (35-9)/2 = 13, row ~11.
 5354 | 23               hud_overlay.s     13 | Comment     | 11 |         |    0 | 00/146F               | *----------------------------------------------
 5355 | 23               hud_overlay.s     14 | Empty       | 11 |         |    0 | 00/146F               | GameOverStr                                           
 5356 | 23               hud_overlay.s     15 | Data        | 11 |         |    9 | 00/146F : C7 C1 CD C5 |                          ASC     "GAME OVER"          
      |                                       |             |    |         |      |           A0 CF D6 C5 |
      |                                       |             |    |         |      |           D2          |
 5357 | 23               hud_overlay.s     16 | Data        | 11 |         |    1 | 00/1478 : 00          |                          DFB     0                    
 5358 | 23               hud_overlay.s     17 | Empty       | 11 |         |    0 | 00/1479               |                                                       
 5359 | 23               hud_overlay.s     18 | Empty       | 11 |         |    0 | 00/1479               | DrawGameOver                                          
 5360 | 23               hud_overlay.s     19 | Code        | 11 |         |    2 | 00/1479 : A5 1E       |                          LDA     {$1E}                
 5361 | 23               hud_overlay.s     20 | Code        | 11 |         |    3 | 00/147B : 8D 0C 03    |                          STA     $030C                ; pass PageOfs to aux-LC DrawText
 5362 | 23               hud_overlay.s     21 | Code        | 11 |         |    2 | 00/147E : A9 6F       |                          LDA     #<GameOverStr        
 5363 | 23               hud_overlay.s     22 | Code        | 11 |         |    3 | 00/1480 : 8D 06 03    |                          STA     $0306                
 5364 | 23               hud_overlay.s     23 | Code        | 11 |         |    2 | 00/1483 : A9 14       |                          LDA     #>GameOverStr        
 5365 | 23               hud_overlay.s     24 | Code        | 11 |         |    3 | 00/1485 : 8D 07 03    |                          STA     $0307                
 5366 | 23               hud_overlay.s     25 | Code        | 11 |         |    2 | 00/1488 : A9 0B       |                          LDA     #11                  
 5367 | 23               hud_overlay.s     26 | Code        | 11 |         |    3 | 00/148A : 8D 08 03    |                          STA     $0308                ; TextRow
 5368 | 23               hud_overlay.s     27 | Code        | 11 |         |    2 | 00/148D : A9 0D       |                          LDA     #13                  
 5369 | 23               hud_overlay.s     28 | Code        | 11 |         |    3 | 00/148F : 8D 09 03    |                          STA     $0309                ; TextCol
 5370 | 23               hud_overlay.s     29 | Code        | 11 |         |    2 | 00/1492 : A9 00       |                          LDA     #<AuxDrawText        
 5371 | 23               hud_overlay.s     30 | Code        | 11 |         |    3 | 00/1494 : 8D 02 03    |                          STA     $0302                
 5372 | 23               hud_overlay.s     31 | Code        | 11 |         |    2 | 00/1497 : A9 D1       |                          LDA     #>AuxDrawText        
 5373 | 23               hud_overlay.s     32 | Code        | 11 |         |    3 | 00/1499 : 8D 03 03    |                          STA     $0303                
 5374 | 23               hud_overlay.s     33 | Code        | 11 |         |    3 | 00/149C : 4C 1F 09    |                          JMP     AuxLCCall            
 5375 | 23               hud_overlay.s     34 | Empty       | 11 |         |    0 | 00/149F               |                                                       
 5376 | 23               hud_overlay.s     35 | Comment     | 11 |         |    0 | 00/149F               | *----------------------------------------------
 5377 | 23               hud_overlay.s     36 | Comment     | 11 |         |    0 | 00/149F               | * DrawLivesRow - Render Lives copies of sprite 6, left-justified.
 5378 | 23               hud_overlay.s     37 | Comment     | 11 |         |    0 | 00/149F               | *
 5379 | 23               hud_overlay.s     38 | Comment     | 11 |         |    0 | 00/149F               | * Leftmost icon at SprX=LIVES_LEFT_X; icons step right by LIVES_STEP.
 5380 | 23               hud_overlay.s     39 | Comment     | 11 |         |    0 | 00/149F               | * Always clears the full lives strip first so losing a life visibly
 5381 | 23               hud_overlay.s     40 | Comment     | 11 |         |    0 | 00/149F               | * drops the rightmost icon.
 5382 | 23               hud_overlay.s     41 | Comment     | 11 |         |    0 | 00/149F               | *----------------------------------------------
 5383 | 23               hud_overlay.s     42 | Empty       | 11 |         |    0 | 00/149F               | DrawLivesRow                                          
 5384 | 23               hud_overlay.s     43 | Code        | 11 |         |    3 | 00/149F : 20 07 6A    |                          JSR     ClearLivesRegion     
 5385 | 23               hud_overlay.s     44 | Code        | 11 |         |    3 | 00/14A2 : AD D8 11    |                          LDA     Lives                
 5386 | 23               hud_overlay.s     45 | Code        | 11 |         |    2 | 00/14A5 : F0 1E       |                          BEQ     _drDone              
 5387 | 23               hud_overlay.s     46 | Code        | 11 |         |    3 | 00/14A7 : 8D 76 03    |                          STA     {$0376}              
 5388 | 23               hud_overlay.s     47 | Code        | 11 |         |    2 | 00/14AA : A9 00       |                          LDA     #{0}                 
 5389 | 23               hud_overlay.s     48 | Code        | 11 |         |    2 | 00/14AC : 85 14       |                          STA     {$14}                
 5390 | 23               hud_overlay.s     49 | Code        | 11 |         |    2 | 00/14AE : A9 00       |                          LDA     #{0}                 
 5391 | 23               hud_overlay.s     50 | Code        | 11 |         |    2 | 00/14B0 : 85 15       |                          STA     {$15}                
 5392 | 23               hud_overlay.s     51 | Code        | 11 |         |    2 | 00/14B2 : A9 06       |                          LDA     #6                   
 5393 | 23               hud_overlay.s     52 | Code        | 11 |         |    2 | 00/14B4 : 85 16       |                          STA     {$16}                
 5394 | 23               hud_overlay.s     53 | Code        | 11 |         |    3 | 00/14B6 : 20 AB 7E    | _drLoop                  JSR     DrawSprite           
 5395 | 23               hud_overlay.s     54 | Code        | 11 |         |    2 | 00/14B9 : A5 14       |                          LDA     {$14}                
 5396 | 23               hud_overlay.s     55 | Code        | 11 |         |    1 | 00/14BB : 18          |                          CLC                          
 5397 | 23               hud_overlay.s     56 | Code        | 11 |         |    2 | 00/14BC : 69 04       |                          ADC     #{4}                 
 5398 | 23               hud_overlay.s     57 | Code        | 11 |         |    2 | 00/14BE : 85 14       |                          STA     {$14}                
 5399 | 23               hud_overlay.s     58 | Code        | 11 |         |    3 | 00/14C0 : CE 76 03    |                          DEC     {$0376}              
 5400 | 23               hud_overlay.s     59 | Code        | 11 |         |    2 | 00/14C3 : D0 F1       |                          BNE     _drLoop              
 5401 | 23               hud_overlay.s     60 | Code        | 11 |         |    1 | 00/14C5 : 60          | _drDone                  RTS                          
 5402 | 23               hud_overlay.s     61 | Empty       | 11 |         |    0 | 00/14C6               |                                                       
 5403 | 23               hud_overlay.s     62 | Comment     | 11 |         |    0 | 00/14C6               | *----------------------------------------------
 5404 | 23               hud_overlay.s     63 | Comment     | 11 |         |    0 | 00/14C6               | * DrawScore / DrawBonus - main-side trampolines into aux LC.
 5405 | 23               hud_overlay.s     64 | Comment     | 11 |         |    0 | 00/14C6               | *
 5406 | 23               hud_overlay.s     65 | Comment     | 11 |         |    0 | 00/14C6               | * Main-context callers still JSR DrawScore / JSR DrawBonus. Each
 5407 | 23               hud_overlay.s     66 | Comment     | 11 |         |    0 | 00/14C6               | * trampoline stages the aux-LC target at $0302/$0303, copies main-ZP
 5408 | 23               hud_overlay.s     67 | Comment     | 11 |         |    0 | 00/14C6               | * PageOfs to the main-RAM pass-through slot $0306 (the Aux body
 5409 | 23               hud_overlay.s     68 | Comment     | 11 |         |    0 | 00/14C6               | * reloads it into aux-ZP PageOfs at entry), and tail-calls AuxLCCall.
 5410 | 23               hud_overlay.s     69 | Comment     | 11 |         |    0 | 00/14C6               | *
 5411 | 23               hud_overlay.s     70 | Comment     | 11 |         |    0 | 00/14C6               | * PageOfs is ZP $1E: with ALTZP on the Aux body would read aux-ZP
 5412 | 23               hud_overlay.s     71 | Comment     | 11 |         |    0 | 00/14C6               | * PageOfs, which is stale between calls from the main loop. Without
 5413 | 23               hud_overlay.s     72 | Comment     | 11 |         |    0 | 00/14C6               | * the copy the HUD draws to only one page and flickers.
 5414 | 23               hud_overlay.s     73 | Comment     | 11 |         |    0 | 00/14C6               | *
 5415 | 23               hud_overlay.s     74 | Comment     | 11 |         |    0 | 00/14C6               | * These trampolines are ONLY safe to call from main context. The
 5416 | 23               hud_overlay.s     75 | Comment     | 11 |         |    0 | 00/14C6               | * intermission path (aux-LC context, ALTZP already on) must call
 5417 | 23               hud_overlay.s     76 | Comment     | 11 |         |    0 | 00/14C6               | * DrawHUDAllAux directly; it re-stages $0306 from the aux-ZP PageOfs
 5418 | 23               hud_overlay.s     77 | Comment     | 11 |         |    0 | 00/14C6               | * so the DrawScoreAux/DrawBonusAux entry prolog still sees a valid
 5419 | 23               hud_overlay.s     78 | Comment     | 11 |         |    0 | 00/14C6               | * pass-through value.
 5420 | 23               hud_overlay.s     79 | Comment     | 11 |         |    0 | 00/14C6               | *----------------------------------------------
 5421 | 23               hud_overlay.s     80 | Empty       | 11 |         |    0 | 00/14C6               | DrawScore                                             
 5422 | 23               hud_overlay.s     81 | Code        | 11 |         |    2 | 00/14C6 : A5 1E       |                          LDA     {$1E}                
 5423 | 23               hud_overlay.s     82 | Code        | 11 |         |    3 | 00/14C8 : 8D 06 03    |                          STA     $0306                
 5424 | 23               hud_overlay.s     83 | Code        | 11 |         |    2 | 00/14CB : A9 20       |                          LDA     #<DrawScoreAux       
 5425 | 23               hud_overlay.s     84 | Code        | 11 |         |    3 | 00/14CD : 8D 02 03    |                          STA     $0302                
 5426 | 23               hud_overlay.s     85 | Code        | 11 |         |    2 | 00/14D0 : A9 D5       |                          LDA     #>DrawScoreAux       
 5427 | 23               hud_overlay.s     86 | Code        | 11 |         |    3 | 00/14D2 : 8D 03 03    |                          STA     $0303                
 5428 | 23               hud_overlay.s     87 | Code        | 11 |         |    3 | 00/14D5 : 4C 1F 09    |                          JMP     AuxLCCall            
 5429 | 23               hud_overlay.s     88 | Empty       | 11 |         |    0 | 00/14D8               |                                                       
 5430 | 23               hud_overlay.s     89 | Empty       | 11 |         |    0 | 00/14D8               | DrawBonus                                             
 5431 | 23               hud_overlay.s     90 | Code        | 11 |         |    2 | 00/14D8 : A5 1E       |                          LDA     {$1E}                
 5432 | 23               hud_overlay.s     91 | Code        | 11 |         |    3 | 00/14DA : 8D 06 03    |                          STA     $0306                
 5433 | 23               hud_overlay.s     92 | Code        | 11 |         |    2 | 00/14DD : A9 43       |                          LDA     #<DrawBonusAux       
 5434 | 23               hud_overlay.s     93 | Code        | 11 |         |    3 | 00/14DF : 8D 02 03    |                          STA     $0302                
 5435 | 23               hud_overlay.s     94 | Code        | 11 |         |    2 | 00/14E2 : A9 D7       |                          LDA     #>DrawBonusAux       
 5436 | 23               hud_overlay.s     95 | Code        | 11 |         |    3 | 00/14E4 : 8D 03 03    |                          STA     $0303                
 5437 | 23               hud_overlay.s     96 | Code        | 11 |         |    3 | 00/14E7 : 4C 1F 09    |                          JMP     AuxLCCall            
 5438 | 23               hud_overlay.s     97 | Empty       | 11 |         |    0 | 00/14EA               |                                                       
 5439 |  1                    bagman.s     49 | Directive   | 11 |         |    0 | 00/14EA               |                          PUT     attract.s            
 5440 | 24                   attract.s      1 | Comment     | 11 |         |    0 | 00/14EA               | *
 5441 | 24                   attract.s      2 | Comment     | 11 |         |    0 | 00/14EA               | * Bagman - Attract Mode
 5442 | 24                   attract.s      3 | Comment     | 11 |         |    0 | 00/14EA               | *
 5443 | 24                   attract.s      4 | Comment     | 11 |         |    0 | 00/14EA               | * Lives in the low code block ($0800-$1600, relocated at boot). All
 5444 | 24                   attract.s      5 | Comment     | 11 |         |    0 | 00/14EA               | * main-RAM code; game.s calls into here via JSR. State vars live in
 5445 | 24                   attract.s      6 | Comment     | 11 |         |    0 | 00/14EA               | * page 3 scratch (see dp.s).
 5446 | 24                   attract.s      7 | Comment     | 11 |         |    0 | 00/14EA               | *
 5447 | 24                   attract.s      8 | Comment     | 11 |         |    0 | 00/14EA               | * Cycle:
 5448 | 24                   attract.s      9 | Comment     | 11 |         |    0 | 00/14EA               | *   AttractState 1 -> title wait (~4s)  then hiscore view
 5449 | 24                   attract.s     10 | Comment     | 11 |         |    0 | 00/14EA               | *   AttractState 2 -> hiscore wait (~4s) then StartDemo
 5450 | 24                   attract.s     11 | Comment     | 11 |         |    0 | 00/14EA               | *   AttractState 3 -> scripted demo, ends on player death (Lives=0
 5451 | 24                   attract.s     12 | Comment     | 11 |         |    0 | 00/14EA               | *                      so the first bonus/guard/cart death cycles
 5452 | 24                   attract.s     13 | Comment     | 11 |         |    0 | 00/14EA               | *                      back to title via AttractGameOverHook).
 5453 | 24                   attract.s     14 | Comment     | 11 |         |    0 | 00/14EA               | *   A real keypress anywhere clears AttractState back to 0 and the
 5454 | 24                   attract.s     15 | Comment     | 11 |         |    0 | 00/14EA               | *   MainLoop / title flow falls back to normal behavior.
 5455 | 24                   attract.s     16 | Comment     | 11 |         |    0 | 00/14EA               | *
 5456 | 24                   attract.s     17 | Empty       | 11 |         |    0 | 00/14EA               |                                                       
 5457 | 24                   attract.s     18 | Comment     | 11 |         |    0 | 00/14EA               | *----------------------------------------------
 5458 | 24                   attract.s     19 | Comment     | 11 |         |    0 | 00/14EA               | * AttractSeed - Called once from GameInit to arm the very first
 5459 | 24                   attract.s     20 | Comment     | 11 |         |    0 | 00/14EA               | * TitleReset as attract.
 5460 | 24                   attract.s     21 | Comment     | 11 |         |    0 | 00/14EA               | *----------------------------------------------
 5461 | 24                   attract.s     22 | Empty       | 11 |         |    0 | 00/14EA               | AttractSeed                                           
 5462 | 24                   attract.s     23 | Code        | 11 |         |    2 | 00/14EA : A9 01       |                          LDA     #1                   
 5463 | 24                   attract.s     24 | Code        | 11 |         |    3 | 00/14EC : 8D A6 03    |                          STA     {$03A6}              
 5464 | 24                   attract.s     25 | Code        | 11 |         |    3 | 00/14EF : 9C A7 03    |                          STZ     {$03A7}              
 5465 | 24                   attract.s     26 | Code        | 11 |         |    1 | 00/14F2 : 60          |                          RTS                          
 5466 | 24                   attract.s     27 | Empty       | 11 |         |    0 | 00/14F3               |                                                       
 5467 | 24                   attract.s     28 | Comment     | 11 |         |    0 | 00/14F3               | *----------------------------------------------
 5468 | 24                   attract.s     29 | Comment     | 11 |         |    0 | 00/14F3               | * AttractAfterTitle - Called by TitleReset after AuxShowTitle RTSes.
 5469 | 24                   attract.s     30 | Comment     | 11 |         |    0 | 00/14F3               | * Handles the title->hiscore->demo chain.
 5470 | 24                   attract.s     31 | Comment     | 11 |         |    0 | 00/14F3               | *
 5471 | 24                   attract.s     32 | Comment     | 11 |         |    0 | 00/14F3               | * Out: A=0 / Z=1 -> fall into normal game start
 5472 | 24                   attract.s     33 | Comment     | 11 |         |    0 | 00/14F3               | *      A!=0 / Z=0 -> caller reshows the title (JMP TitleReset)
 5473 | 24                   attract.s     34 | Comment     | 11 |         |    0 | 00/14F3               | *----------------------------------------------
 5474 | 24                   attract.s     35 | Empty       | 11 |         |    0 | 00/14F3               | AttractAfterTitle                                     
 5475 | 24                   attract.s     36 | Code        | 11 |         |    3 | 00/14F3 : AD A6 03    |                          LDA     {$03A6}              
 5476 | 24                   attract.s     37 | Code        | 11 |         |    2 | 00/14F6 : C9 01       |                          CMP     #1                   
 5477 | 24                   attract.s     38 | Code        | 11 |         |    2 | 00/14F8 : D0 17       |                          BNE     _atChkDemo           
 5478 | 24                   attract.s     39 | Comment     | 11 |         |    0 | 00/14FA               | * State 1: title timed out -> view high scores.
 5479 | 24                   attract.s     40 | Code        | 11 |         |    2 | 00/14FA : A9 02       |                          LDA     #2                   
 5480 | 24                   attract.s     41 | Code        | 11 |         |    3 | 00/14FC : 8D A6 03    |                          STA     {$03A6}              
 5481 | 24                   attract.s     42 | Code        | 11 |         |    2 | 00/14FF : A9 2B       |                          LDA     #<AuxHiScoreView     
 5482 | 24                   attract.s     43 | Code        | 11 |         |    3 | 00/1501 : 8D 02 03    |                          STA     $0302                
 5483 | 24                   attract.s     44 | Code        | 11 |         |    2 | 00/1504 : A9 D1       |                          LDA     #>AuxHiScoreView     
 5484 | 24                   attract.s     45 | Code        | 11 |         |    3 | 00/1506 : 8D 03 03    |                          STA     $0303                
 5485 | 24                   attract.s     46 | Code        | 11 |         |    3 | 00/1509 : 20 1F 09    |                          JSR     AuxLCCall            
 5486 | 24                   attract.s     47 | Code        | 11 |         |    3 | 00/150C : AD A6 03    |                          LDA     {$03A6}              
 5487 | 24                   attract.s     48 | Code        | 11 |         |    2 | 00/150F : F0 0A       |                          BEQ     _atReshow            ; real key during hiscore -> reshow title
 5488 | 24                   attract.s     49 | Comment     | 11 |         |    0 | 00/1511               |          ; state still 2 -> fall through to demo start
 5489 | 24                   attract.s     50 | Empty       | 11 |         |    0 | 00/1511               | _atChkDemo                                            
 5490 | 24                   attract.s     51 | Code        | 11 |         |    2 | 00/1511 : C9 02       |                          CMP     #2                   
 5491 | 24                   attract.s     52 | Code        | 11 |         |    2 | 00/1513 : D0 03       |                          BNE     _atNormal            
 5492 | 24                   attract.s     53 | Comment     | 11 |         |    0 | 00/1515               | * State 2: hiscore timed out -> start the scripted demo.
 5493 | 24                   attract.s     54 | Code        | 11 |         |    3 | 00/1515 : 20 6D 15    |                          JSR     StartDemo            ; sets state=3, DemoActive=1
 5494 | 24                   attract.s     55 | Empty       | 11 |         |    0 | 00/1518               | _atNormal                                             
 5495 | 24                   attract.s     56 | Code        | 11 |         |    2 | 00/1518 : A9 00       |                          LDA     #0                   ; Z=1 -> continue into normal start
 5496 | 24                   attract.s     57 | Code        | 11 |         |    1 | 00/151A : 60          |                          RTS                          
 5497 | 24                   attract.s     58 | Empty       | 11 |         |    0 | 00/151B               | _atReshow                                             
 5498 | 24                   attract.s     59 | Code        | 11 |         |    2 | 00/151B : A9 01       |                          LDA     #1                   ; Z=0 -> caller should JMP TitleReset
 5499 | 24                   attract.s     60 | Code        | 11 |         |    1 | 00/151D : 60          |                          RTS                          
 5500 | 24                   attract.s     61 | Empty       | 11 |         |    0 | 00/151E               |                                                       
 5501 | 24                   attract.s     62 | Comment     | 11 |         |    0 | 00/151E               | *----------------------------------------------
 5502 | 24                   attract.s     63 | Comment     | 11 |         |    0 | 00/151E               | * AttractFrameHook - Called by MainLoop once per frame after
 5503 | 24                   attract.s     64 | Comment     | 11 |         |    0 | 00/151E               | * ReadInput.
 5504 | 24                   attract.s     65 | Comment     | 11 |         |    0 | 00/151E               | *
 5505 | 24                   attract.s     66 | Comment     | 11 |         |    0 | 00/151E               | * Demo mode:  override InputFlags, bail to title on keypress. Death
 5506 | 24                   attract.s     67 | Comment     | 11 |         |    0 | 00/151E               | *             (bonus/guard/cart) is handled by AttractGameOverHook.
 5507 | 24                   attract.s     68 | Comment     | 11 |         |    0 | 00/151E               | * Normal mode: return A!=0 iff ESC was pressed (caller JMPs title).
 5508 | 24                   attract.s     69 | Comment     | 11 |         |    0 | 00/151E               | *
 5509 | 24                   attract.s     70 | Comment     | 11 |         |    0 | 00/151E               | * Out: A=0 / Z=1 -> continue frame as normal
 5510 | 24                   attract.s     71 | Comment     | 11 |         |    0 | 00/151E               | *      A!=0 / Z=0 -> caller should JMP TitleReset
 5511 | 24                   attract.s     72 | Comment     | 11 |         |    0 | 00/151E               | *----------------------------------------------
 5512 | 24                   attract.s     73 | Empty       | 11 |         |    0 | 00/151E               | AttractFrameHook                                      
 5513 | 24                   attract.s     74 | Code        | 11 |         |    3 | 00/151E : AD A7 03    |                          LDA     {$03A7}              
 5514 | 24                   attract.s     75 | Code        | 11 |         |    2 | 00/1521 : F0 13       |                          BEQ     _fhPlay              
 5515 | 24                   attract.s     76 | Comment     | 11 |         |    0 | 00/1523               | * --- Demo active ---
 5516 | 24                   attract.s     77 | Code        | 11 |         |    2 | 00/1523 : A5 7F       |                          LDA     {$7F}                
 5517 | 24                   attract.s     78 | Code        | 11 |         |    2 | 00/1525 : F0 09       |                          BEQ     _fhRun               
 5518 | 24                   attract.s     79 | Comment     | 11 |         |    0 | 00/1527               | * Real keypress during demo -> drop attract, back to title.
 5519 | 24                   attract.s     80 | Code        | 11 |         |    3 | 00/1527 : 9C A7 03    |                          STZ     {$03A7}              
 5520 | 24                   attract.s     81 | Code        | 11 |         |    3 | 00/152A : 9C A6 03    |                          STZ     {$03A6}              
 5521 | 24                   attract.s     82 | Code        | 11 |         |    2 | 00/152D : A9 01       |                          LDA     #1                   
 5522 | 24                   attract.s     83 | Code        | 11 |         |    1 | 00/152F : 60          |                          RTS                          
 5523 | 24                   attract.s     84 | Code        | 11 |         |    3 | 00/1530 : 20 96 15    | _fhRun                   JSR     DemoStep             
 5524 | 24                   attract.s     85 | Code        | 11 |         |    2 | 00/1533 : A9 00       |                          LDA     #0                   
 5525 | 24                   attract.s     86 | Code        | 11 |         |    1 | 00/1535 : 60          |                          RTS                          
 5526 | 24                   attract.s     87 | Comment     | 11 |         |    0 | 00/1536               | * --- Normal play: only ESC bails out ---
 5527 | 24                   attract.s     88 | Code        | 11 |         |    2 | 00/1536 : A5 7F       | _fhPlay                  LDA     {$7F}                
 5528 | 24                   attract.s     89 | Code        | 11 |         |    2 | 00/1538 : F0 09       |                          BEQ     _fhCont              
 5529 | 24                   attract.s     90 | Code        | 11 |         |    2 | 00/153A : A5 7B       |                          LDA     {$7B}                
 5530 | 24                   attract.s     91 | Code        | 11 |         |    2 | 00/153C : C9 9B       |                          CMP     #$9B                 
 5531 | 24                   attract.s     92 | Code        | 11 |         |    2 | 00/153E : D0 03       |                          BNE     _fhCont              
 5532 | 24                   attract.s     93 | Code        | 11 |         |    2 | 00/1540 : A9 01       |                          LDA     #1                   
 5533 | 24                   attract.s     94 | Code        | 11 |         |    1 | 00/1542 : 60          |                          RTS                          
 5534 | 24                   attract.s     95 | Code        | 11 |         |    2 | 00/1543 : A9 00       | _fhCont                  LDA     #0                   
 5535 | 24                   attract.s     96 | Code        | 11 |         |    1 | 00/1545 : 60          |                          RTS                          
 5536 | 24                   attract.s     97 | Empty       | 11 |         |    0 | 00/1546               |                                                       
 5537 | 24                   attract.s     98 | Comment     | 11 |         |    0 | 00/1546               | *----------------------------------------------
 5538 | 24                   attract.s     99 | Comment     | 11 |         |    0 | 00/1546               | * AttractGameOverHook - Called by MainLoop at :goEnd before the
 5539 | 24                   attract.s    100 | Comment     | 11 |         |    0 | 00/1546               | * leaderboard call. If the demo died (guards, bonus timer), bypass
 5540 | 24                   attract.s    101 | Comment     | 11 |         |    0 | 00/1546               | * the leaderboard and cycle attract.
 5541 | 24                   attract.s    102 | Comment     | 11 |         |    0 | 00/1546               | *
 5542 | 24                   attract.s    103 | Comment     | 11 |         |    0 | 00/1546               | * Out: A=0 / Z=1 -> run leaderboard + TitleReset as normal
 5543 | 24                   attract.s    104 | Comment     | 11 |         |    0 | 00/1546               | *      A!=0 / Z=0 -> caller should JMP TitleReset directly
 5544 | 24                   attract.s    105 | Comment     | 11 |         |    0 | 00/1546               | *----------------------------------------------
 5545 | 24                   attract.s    106 | Empty       | 11 |         |    0 | 00/1546               | AttractGameOverHook                                   
 5546 | 24                   attract.s    107 | Code        | 11 |         |    3 | 00/1546 : AD A7 03    |                          LDA     {$03A7}              
 5547 | 24                   attract.s    108 | Code        | 11 |         |    2 | 00/1549 : F0 09       |                          BEQ     _gohCont             
 5548 | 24                   attract.s    109 | Code        | 11 |         |    3 | 00/154B : 9C A7 03    |                          STZ     {$03A7}              
 5549 | 24                   attract.s    110 | Code        | 11 |         |    2 | 00/154E : A9 01       |                          LDA     #1                   
 5550 | 24                   attract.s    111 | Code        | 11 |         |    3 | 00/1550 : 8D A6 03    |                          STA     {$03A6}              
 5551 | 24                   attract.s    112 | Code        | 11 |         |    1 | 00/1553 : 60          |                          RTS                          
 5552 | 24                   attract.s    113 | Code        | 11 |         |    2 | 00/1554 : A9 00       | _gohCont                 LDA     #0                   
 5553 | 24                   attract.s    114 | Code        | 11 |         |    1 | 00/1556 : 60          |                          RTS                          
 5554 | 24                   attract.s    115 | Empty       | 11 |         |    0 | 00/1557               |                                                       
 5555 | 24                   attract.s    116 | Comment     | 11 |         |    0 | 00/1557               | *----------------------------------------------
 5556 | 24                   attract.s    117 | Comment     | 11 |         |    0 | 00/1557               | * DoIntermissionIfNotDemo - TitleReset calls this after
 5557 | 24                   attract.s    118 | Comment     | 11 |         |    0 | 00/1557               | * ResetScoreAndLives and before ResetLevel.
 5558 | 24                   attract.s    119 | Comment     | 11 |         |    0 | 00/1557               | *
 5559 | 24                   attract.s    120 | Comment     | 11 |         |    0 | 00/1557               | * Normal play: trampoline into AuxDoIntermission ("ROUND N" + Tune2).
 5560 | 24                   attract.s    121 | Comment     | 11 |         |    0 | 00/1557               | * Demo:       skip the intermission (Tune2 would break attract song
 5561 | 24                   attract.s    122 | Comment     | 11 |         |    0 | 00/1557               | *             continuity) AND zero Lives so the first death ends
 5562 | 24                   attract.s    123 | Comment     | 11 |         |    0 | 00/1557               | *             the attract cycle (no reserves during the demo).
 5563 | 24                   attract.s    124 | Comment     | 11 |         |    0 | 00/1557               | *----------------------------------------------
 5564 | 24                   attract.s    125 | Empty       | 11 |         |    0 | 00/1557               | DoIntermissionIfNotDemo                               
 5565 | 24                   attract.s    126 | Code        | 11 |         |    3 | 00/1557 : AD A7 03    |                          LDA     {$03A7}              
 5566 | 24                   attract.s    127 | Code        | 11 |         |    2 | 00/155A : D0 0D       |                          BNE     _diDemo              
 5567 | 24                   attract.s    128 | Code        | 11 |         |    2 | 00/155C : A9 25       |                          LDA     #<AuxDoIntermission  
 5568 | 24                   attract.s    129 | Code        | 11 |         |    3 | 00/155E : 8D 02 03    |                          STA     $0302                
 5569 | 24                   attract.s    130 | Code        | 11 |         |    2 | 00/1561 : A9 D1       |                          LDA     #>AuxDoIntermission  
 5570 | 24                   attract.s    131 | Code        | 11 |         |    3 | 00/1563 : 8D 03 03    |                          STA     $0303                
 5571 | 24                   attract.s    132 | Code        | 11 |         |    3 | 00/1566 : 4C 1F 09    |                          JMP     AuxLCCall            ; tail call
 5572 | 24                   attract.s    133 | Code        | 11 |         |    3 | 00/1569 : 9C D8 11    | _diDemo                  STZ     Lives                ; single life -> death ends attract
 5573 | 24                   attract.s    134 | Code        | 11 |         |    1 | 00/156C : 60          |                          RTS                          
 5574 | 24                   attract.s    135 | Empty       | 11 |         |    0 | 00/156D               |                                                       
 5575 | 24                   attract.s    136 | Comment     | 11 |         |    0 | 00/156D               | *----------------------------------------------
 5576 | 24                   attract.s    137 | Comment     | 11 |         |    0 | 00/156D               | * StartDemo - Seed demo state so TitleReset falls through into the
 5577 | 24                   attract.s    138 | Comment     | 11 |         |    0 | 00/156D               | * normal start-a-level path. GuardRng is seeded to a fixed value
 5578 | 24                   attract.s    139 | Comment     | 11 |         |    0 | 00/156D               | * so replays are approximately deterministic.
 5579 | 24                   attract.s    140 | Comment     | 11 |         |    0 | 00/156D               | *----------------------------------------------
 5580 | 24                   attract.s    141 | Empty       | 11 |         |    0 | 00/156D               | StartDemo                                             
 5581 | 24                   attract.s    142 | Code        | 11 |         |    2 | 00/156D : A9 03       |                          LDA     #3                   
 5582 | 24                   attract.s    143 | Code        | 11 |         |    3 | 00/156F : 8D A6 03    |                          STA     {$03A6}              
 5583 | 24                   attract.s    144 | Code        | 11 |         |    2 | 00/1572 : A9 01       |                          LDA     #1                   
 5584 | 24                   attract.s    145 | Code        | 11 |         |    3 | 00/1574 : 8D A7 03    |                          STA     {$03A7}              
 5585 | 24                   attract.s    146 | Code        | 11 |         |    3 | 00/1577 : 9C AA 03    |                          STZ     {$03AA}              
 5586 | 24                   attract.s    147 | Code        | 11 |         |    3 | 00/157A : 9C A8 03    |                          STZ     {$03A8}              
 5587 | 24                   attract.s    148 | Code        | 11 |         |    3 | 00/157D : 9C A9 03    |                          STZ     {$03A9}              
 5588 | 24                   attract.s    149 | Code        | 11 |         |    3 | 00/1580 : 9C AB 03    |                          STZ     {$03AB}              
 5589 | 24                   attract.s    150 | Code        | 11 |         |    2 | 00/1583 : A9 A5       |                          LDA     #$A5                 
 5590 | 24                   attract.s    151 | Code        | 11 |         |    3 | 00/1585 : 8D A9 11    |                          STA     GuardRng             
 5591 | 24                   attract.s    152 | Code        | 11 |         |    1 | 00/1588 : 60          |                          RTS                          
 5592 | 24                   attract.s    153 | Empty       | 11 |         |    0 | 00/1589               |                                                       
 5593 | 24                   attract.s    154 | Comment     | 11 |         |    0 | 00/1589               | *----------------------------------------------
 5594 | 24                   attract.s    155 | Comment     | 11 |         |    0 | 00/1589               | * ReadOAPDemo - Demo-aware Open-Apple read.
 5595 | 24                   attract.s    156 | Comment     | 11 |         |    0 | 00/1589               | * Returns bit 7 set when Open-Apple is "pressed" (hardware in
 5596 | 24                   attract.s    157 | Comment     | 11 |         |    0 | 00/1589               | * normal play; DemoBtn during the demo). N flag reflects the
 5597 | 24                   attract.s    158 | Comment     | 11 |         |    0 | 00/1589               | * value so BPL/BMI at each call site works unchanged.
 5598 | 24                   attract.s    159 | Comment     | 11 |         |    0 | 00/1589               | *----------------------------------------------
 5599 | 24                   attract.s    160 | Empty       | 11 |         |    0 | 00/1589               | ReadOAPDemo                                           
 5600 | 24                   attract.s    161 | Code        | 11 |         |    3 | 00/1589 : AD A7 03    |                          LDA     {$03A7}              
 5601 | 24                   attract.s    162 | Code        | 11 |         |    2 | 00/158C : F0 04       |                          BEQ     _oapHw               
 5602 | 24                   attract.s    163 | Code        | 11 |         |    3 | 00/158E : AD A9 03    |                          LDA     {$03A9}              
 5603 | 24                   attract.s    164 | Code        | 11 |         |    1 | 00/1591 : 60          |                          RTS                          
 5604 | 24                   attract.s    165 | Code        | 11 |         |    3 | 00/1592 : AD 61 C0    | _oapHw                   LDA     {$C061}              
 5605 | 24                   attract.s    166 | Code        | 11 |         |    1 | 00/1595 : 60          |                          RTS                          
 5606 | 24                   attract.s    167 | Empty       | 11 |         |    0 | 00/1596               |                                                       
 5607 | 24                   attract.s    168 | Comment     | 11 |         |    0 | 00/1596               | *----------------------------------------------
 5608 | 24                   attract.s    169 | Comment     | 11 |         |    0 | 00/1596               | * DemoStep - Called once per demo frame. Consumes the RLE stream
 5609 | 24                   attract.s    170 | Comment     | 11 |         |    0 | 00/1596               | * and overrides InputFlags + DemoBtn. Demo runs until the player
 5610 | 24                   attract.s    171 | Comment     | 11 |         |    0 | 00/1596               | * dies (Lives was zeroed in DoIntermissionIfNotDemo, so the first
 5611 | 24                   attract.s    172 | Comment     | 11 |         |    0 | 00/1596               | * bonus/guard/cart death triggers AttractGameOverHook → TitleReset).
 5612 | 24                   attract.s    173 | Comment     | 11 |         |    0 | 00/1596               | *----------------------------------------------
 5613 | 24                   attract.s    174 | Empty       | 11 |         |    0 | 00/1596               | DemoStep                                              
 5614 | 24                   attract.s    175 | Code        | 11 |         |    3 | 00/1596 : AD A8 03    |                          LDA     {$03A8}              
 5615 | 24                   attract.s    176 | Code        | 11 |         |    2 | 00/1599 : D0 24       |                          BNE     _dsHold              
 5616 | 24                   attract.s    177 | Code        | 11 |         |    3 | 00/159B : AE AA 03    |                          LDX     {$03AA}              
 5617 | 24                   attract.s    178 | Code        | 11 |         |    3 | 00/159E : BD CA 15    |                          LDA     DemoData,X           ; framesHold
 5618 | 24                   attract.s    179 | Code        | 11 |         |    2 | 00/15A1 : F0 15       |                          BEQ     _dsHoldLast          ; 0 = terminator -> hold last input
 5619 | 24                   attract.s    180 | Code        | 11 |         |    3 | 00/15A3 : 8D A8 03    |                          STA     {$03A8}              
 5620 | 24                   attract.s    181 | Code        | 11 |         |    1 | 00/15A6 : E8          |                          INX                          
 5621 | 24                   attract.s    182 | Code        | 11 |         |    3 | 00/15A7 : BD CA 15    |                          LDA     DemoData,X           ; inputByte
 5622 | 24                   attract.s    183 | Code        | 11 |         |    3 | 00/15AA : 8D AB 03    |                          STA     {$03AB}              
 5623 | 24                   attract.s    184 | Code        | 11 |         |    2 | 00/15AD : 29 80       |                          AND     #$80                 
 5624 | 24                   attract.s    185 | Code        | 11 |         |    3 | 00/15AF : 8D A9 03    |                          STA     {$03A9}              
 5625 | 24                   attract.s    186 | Code        | 11 |         |    1 | 00/15B2 : E8          |                          INX                          
 5626 | 24                   attract.s    187 | Code        | 11 |         |    3 | 00/15B3 : 8E AA 03    |                          STX     {$03AA}              
 5627 | 24                   attract.s    188 | Code        | 11 |         |    2 | 00/15B6 : 80 0A       |                          BRA     _dsApply             
 5628 | 24                   attract.s    189 | Empty       | 11 |         |    0 | 00/15B8               | _dsHoldLast                                           
 5629 | 24                   attract.s    190 | Code        | 11 |         |    2 | 00/15B8 : A9 FF       |                          LDA     #$FF                 ; long hold so we don't re-read the 0
 5630 | 24                   attract.s    191 | Code        | 11 |         |    3 | 00/15BA : 8D A8 03    |                          STA     {$03A8}              
 5631 | 24                   attract.s    192 | Code        | 11 |         |    2 | 00/15BD : 80 03       |                          BRA     _dsApply             
 5632 | 24                   attract.s    193 | Code        | 11 |         |    3 | 00/15BF : CE A8 03    | _dsHold                  DEC     {$03A8}              
 5633 | 24                   attract.s    194 | Code        | 11 |         |    3 | 00/15C2 : AD AB 03    | _dsApply                 LDA     {$03AB}              
 5634 | 24                   attract.s    195 | Code        | 11 |         |    2 | 00/15C5 : 29 0F       |                          AND     #$0F                 ; direction bits -> InputFlags
 5635 | 24                   attract.s    196 | Code        | 11 |         |    2 | 00/15C7 : 85 76       |                          STA     {$76}                
 5636 | 24                   attract.s    197 | Code        | 11 |         |    1 | 00/15C9 : 60          |                          RTS                          
 5637 | 24                   attract.s    198 | Empty       | 11 |         |    0 | 00/15CA               |                                                       
 5638 | 24                   attract.s    199 | Comment     | 11 |         |    0 | 00/15CA               | *----------------------------------------------
 5639 | 24                   attract.s    200 | Comment     | 11 |         |    0 | 00/15CA               | * DemoData - RLE input stream: pairs of [framesHold, inputByte].
 5640 | 24                   attract.s    201 | Comment     | 11 |         |    0 | 00/15CA               | * inputByte bits 0-3 mirror INP_RIGHT/LEFT/UP/DOWN ($01/$02/$04/$08);
 5641 | 24                   attract.s    202 | Comment     | 11 |         |    0 | 00/15CA               | * bit 7 is the synthesized Open-Apple state.
 5642 | 24                   attract.s    203 | Comment     | 11 |         |    0 | 00/15CA               | *
 5643 | 24                   attract.s    204 | Comment     | 11 |         |    0 | 00/15CA               | * A framesHold of 0 terminates the stream; DemoStep then holds the
 5644 | 24                   attract.s    205 | Comment     | 11 |         |    0 | 00/15CA               | * last input forever (the bonus countdown will kill the player and
 5645 | 24                   attract.s    206 | Comment     | 11 |         |    0 | 00/15CA               | * cycle back to the title). Keeping the stream under 256 bytes lets
 5646 | 24                   attract.s    207 | Comment     | 11 |         |    0 | 00/15CA               | * DemoIdx stay a single byte.
 5647 | 24                   attract.s    208 | Comment     | 11 |         |    0 | 00/15CA               | *
 5648 | 24                   attract.s    209 | Comment     | 11 |         |    0 | 00/15CA               | * Map 0 one-bag cycle (NEEDS EMULATOR TUNING - pixel-precise
 5649 | 24                   attract.s    210 | Comment     | 11 |         |    0 | 00/15CA               | * grab/deposit distances are guesses without runtime verification):
 5650 | 24                   attract.s    211 | Comment     | 11 |         |    0 | 00/15CA               | *   spawn X=63, Bag 0 X=70 Y=147, WB spawn X=84 Y=147.
 5651 | 24                   attract.s    212 | Comment     | 11 |         |    0 | 00/15CA               | *   Sequence: settle, walk right, stop at bag, OAP pickup, drag
 5652 | 24                   attract.s    213 | Comment     | 11 |         |    0 | 00/15CA               | *   toward WB, release OAP to deposit, then idle until the bonus
 5653 | 24                   attract.s    214 | Comment     | 11 |         |    0 | 00/15CA               | *   timer runs out and kills the player.
 5654 | 24                   attract.s    215 | Comment     | 11 |         |    0 | 00/15CA               | *----------------------------------------------
 5655 | 24                   attract.s    216 | Empty       | 11 |         |    0 | 00/15CA               | DemoData                                              
 5656 | 24                   attract.s    217 | Data        | 11 |         |    2 | 00/15CA : 1E 00       |                          DFB     30,$00               ; 1s stand, let things settle
 5657 | 24                   attract.s    218 | Data        | 11 |         |    2 | 00/15CC : 08 01       |                          DFB     8,$01                ; walk right to bag row (~8px)
 5658 | 24                   attract.s    219 | Data        | 11 |         |    2 | 00/15CE : 04 00       |                          DFB     4,$00                ; brief stop
 5659 | 24                   attract.s    220 | Data        | 11 |         |    2 | 00/15D0 : 14 80       |                          DFB     20,$80               ; OAP press -> pick up bag 0
 5660 | 24                   attract.s    221 | Data        | 11 |         |    2 | 00/15D2 : 12 81       |                          DFB     18,$81               ; walk right dragging bag toward WB
 5661 | 24                   attract.s    222 | Data        | 11 |         |    2 | 00/15D4 : 06 80       |                          DFB     6,$80                ; stop near WB, still holding
 5662 | 24                   attract.s    223 | Data        | 11 |         |    2 | 00/15D6 : 14 00       |                          DFB     20,$00               ; release OAP -> deposit
 5663 | 24                   attract.s    224 | Data        | 11 |         |    2 | 00/15D8 : 00 00       |                          DFB     0,$00                ; terminator: idle until death
 5664 | 24                   attract.s    225 | Empty       | 11 |         |    0 | 00/15DA               |                                                       
 5665 |  1                    bagman.s     50 | Empty       | 11 |         |    0 | 00/15DA               | ozunid_88                                             
 5666 |  1                    bagman.s     50 | Equivalence | 11 |         |    0 | 00/15DA               | Low1800Len               =       ozunid_88-$0800      
 5667 |  1                    bagman.s     51 | Empty       | 11 |         |    0 | 00/15DA               |                                                       
 5668 |  1                    bagman.s     52 | Comment     | 11 |         |    0 | 00/15DA               | * --- Guard overflow code in LC bank 2 at $D000 (256 bytes max) ---
 5669 |  1                    bagman.s     53 | Equivalence | 11 |         |    0 | 00/15DA               | LC2Dest                  =       $D000                
 5670 |  1                    bagman.s     54 | Directive   | 11 |         |    0 | 00/15DA               |                          ORG     {$D000}              
 5671 |  1                    bagman.s     55 | Directive   | 11 |         |    0 | 00/D000               |                          PUT     guard_lc_d0.s        
 5672 | 25               guard_lc_d0.s      1 | Comment     | 11 |         |    0 | 00/D000               | *
 5673 | 25               guard_lc_d0.s      2 | Comment     | 11 |         |    0 | 00/D000               | * Bagman - Guard Code overflow (LC bank 2, $D000-$D0FF)
 5674 | 25               guard_lc_d0.s      3 | Comment     | 11 |         |    0 | 00/D000               | *
 5675 | 25               guard_lc_d0.s      4 | Comment     | 11 |         |    0 | 00/D000               | * Stays tight because LC bank 2 at $D100+ holds ProDOS's BitsyBye
 5676 | 25               guard_lc_d0.s      5 | Comment     | 11 |         |    0 | 00/D000               | * SYSTEM loader — overflow past $D0FF breaks MLI QUIT.
 5677 | 25               guard_lc_d0.s      6 | Comment     | 11 |         |    0 | 00/D000               | * Init-time guard routines live in guard_1800.s instead.
 5678 | 25               guard_lc_d0.s      7 | Comment     | 11 |         |    0 | 00/D000               | *
 5679 | 25               guard_lc_d0.s      8 | Empty       | 11 |         |    0 | 00/D000               |                                                       
 5680 | 25               guard_lc_d0.s      9 | Comment     | 11 |         |    0 | 00/D000               | *----------------------------------------------
 5681 | 25               guard_lc_d0.s     10 | Comment     | 11 |         |    0 | 00/D000               | * _GuardAtLanding - Probe both sides for a landing
 5682 | 25               guard_lc_d0.s     11 | Comment     | 11 |         |    0 | 00/D000               | *
 5683 | 25               guard_lc_d0.s     12 | Comment     | 11 |         |    0 | 00/D000               | * Called at the top of GuardClimb to see whether the guard should
 5684 | 25               guard_lc_d0.s     13 | Comment     | 11 |         |    0 | 00/D000               | * step off the ladder or reverse its committed climb direction.
 5685 | 25               guard_lc_d0.s     14 | Comment     | 11 |         |    0 | 00/D000               | *
 5686 | 25               guard_lc_d0.s     15 | Comment     | 11 |         |    0 | 00/D000               | * First probe is the side toward the player:
 5687 | 25               guard_lc_d0.s     16 | Comment     | 11 |         |    0 | 00/D000               | *   - walkable + ground -> landing for EXIT. Return C=1. Caller
 5688 | 25               guard_lc_d0.s     17 | Comment     | 11 |         |    0 | 00/D000               | *     jumps into :gcNoVert which commits the sideways step.
 5689 | 25               guard_lc_d0.s     18 | Comment     | 11 |         |    0 | 00/D000               | * If that fails, probe the OTHER side:
 5690 | 25               guard_lc_d0.s     19 | Comment     | 11 |         |    0 | 00/D000               | *   - walkable + ground -> landing for REVERSE. Flip GuardTblDir
 5691 | 25               guard_lc_d0.s     20 | Comment     | 11 |         |    0 | 00/D000               | *     toward the player's current Y so the next vertical step
 5692 | 25               guard_lc_d0.s     21 | Comment     | 11 |         |    0 | 00/D000               | *     heads the right way. Return C=0 (caller keeps climbing).
 5693 | 25               guard_lc_d0.s     22 | Comment     | 11 |         |    0 | 00/D000               | * Neither side a landing -> return C=0 with GuardTblDir unchanged.
 5694 | 25               guard_lc_d0.s     23 | Comment     | 11 |         |    0 | 00/D000               | *
 5695 | 25               guard_lc_d0.s     24 | Comment     | 11 |         |    0 | 00/D000               | * EntX is restored before RTS in every path.
 5696 | 25               guard_lc_d0.s     25 | Comment     | 11 |         |    0 | 00/D000               | *----------------------------------------------
 5697 | 25               guard_lc_d0.s     26 | Empty       | 11 |         |    0 | 00/D000               | _GuardAtLanding                                       
 5698 | 25               guard_lc_d0.s     27 | Comment     | 11 |         |    0 | 00/D000               | * Don't treat the entry landing as an exit target - that would
 5699 | 25               guard_lc_d0.s     28 | Comment     | 11 |         |    0 | 00/D000               | * send the guard straight back onto the platform it came from.
 5700 | 25               guard_lc_d0.s     29 | Code        | 11 |         |    3 | 00/D000 : 20 91 12    |                          JSR     _GuardClimbFarFromEntry
 5701 | 25               guard_lc_d0.s     30 | Code        | 11 |         |    2 | 00/D003 : B0 02       |                          BCS     _galGo               
 5702 | 25               guard_lc_d0.s     31 | Code        | 11 |         |    1 | 00/D005 : 18          |                          CLC                          
 5703 | 25               guard_lc_d0.s     32 | Code        | 11 |         |    1 | 00/D006 : 60          |                          RTS                          
 5704 | 25               guard_lc_d0.s     33 | Code        | 11 |         |    2 | 00/D007 : A5 70       | _galGo                   LDA     {$70}                
 5705 | 25               guard_lc_d0.s     34 | Code        | 11 |         |    2 | 00/D009 : C5 F6       |                          CMP     {$F6}                
 5706 | 25               guard_lc_d0.s     35 | Code        | 11 |         |    2 | 00/D00B : 90 27       |                          BCC     _galL                
 5707 | 25               guard_lc_d0.s     36 | Comment     | 11 |         |    0 | 00/D00D               | * Player is right of guard - try right for exit, left for reverse
 5708 | 25               guard_lc_d0.s     37 | Code        | 11 |         |    2 | 00/D00D : E6 F6       |                          INC     {$F6}                
 5709 | 25               guard_lc_d0.s     38 | Code        | 11 |         |    3 | 00/D00F : 20 3B DD    |                          JSR     EntCheckWalkableR    
 5710 | 25               guard_lc_d0.s     39 | Code        | 11 |         |    2 | 00/D012 : F0 09       |                          BEQ     _galRNo              
 5711 | 25               guard_lc_d0.s     40 | Code        | 11 |         |    3 | 00/D014 : 20 75 DD    |                          JSR     EntCheckGround       
 5712 | 25               guard_lc_d0.s     41 | Code        | 11 |         |    2 | 00/D017 : F0 04       |                          BEQ     _galRNo              
 5713 | 25               guard_lc_d0.s     42 | Code        | 11 |         |    2 | 00/D019 : C6 F6       |                          DEC     {$F6}                
 5714 | 25               guard_lc_d0.s     43 | Code        | 11 |         |    1 | 00/D01B : 38          |                          SEC                          
 5715 | 25               guard_lc_d0.s     44 | Code        | 11 |         |    1 | 00/D01C : 60          |                          RTS                          
 5716 | 25               guard_lc_d0.s     45 | Code        | 11 |         |    2 | 00/D01D : C6 F6       | _galRNo                  DEC     {$F6}                
 5717 | 25               guard_lc_d0.s     46 | Code        | 11 |         |    2 | 00/D01F : C6 F6       |                          DEC     {$F6}                
 5718 | 25               guard_lc_d0.s     47 | Code        | 11 |         |    3 | 00/D021 : 20 5E DD    |                          JSR     EntCheckWalkableL    
 5719 | 25               guard_lc_d0.s     48 | Code        | 11 |         |    2 | 00/D024 : F0 0A       |                          BEQ     _galNone             
 5720 | 25               guard_lc_d0.s     49 | Code        | 11 |         |    3 | 00/D026 : 20 75 DD    |                          JSR     EntCheckGround       
 5721 | 25               guard_lc_d0.s     50 | Code        | 11 |         |    2 | 00/D029 : F0 05       |                          BEQ     _galNone             
 5722 | 25               guard_lc_d0.s     51 | Code        | 11 |         |    2 | 00/D02B : E6 F6       |                          INC     {$F6}                
 5723 | 25               guard_lc_d0.s     52 | Code        | 11 |         |    3 | 00/D02D : 4C 5B D0    |                          JMP     _GuardLandingReverse 
 5724 | 25               guard_lc_d0.s     53 | Code        | 11 |         |    2 | 00/D030 : E6 F6       | _galNone                 INC     {$F6}                
 5725 | 25               guard_lc_d0.s     54 | Code        | 11 |         |    1 | 00/D032 : 18          |                          CLC                          
 5726 | 25               guard_lc_d0.s     55 | Code        | 11 |         |    1 | 00/D033 : 60          |                          RTS                          
 5727 | 25               guard_lc_d0.s     56 | Empty       | 11 |         |    0 | 00/D034               | _galL                                                 
 5728 | 25               guard_lc_d0.s     57 | Comment     | 11 |         |    0 | 00/D034               | * Player is left of guard - try left for exit, right for reverse
 5729 | 25               guard_lc_d0.s     58 | Code        | 11 |         |    2 | 00/D034 : C6 F6       |                          DEC     {$F6}                
 5730 | 25               guard_lc_d0.s     59 | Code        | 11 |         |    3 | 00/D036 : 20 5E DD    |                          JSR     EntCheckWalkableL    
 5731 | 25               guard_lc_d0.s     60 | Code        | 11 |         |    2 | 00/D039 : F0 09       |                          BEQ     _galLNo              
 5732 | 25               guard_lc_d0.s     61 | Code        | 11 |         |    3 | 00/D03B : 20 75 DD    |                          JSR     EntCheckGround       
 5733 | 25               guard_lc_d0.s     62 | Code        | 11 |         |    2 | 00/D03E : F0 04       |                          BEQ     _galLNo              
 5734 | 25               guard_lc_d0.s     63 | Code        | 11 |         |    2 | 00/D040 : E6 F6       |                          INC     {$F6}                
 5735 | 25               guard_lc_d0.s     64 | Code        | 11 |         |    1 | 00/D042 : 38          |                          SEC                          
 5736 | 25               guard_lc_d0.s     65 | Code        | 11 |         |    1 | 00/D043 : 60          |                          RTS                          
 5737 | 25               guard_lc_d0.s     66 | Code        | 11 |         |    2 | 00/D044 : E6 F6       | _galLNo                  INC     {$F6}                
 5738 | 25               guard_lc_d0.s     67 | Code        | 11 |         |    2 | 00/D046 : E6 F6       |                          INC     {$F6}                
 5739 | 25               guard_lc_d0.s     68 | Code        | 11 |         |    3 | 00/D048 : 20 3B DD    |                          JSR     EntCheckWalkableR    
 5740 | 25               guard_lc_d0.s     69 | Code        | 11 |         |    2 | 00/D04B : F0 0A       |                          BEQ     _galNone2            
 5741 | 25               guard_lc_d0.s     70 | Code        | 11 |         |    3 | 00/D04D : 20 75 DD    |                          JSR     EntCheckGround       
 5742 | 25               guard_lc_d0.s     71 | Code        | 11 |         |    2 | 00/D050 : F0 05       |                          BEQ     _galNone2            
 5743 | 25               guard_lc_d0.s     72 | Code        | 11 |         |    2 | 00/D052 : C6 F6       |                          DEC     {$F6}                
 5744 | 25               guard_lc_d0.s     73 | Code        | 11 |         |    3 | 00/D054 : 4C 5B D0    |                          JMP     _GuardLandingReverse 
 5745 | 25               guard_lc_d0.s     74 | Code        | 11 |         |    2 | 00/D057 : C6 F6       | _galNone2                DEC     {$F6}                
 5746 | 25               guard_lc_d0.s     75 | Code        | 11 |         |    1 | 00/D059 : 18          |                          CLC                          
 5747 | 25               guard_lc_d0.s     76 | Code        | 11 |         |    1 | 00/D05A : 60          |                          RTS                          
 5748 | 25               guard_lc_d0.s     77 | Empty       | 11 |         |    0 | 00/D05B               |                                                       
 5749 | 25               guard_lc_d0.s     78 | Comment     | 11 |         |    0 | 00/D05B               | *----------------------------------------------
 5750 | 25               guard_lc_d0.s     79 | Comment     | 11 |         |    0 | 00/D05B               | * _GuardLandingReverse - Flip GuardTblDir toward PlayerY
 5751 | 25               guard_lc_d0.s     80 | Comment     | 11 |         |    0 | 00/D05B               | *
 5752 | 25               guard_lc_d0.s     81 | Comment     | 11 |         |    0 | 00/D05B               | * Called when _GuardAtLanding finds a landing on the non-player
 5753 | 25               guard_lc_d0.s     82 | Comment     | 11 |         |    0 | 00/D05B               | * side. Reversing GuardTblDir means the upcoming vertical step
 5754 | 25               guard_lc_d0.s     83 | Comment     | 11 |         |    0 | 00/D05B               | * this frame will head toward the player's current elevation
 5755 | 25               guard_lc_d0.s     84 | Comment     | 11 |         |    0 | 00/D05B               | * instead of the direction the guard committed to at climb entry.
 5756 | 25               guard_lc_d0.s     85 | Comment     | 11 |         |    0 | 00/D05B               | * Returns C=0 so the caller continues the vertical climb path.
 5757 | 25               guard_lc_d0.s     86 | Comment     | 11 |         |    0 | 00/D05B               | *----------------------------------------------
 5758 | 25               guard_lc_d0.s     87 | Empty       | 11 |         |    0 | 00/D05B               | _GuardLandingReverse                                  
 5759 | 25               guard_lc_d0.s     88 | Code        | 11 |         |    2 | 00/D05B : A6 F4       |                          LDX     {$F4}                
 5760 | 25               guard_lc_d0.s     89 | Code        | 11 |         |    2 | 00/D05D : A5 F7       |                          LDA     {$F7}                
 5761 | 25               guard_lc_d0.s     90 | Code        | 11 |         |    2 | 00/D05F : C5 71       |                          CMP     {$71}                
 5762 | 25               guard_lc_d0.s     91 | Code        | 11 |         |    2 | 00/D061 : B0 07       |                          BCS     _glrUp               
 5763 | 25               guard_lc_d0.s     92 | Code        | 11 |         |    2 | 00/D063 : A9 01       |                          LDA     #1                   ; player below -> DOWN
 5764 | 25               guard_lc_d0.s     93 | Code        | 11 |         |    3 | 00/D065 : 9D 94 11    |                          STA     GuardTblDir,X        
 5765 | 25               guard_lc_d0.s     94 | Code        | 11 |         |    1 | 00/D068 : 18          |                          CLC                          
 5766 | 25               guard_lc_d0.s     95 | Code        | 11 |         |    1 | 00/D069 : 60          |                          RTS                          
 5767 | 25               guard_lc_d0.s     96 | Code        | 11 |         |    2 | 00/D06A : A9 00       | _glrUp                   LDA     #0                   ; player above -> UP
 5768 | 25               guard_lc_d0.s     97 | Code        | 11 |         |    3 | 00/D06C : 9D 94 11    |                          STA     GuardTblDir,X        
 5769 | 25               guard_lc_d0.s     98 | Code        | 11 |         |    1 | 00/D06F : 18          |                          CLC                          
 5770 | 25               guard_lc_d0.s     99 | Code        | 11 |         |    1 | 00/D070 : 60          |                          RTS                          
 5771 | 25               guard_lc_d0.s    100 | Empty       | 11 |         |    0 | 00/D071               |                                                       
 5772 | 25               guard_lc_d0.s    101 | Empty       | 11 |         |    0 | 00/D071               | CheckGuardHit                                         
 5773 | 25               guard_lc_d0.s    102 | Code        | 11 |         |    2 | 00/D071 : A5 74       |                          LDA     {$74}                
 5774 | 25               guard_lc_d0.s    103 | Code        | 11 |         |    2 | 00/D073 : C9 05       |                          CMP     #{5}                 
 5775 | 25               guard_lc_d0.s    104 | Code        | 11 |         |    2 | 00/D075 : F0 4B       |                          BEQ     _cghNone             
 5776 | 25               guard_lc_d0.s    105 | Code        | 11 |         |    2 | 00/D077 : C9 06       |                          CMP     #{6}                 
 5777 | 25               guard_lc_d0.s    106 | Code        | 11 |         |    2 | 00/D079 : F0 47       |                          BEQ     _cghNone             
 5778 | 25               guard_lc_d0.s    107 | Code        | 11 |         |    2 | 00/D07B : C9 04       |                          CMP     #{4}                 
 5779 | 25               guard_lc_d0.s    108 | Code        | 11 |         |    2 | 00/D07D : F0 43       |                          BEQ     _cghNone             
 5780 | 25               guard_lc_d0.s    109 | Code        | 11 |         |    2 | 00/D07F : C9 07       |                          CMP     #{7}                 
 5781 | 25               guard_lc_d0.s    110 | Code        | 11 |         |    2 | 00/D081 : F0 3F       |                          BEQ     _cghNone             
 5782 | 25               guard_lc_d0.s    111 | Code        | 11 |         |    2 | 00/D083 : A2 00       |                          LDX     #0                   
 5783 | 25               guard_lc_d0.s    112 | Code        | 11 |         |    3 | 00/D085 : EC C8 11    | _cghLoop                 CPX     GuardActiveCount     
 5784 | 25               guard_lc_d0.s    113 | Code        | 11 |         |    2 | 00/D088 : B0 38       |                          BCS     _cghNone             
 5785 | 25               guard_lc_d0.s    114 | Code        | 11 |         |    3 | 00/D08A : BD 8E 11    |                          LDA     GuardTblMap,X        
 5786 | 25               guard_lc_d0.s    115 | Code        | 11 |         |    2 | 00/D08D : C5 1C       |                          CMP     {$1C}                
 5787 | 25               guard_lc_d0.s    116 | Code        | 11 |         |    2 | 00/D08F : D0 2E       |                          BNE     _cghNext             
 5788 | 25               guard_lc_d0.s    117 | Code        | 11 |         |    3 | 00/D091 : BD 91 11    |                          LDA     GuardTblSt,X         
 5789 | 25               guard_lc_d0.s    118 | Code        | 11 |         |    2 | 00/D094 : C9 03       |                          CMP     #{3}                 
 5790 | 25               guard_lc_d0.s    119 | Code        | 11 |         |    2 | 00/D096 : F0 27       |                          BEQ     _cghNext             
 5791 | 25               guard_lc_d0.s    120 | Code        | 11 |         |    2 | 00/D098 : C9 04       |                          CMP     #{4}                 
 5792 | 25               guard_lc_d0.s    121 | Code        | 11 |         |    2 | 00/D09A : F0 23       |                          BEQ     _cghNext             
 5793 | 25               guard_lc_d0.s    122 | Code        | 11 |         |    3 | 00/D09C : BD 8B 11    |                          LDA     GuardTblY,X          
 5794 | 25               guard_lc_d0.s    123 | Code        | 11 |         |    1 | 00/D09F : 38          |                          SEC                          
 5795 | 25               guard_lc_d0.s    124 | Code        | 11 |         |    2 | 00/D0A0 : E5 71       |                          SBC     {$71}                
 5796 | 25               guard_lc_d0.s    125 | Code        | 11 |         |    2 | 00/D0A2 : 10 03       |                          BPL     _cghYP               
 5797 | 25               guard_lc_d0.s    126 | Code        | 11 |         |    2 | 00/D0A4 : 49 FF       |                          EOR     #$FF                 
 5798 | 25               guard_lc_d0.s    127 | Code        | 11 |         |    1 | 00/D0A6 : 1A          |                          INC                          
 5799 | 25               guard_lc_d0.s    128 | Code        | 11 |         |    2 | 00/D0A7 : C9 0A       | _cghYP                   CMP     #10                  
 5800 | 25               guard_lc_d0.s    129 | Code        | 11 |         |    2 | 00/D0A9 : B0 14       |                          BCS     _cghNext             
 5801 | 25               guard_lc_d0.s    130 | Code        | 11 |         |    3 | 00/D0AB : BD 88 11    |                          LDA     GuardTblX,X          
 5802 | 25               guard_lc_d0.s    131 | Code        | 11 |         |    1 | 00/D0AE : 38          |                          SEC                          
 5803 | 25               guard_lc_d0.s    132 | Code        | 11 |         |    2 | 00/D0AF : E5 70       |                          SBC     {$70}                
 5804 | 25               guard_lc_d0.s    133 | Code        | 11 |         |    2 | 00/D0B1 : 10 03       |                          BPL     _cghXP               
 5805 | 25               guard_lc_d0.s    134 | Code        | 11 |         |    2 | 00/D0B3 : 49 FF       |                          EOR     #$FF                 
 5806 | 25               guard_lc_d0.s    135 | Code        | 11 |         |    1 | 00/D0B5 : 1A          |                          INC                          
 5807 | 25               guard_lc_d0.s    136 | Code        | 11 |         |    2 | 00/D0B6 : C9 06       | _cghXP                   CMP     #6                   
 5808 | 25               guard_lc_d0.s    137 | Code        | 11 |         |    2 | 00/D0B8 : B0 05       |                          BCS     _cghNext             
 5809 | 25               guard_lc_d0.s    138 | Comment     | 11 |         |    0 | 00/D0BA               | * Hit confirmed — tail-call HandleGuardHit ($1800 block) which
 5810 | 25               guard_lc_d0.s    139 | Comment     | 11 |         |    0 | 00/D0BA               | * picks pickaxe-strike vs kill based on PlayerHasPickaxe. X=guard idx.
 5811 | 25               guard_lc_d0.s    140 | Code        | 11 |         |    3 | 00/D0BA : 4C ED 0D    |                          JMP     HandleGuardHit       
 5812 | 25               guard_lc_d0.s    141 | Comment     | 11 |         |    0 | 00/D0BD               | * Padding to preserve ReadAux2's address at $D0C3 (the aux_read_aux2.s
 5813 | 25               guard_lc_d0.s    142 | Comment     | 11 |         |    0 | 00/D0BD               | * shadow depends on it for aux-LC callers like ShowSpriteCatalog).
 5814 | 25               guard_lc_d0.s    143 | Data        | 11 |         |    2 | 00/D0BD : 00 00       |                          DS      2                    
 5815 | 25               guard_lc_d0.s    144 | Code        | 11 |         |    1 | 00/D0BF : E8          | _cghNext                 INX                          
 5816 | 25               guard_lc_d0.s    145 | Code        | 11 |         |    2 | 00/D0C0 : 80 C3       |                          BRA     _cghLoop             
 5817 | 25               guard_lc_d0.s    146 | Code        | 11 |         |    1 | 00/D0C2 : 60          | _cghNone                 RTS                          
 5818 | 25               guard_lc_d0.s    147 | Empty       | 11 |         |    0 | 00/D0C3               |                                                       
 5819 | 25               guard_lc_d0.s    148 | Comment     | 11 |         |    0 | 00/D0C3               | *----------------------------------------------
 5820 | 25               guard_lc_d0.s    149 | Comment     | 11 |         |    0 | 00/D0C3               | * ReadAux2 - Faster aux read (replaces ZP ReadAux for DrawSprite).
 5821 | 25               guard_lc_d0.s    150 | Comment     | 11 |         |    0 | 00/D0C3               | *
 5822 | 25               guard_lc_d0.s    151 | Comment     | 11 |         |    0 | 00/D0C3               | * Same contract as ReadAux ($50): reads 8 sprite bytes from (SrcPtr)
 5823 | 25               guard_lc_d0.s    152 | Comment     | 11 |         |    0 | 00/D0C3               | * into SprBuf, plus 1 compressed mask byte from (DstPtr)[SubRow] into
 5824 | 25               guard_lc_d0.s    153 | Comment     | 11 |         |    0 | 00/D0C3               | * Temp1. Runs in LC bank 2 where instruction fetch is unaffected by
 5825 | 25               guard_lc_d0.s    154 | Comment     | 11 |         |    0 | 00/D0C3               | * RAMRDAUX, so the body is fully unrolled with direct-page STAs.
 5826 | 25               guard_lc_d0.s    155 | Comment     | 11 |         |    0 | 00/D0C3               | *
 5827 | 25               guard_lc_d0.s    156 | Comment     | 11 |         |    0 | 00/D0C3               | * MUST stay within $D000-$D0FF: ProDOS's BitsyBye SYSTEM loader lives
 5828 | 25               guard_lc_d0.s    157 | Comment     | 11 |         |    0 | 00/D0C3               | * in LC bank 2 at $D100+, so any overflow breaks MLI QUIT.
 5829 | 25               guard_lc_d0.s    158 | Comment     | 11 |         |    0 | 00/D0C3               | *
 5830 | 25               guard_lc_d0.s    159 | Comment     | 11 |         |    0 | 00/D0C3               | * Clobbers: A, Y.
 5831 | 25               guard_lc_d0.s    160 | Comment     | 11 |         |    0 | 00/D0C3               | *----------------------------------------------
 5832 | 25               guard_lc_d0.s    161 | Empty       | 11 |         |    0 | 00/D0C3               | ReadAux2                                              
 5833 | 25               guard_lc_d0.s    162 | Code        | 11 |         |    3 | 00/D0C3 : 8D 03 C0    |                          STA     {$C003}              
 5834 | 25               guard_lc_d0.s    163 | Code        | 11 |         |    2 | 00/D0C6 : A0 00       |                          LDY     #0                   
 5835 | 25               guard_lc_d0.s    164 | Code        | 11 |         |    2 | 00/D0C8 : B1 04       |                          LDA     ({$04}),Y            
 5836 | 25               guard_lc_d0.s    165 | Code        | 11 |         |    2 | 00/D0CA : 85 38       |                          STA     {$38}                
 5837 | 25               guard_lc_d0.s    166 | Code        | 11 |         |    1 | 00/D0CC : C8          |                          INY                          
 5838 | 25               guard_lc_d0.s    167 | Code        | 11 |         |    2 | 00/D0CD : B1 04       |                          LDA     ({$04}),Y            
 5839 | 25               guard_lc_d0.s    168 | Code        | 11 |         |    2 | 00/D0CF : 85 39       |                          STA     {$38}+1              
 5840 | 25               guard_lc_d0.s    169 | Code        | 11 |         |    1 | 00/D0D1 : C8          |                          INY                          
 5841 | 25               guard_lc_d0.s    170 | Code        | 11 |         |    2 | 00/D0D2 : B1 04       |                          LDA     ({$04}),Y            
 5842 | 25               guard_lc_d0.s    171 | Code        | 11 |         |    2 | 00/D0D4 : 85 3A       |                          STA     {$38}+2              
 5843 | 25               guard_lc_d0.s    172 | Code        | 11 |         |    1 | 00/D0D6 : C8          |                          INY                          
 5844 | 25               guard_lc_d0.s    173 | Code        | 11 |         |    2 | 00/D0D7 : B1 04       |                          LDA     ({$04}),Y            
 5845 | 25               guard_lc_d0.s    174 | Code        | 11 |         |    2 | 00/D0D9 : 85 3B       |                          STA     {$38}+3              
 5846 | 25               guard_lc_d0.s    175 | Code        | 11 |         |    1 | 00/D0DB : C8          |                          INY                          
 5847 | 25               guard_lc_d0.s    176 | Code        | 11 |         |    2 | 00/D0DC : B1 04       |                          LDA     ({$04}),Y            
 5848 | 25               guard_lc_d0.s    177 | Code        | 11 |         |    2 | 00/D0DE : 85 3C       |                          STA     {$38}+4              
 5849 | 25               guard_lc_d0.s    178 | Code        | 11 |         |    1 | 00/D0E0 : C8          |                          INY                          
 5850 | 25               guard_lc_d0.s    179 | Code        | 11 |         |    2 | 00/D0E1 : B1 04       |                          LDA     ({$04}),Y            
 5851 | 25               guard_lc_d0.s    180 | Code        | 11 |         |    2 | 00/D0E3 : 85 3D       |                          STA     {$38}+5              
 5852 | 25               guard_lc_d0.s    181 | Code        | 11 |         |    1 | 00/D0E5 : C8          |                          INY                          
 5853 | 25               guard_lc_d0.s    182 | Code        | 11 |         |    2 | 00/D0E6 : B1 04       |                          LDA     ({$04}),Y            
 5854 | 25               guard_lc_d0.s    183 | Code        | 11 |         |    2 | 00/D0E8 : 85 3E       |                          STA     {$38}+6              
 5855 | 25               guard_lc_d0.s    184 | Code        | 11 |         |    1 | 00/D0EA : C8          |                          INY                          
 5856 | 25               guard_lc_d0.s    185 | Code        | 11 |         |    2 | 00/D0EB : B1 04       |                          LDA     ({$04}),Y            
 5857 | 25               guard_lc_d0.s    186 | Code        | 11 |         |    2 | 00/D0ED : 85 3F       |                          STA     {$38}+7              
 5858 | 25               guard_lc_d0.s    187 | Code        | 11 |         |    2 | 00/D0EF : A4 0D       |                          LDY     {$0D}                
 5859 | 25               guard_lc_d0.s    188 | Code        | 11 |         |    2 | 00/D0F1 : B1 06       |                          LDA     ({$06}),Y            
 5860 | 25               guard_lc_d0.s    189 | Code        | 11 |         |    2 | 00/D0F3 : 85 18       |                          STA     {$18}                
 5861 | 25               guard_lc_d0.s    190 | Code        | 11 |         |    3 | 00/D0F5 : 8D 02 C0    |                          STA     {$C002}              
 5862 | 25               guard_lc_d0.s    191 | Code        | 11 |         |    1 | 00/D0F8 : 60          |                          RTS                          
 5863 | 25               guard_lc_d0.s    192 | Empty       | 11 |         |    0 | 00/D0F9               |                                                       
 5864 |  1                    bagman.s     56 | Empty       | 11 |         |    0 | 00/D0F9               | ozunid_89                                             
 5865 |  1                    bagman.s     56 | Equivalence | 11 |         |    0 | 00/D0F9               | LC2Len                   =       ozunid_89-{$D000}    
 5866 |  1                    bagman.s     57 | Empty       | 11 |         |    0 | 00/D0F9               |                                                       
 5867 |  1                    bagman.s     58 | Comment     | 11 |         |    0 | 00/D0F9               | * --- Code copied to main LC bank 2 at $D400 during init ---
 5868 |  1                    bagman.s     59 | Equivalence | 11 |         |    0 | 00/D0F9               | LCDest                   =       $D400                
 5869 |  1                    bagman.s     60 | Directive   | 11 |         |    0 | 00/D0F9               |                          ORG     {$D400}              
 5870 |  1                    bagman.s     61 | Directive   | 11 |         |    0 | 00/D400               |                          PUT     render_lc.s          
 5871 | 26                 render_lc.s      1 | Comment     | 11 |         |    0 | 00/D400               | *
 5872 | 26                 render_lc.s      2 | Comment     | 11 |         |    0 | 00/D400               | * DrawScreenDelta - Unrolled tile renderer (lives in LC bank 2)
 5873 | 26                 render_lc.s      3 | Comment     | 11 |         |    0 | 00/D400               | *
 5874 | 26                 render_lc.s      4 | Comment     | 11 |         |    0 | 00/D400               | * Copied to main LC bank 2 at $D400 during init.
 5875 | 26                 render_lc.s      5 | Comment     | 11 |         |    0 | 00/D400               | * LC bank 2 read must be enabled before calling.
 5876 | 26                 render_lc.s      6 | Comment     | 11 |         |    0 | 00/D400               | *
 5877 | 26                 render_lc.s      7 | Comment     | 11 |         |    0 | 00/D400               | * Input: MapPtr ($08) = pointer to NEW tile map
 5878 | 26                 render_lc.s      8 | Comment     | 11 |         |    0 | 00/D400               | *        SrcPtr ($04) = pointer to OLD tile map
 5879 | 26                 render_lc.s      9 | Comment     | 11 |         |    0 | 00/D400               | * Skips any tile where old ID == new ID.
 5880 | 26                 render_lc.s     10 | Comment     | 11 |         |    0 | 00/D400               | * Clobbers: ScreenPtr, TilePtr, all renderer ZP
 5881 | 26                 render_lc.s     11 | Comment     | 11 |         |    0 | 00/D400               | *
 5882 | 26                 render_lc.s     12 | Empty       | 11 |         |    0 | 00/D400               |                                                       
 5883 | 26                 render_lc.s     13 | Empty       | 11 |         |    0 | 00/D400               | DrawScreenDelta                                       
 5884 | 26                 render_lc.s     14 | Code        | 11 |         |    2 | 00/D400 : 64 0F       |                          STZ     {$0F}                
 5885 | 26                 render_lc.s     15 | Code        | 11 |         |    2 | 00/D402 : 64 0C       |                          STZ     {$0C}                
 5886 | 26                 render_lc.s     16 | Empty       | 11 |         |    0 | 00/D404               |                                                       
 5887 | 26                 render_lc.s     17 | Code        | 11 |         |    2 | 00/D404 : 64 0D       | _ddRowLoop               STZ     {$0D}                
 5888 | 26                 render_lc.s     18 | Empty       | 11 |         |    0 | 00/D406               |                                                       
 5889 | 26                 render_lc.s     19 | Empty       | 11 |         |    0 | 00/D406               | _ddSubLoop                                            
 5890 | 26                 render_lc.s     20 | Comment     | 11 |         |    0 | 00/D406               | * Set screen address for this scanline (with page offset)
 5891 | 26                 render_lc.s     21 | Code        | 11 |         |    2 | 00/D406 : A6 0F       |                          LDX     {$0F}                
 5892 | 26                 render_lc.s     22 | Code        | 11 |         |    3 | 00/D408 : BD 26 81    |                          LDA     ScanAdrL,X           
 5893 | 26                 render_lc.s     23 | Code        | 11 |         |    2 | 00/D40B : 85 00       |                          STA     {$00}                
 5894 | 26                 render_lc.s     24 | Code        | 11 |         |    3 | 00/D40D : BD E6 81    |                          LDA     ScanAdrH,X           
 5895 | 26                 render_lc.s     25 | Code        | 11 |         |    1 | 00/D410 : 18          |                          CLC                          
 5896 | 26                 render_lc.s     26 | Code        | 11 |         |    2 | 00/D411 : 65 1E       |                          ADC     {$1E}                
 5897 | 26                 render_lc.s     27 | Code        | 11 |         |    2 | 00/D413 : 85 01       |                          STA     {$00}+1              
 5898 | 26                 render_lc.s     28 | Empty       | 11 |         |    0 | 00/D415               |                                                       
 5899 | 26                 render_lc.s     29 | Comment     | 11 |         |    0 | 00/D415               | * Unrolled column pass (20 columns, right to left)
 5900 | 26                 render_lc.s     30 | Comment     | 11 |         |    0 | 00/D415               | * Each block: compare old vs new tile, skip if same, else draw.
 5901 | 26                 render_lc.s     31 | Comment     | 11 |         |    0 | 00/D415               | * Saves ~14 cycles/tile vs looped version (no DEC/BPL, hardcoded offsets).
 5902 | 26                 render_lc.s     32 | Empty       | 11 |         |    0 | 00/D415               |                                                       
 5903 | 26                 render_lc.s     33 | Comment     | 11 |         |    0 | 00/D415               | * --- Column 19 ---
 5904 | 26                 render_lc.s     34 | Code        | 11 |         |    2 | 00/D415 : A0 13       |                          LDY     #19                  
 5905 | 26                 render_lc.s     35 | Code        | 11 |         |    2 | 00/D417 : B1 08       |                          LDA     ({$08}),Y            
 5906 | 26                 render_lc.s     36 | Code        | 11 |         |    2 | 00/D419 : D1 04       |                          CMP     ({$04}),Y            
 5907 | 26                 render_lc.s     37 | Code        | 11 |         |    2 | 00/D41B : F0 3A       |                          BEQ     _xd19                
 5908 | 26                 render_lc.s     38 | Code        | 11 |         |    1 | 00/D41D : AA          |                          TAX                          
 5909 | 26                 render_lc.s     39 | Code        | 11 |         |    3 | 00/D41E : BD 7E 85    |                          LDA     TileAddrL,X          
 5910 | 26                 render_lc.s     40 | Code        | 11 |         |    2 | 00/D421 : 85 0A       |                          STA     {$0A}                
 5911 | 26                 render_lc.s     41 | Code        | 11 |         |    3 | 00/D423 : BD 51 86    |                          LDA     TileAddrH,X          
 5912 | 26                 render_lc.s     42 | Code        | 11 |         |    2 | 00/D426 : 85 0B       |                          STA     {$0A}+1              
 5913 | 26                 render_lc.s     43 | Code        | 11 |         |    2 | 00/D428 : A4 0D       |                          LDY     {$0D}                
 5914 | 26                 render_lc.s     44 | Code        | 11 |         |    2 | 00/D42A : B1 0A       |                          LDA     ({$0A}),Y            
 5915 | 26                 render_lc.s     45 | Code        | 11 |         |    2 | 00/D42C : 85 12       |                          STA     {$12}                
 5916 | 26                 render_lc.s     46 | Code        | 11 |         |    1 | 00/D42E : C8          |                          INY                          
 5917 | 26                 render_lc.s     47 | Code        | 11 |         |    2 | 00/D42F : B1 0A       |                          LDA     ({$0A}),Y            
 5918 | 26                 render_lc.s     48 | Code        | 11 |         |    2 | 00/D431 : 85 13       |                          STA     {$13}                
 5919 | 26                 render_lc.s     49 | Code        | 11 |         |    1 | 00/D433 : C8          |                          INY                          
 5920 | 26                 render_lc.s     50 | Code        | 11 |         |    2 | 00/D434 : B1 0A       |                          LDA     ({$0A}),Y            
 5921 | 26                 render_lc.s     51 | Code        | 11 |         |    2 | 00/D436 : 85 18       |                          STA     {$18}                
 5922 | 26                 render_lc.s     52 | Code        | 11 |         |    1 | 00/D438 : C8          |                          INY                          
 5923 | 26                 render_lc.s     53 | Code        | 11 |         |    2 | 00/D439 : B1 0A       |                          LDA     ({$0A}),Y            
 5924 | 26                 render_lc.s     54 | Code        | 11 |         |    2 | 00/D43B : 85 19       |                          STA     {$19}                
 5925 | 26                 render_lc.s     55 | Code        | 11 |         |    3 | 00/D43D : 8D 05 C0    |                          STA     {$C005}              
 5926 | 26                 render_lc.s     56 | Code        | 11 |         |    2 | 00/D440 : A0 26       |                          LDY     #38                  
 5927 | 26                 render_lc.s     57 | Code        | 11 |         |    2 | 00/D442 : A5 12       |                          LDA     {$12}                
 5928 | 26                 render_lc.s     58 | Code        | 11 |         |    2 | 00/D444 : 91 00       |                          STA     ({$00}),Y            
 5929 | 26                 render_lc.s     59 | Code        | 11 |         |    1 | 00/D446 : C8          |                          INY                          
 5930 | 26                 render_lc.s     60 | Code        | 11 |         |    2 | 00/D447 : A5 18       |                          LDA     {$18}                
 5931 | 26                 render_lc.s     61 | Code        | 11 |         |    2 | 00/D449 : 91 00       |                          STA     ({$00}),Y            
 5932 | 26                 render_lc.s     62 | Code        | 11 |         |    3 | 00/D44B : 8D 04 C0    |                          STA     {$C004}              
 5933 | 26                 render_lc.s     63 | Code        | 11 |         |    2 | 00/D44E : A5 19       |                          LDA     {$19}                
 5934 | 26                 render_lc.s     64 | Code        | 11 |         |    2 | 00/D450 : 91 00       |                          STA     ({$00}),Y            
 5935 | 26                 render_lc.s     65 | Code        | 11 |         |    1 | 00/D452 : 88          |                          DEY                          
 5936 | 26                 render_lc.s     66 | Code        | 11 |         |    2 | 00/D453 : A5 13       |                          LDA     {$13}                
 5937 | 26                 render_lc.s     67 | Code        | 11 |         |    2 | 00/D455 : 91 00       |                          STA     ({$00}),Y            
 5938 | 26                 render_lc.s     68 | Empty       | 11 |         |    0 | 00/D457               | _xd19                                                 
 5939 | 26                 render_lc.s     69 | Empty       | 11 |         |    0 | 00/D457               |                                                       
 5940 | 26                 render_lc.s     70 | Comment     | 11 |         |    0 | 00/D457               | * --- Column 18 ---
 5941 | 26                 render_lc.s     71 | Code        | 11 |         |    2 | 00/D457 : A0 12       |                          LDY     #18                  
 5942 | 26                 render_lc.s     72 | Code        | 11 |         |    2 | 00/D459 : B1 08       |                          LDA     ({$08}),Y            
 5943 | 26                 render_lc.s     73 | Code        | 11 |         |    2 | 00/D45B : D1 04       |                          CMP     ({$04}),Y            
 5944 | 26                 render_lc.s     74 | Code        | 11 |         |    2 | 00/D45D : F0 3A       |                          BEQ     _xd18                
 5945 | 26                 render_lc.s     75 | Code        | 11 |         |    1 | 00/D45F : AA          |                          TAX                          
 5946 | 26                 render_lc.s     76 | Code        | 11 |         |    3 | 00/D460 : BD 7E 85    |                          LDA     TileAddrL,X          
 5947 | 26                 render_lc.s     77 | Code        | 11 |         |    2 | 00/D463 : 85 0A       |                          STA     {$0A}                
 5948 | 26                 render_lc.s     78 | Code        | 11 |         |    3 | 00/D465 : BD 51 86    |                          LDA     TileAddrH,X          
 5949 | 26                 render_lc.s     79 | Code        | 11 |         |    2 | 00/D468 : 85 0B       |                          STA     {$0A}+1              
 5950 | 26                 render_lc.s     80 | Code        | 11 |         |    2 | 00/D46A : A4 0D       |                          LDY     {$0D}                
 5951 | 26                 render_lc.s     81 | Code        | 11 |         |    2 | 00/D46C : B1 0A       |                          LDA     ({$0A}),Y            
 5952 | 26                 render_lc.s     82 | Code        | 11 |         |    2 | 00/D46E : 85 12       |                          STA     {$12}                
 5953 | 26                 render_lc.s     83 | Code        | 11 |         |    1 | 00/D470 : C8          |                          INY                          
 5954 | 26                 render_lc.s     84 | Code        | 11 |         |    2 | 00/D471 : B1 0A       |                          LDA     ({$0A}),Y            
 5955 | 26                 render_lc.s     85 | Code        | 11 |         |    2 | 00/D473 : 85 13       |                          STA     {$13}                
 5956 | 26                 render_lc.s     86 | Code        | 11 |         |    1 | 00/D475 : C8          |                          INY                          
 5957 | 26                 render_lc.s     87 | Code        | 11 |         |    2 | 00/D476 : B1 0A       |                          LDA     ({$0A}),Y            
 5958 | 26                 render_lc.s     88 | Code        | 11 |         |    2 | 00/D478 : 85 18       |                          STA     {$18}                
 5959 | 26                 render_lc.s     89 | Code        | 11 |         |    1 | 00/D47A : C8          |                          INY                          
 5960 | 26                 render_lc.s     90 | Code        | 11 |         |    2 | 00/D47B : B1 0A       |                          LDA     ({$0A}),Y            
 5961 | 26                 render_lc.s     91 | Code        | 11 |         |    2 | 00/D47D : 85 19       |                          STA     {$19}                
 5962 | 26                 render_lc.s     92 | Code        | 11 |         |    3 | 00/D47F : 8D 05 C0    |                          STA     {$C005}              
 5963 | 26                 render_lc.s     93 | Code        | 11 |         |    2 | 00/D482 : A0 24       |                          LDY     #36                  
 5964 | 26                 render_lc.s     94 | Code        | 11 |         |    2 | 00/D484 : A5 12       |                          LDA     {$12}                
 5965 | 26                 render_lc.s     95 | Code        | 11 |         |    2 | 00/D486 : 91 00       |                          STA     ({$00}),Y            
 5966 | 26                 render_lc.s     96 | Code        | 11 |         |    1 | 00/D488 : C8          |                          INY                          
 5967 | 26                 render_lc.s     97 | Code        | 11 |         |    2 | 00/D489 : A5 18       |                          LDA     {$18}                
 5968 | 26                 render_lc.s     98 | Code        | 11 |         |    2 | 00/D48B : 91 00       |                          STA     ({$00}),Y            
 5969 | 26                 render_lc.s     99 | Code        | 11 |         |    3 | 00/D48D : 8D 04 C0    |                          STA     {$C004}              
 5970 | 26                 render_lc.s    100 | Code        | 11 |         |    2 | 00/D490 : A5 19       |                          LDA     {$19}                
 5971 | 26                 render_lc.s    101 | Code        | 11 |         |    2 | 00/D492 : 91 00       |                          STA     ({$00}),Y            
 5972 | 26                 render_lc.s    102 | Code        | 11 |         |    1 | 00/D494 : 88          |                          DEY                          
 5973 | 26                 render_lc.s    103 | Code        | 11 |         |    2 | 00/D495 : A5 13       |                          LDA     {$13}                
 5974 | 26                 render_lc.s    104 | Code        | 11 |         |    2 | 00/D497 : 91 00       |                          STA     ({$00}),Y            
 5975 | 26                 render_lc.s    105 | Empty       | 11 |         |    0 | 00/D499               | _xd18                                                 
 5976 | 26                 render_lc.s    106 | Empty       | 11 |         |    0 | 00/D499               |                                                       
 5977 | 26                 render_lc.s    107 | Comment     | 11 |         |    0 | 00/D499               | * --- Column 17 ---
 5978 | 26                 render_lc.s    108 | Code        | 11 |         |    2 | 00/D499 : A0 11       |                          LDY     #17                  
 5979 | 26                 render_lc.s    109 | Code        | 11 |         |    2 | 00/D49B : B1 08       |                          LDA     ({$08}),Y            
 5980 | 26                 render_lc.s    110 | Code        | 11 |         |    2 | 00/D49D : D1 04       |                          CMP     ({$04}),Y            
 5981 | 26                 render_lc.s    111 | Code        | 11 |         |    2 | 00/D49F : F0 3A       |                          BEQ     _xd17                
 5982 | 26                 render_lc.s    112 | Code        | 11 |         |    1 | 00/D4A1 : AA          |                          TAX                          
 5983 | 26                 render_lc.s    113 | Code        | 11 |         |    3 | 00/D4A2 : BD 7E 85    |                          LDA     TileAddrL,X          
 5984 | 26                 render_lc.s    114 | Code        | 11 |         |    2 | 00/D4A5 : 85 0A       |                          STA     {$0A}                
 5985 | 26                 render_lc.s    115 | Code        | 11 |         |    3 | 00/D4A7 : BD 51 86    |                          LDA     TileAddrH,X          
 5986 | 26                 render_lc.s    116 | Code        | 11 |         |    2 | 00/D4AA : 85 0B       |                          STA     {$0A}+1              
 5987 | 26                 render_lc.s    117 | Code        | 11 |         |    2 | 00/D4AC : A4 0D       |                          LDY     {$0D}                
 5988 | 26                 render_lc.s    118 | Code        | 11 |         |    2 | 00/D4AE : B1 0A       |                          LDA     ({$0A}),Y            
 5989 | 26                 render_lc.s    119 | Code        | 11 |         |    2 | 00/D4B0 : 85 12       |                          STA     {$12}                
 5990 | 26                 render_lc.s    120 | Code        | 11 |         |    1 | 00/D4B2 : C8          |                          INY                          
 5991 | 26                 render_lc.s    121 | Code        | 11 |         |    2 | 00/D4B3 : B1 0A       |                          LDA     ({$0A}),Y            
 5992 | 26                 render_lc.s    122 | Code        | 11 |         |    2 | 00/D4B5 : 85 13       |                          STA     {$13}                
 5993 | 26                 render_lc.s    123 | Code        | 11 |         |    1 | 00/D4B7 : C8          |                          INY                          
 5994 | 26                 render_lc.s    124 | Code        | 11 |         |    2 | 00/D4B8 : B1 0A       |                          LDA     ({$0A}),Y            
 5995 | 26                 render_lc.s    125 | Code        | 11 |         |    2 | 00/D4BA : 85 18       |                          STA     {$18}                
 5996 | 26                 render_lc.s    126 | Code        | 11 |         |    1 | 00/D4BC : C8          |                          INY                          
 5997 | 26                 render_lc.s    127 | Code        | 11 |         |    2 | 00/D4BD : B1 0A       |                          LDA     ({$0A}),Y            
 5998 | 26                 render_lc.s    128 | Code        | 11 |         |    2 | 00/D4BF : 85 19       |                          STA     {$19}                
 5999 | 26                 render_lc.s    129 | Code        | 11 |         |    3 | 00/D4C1 : 8D 05 C0    |                          STA     {$C005}              
 6000 | 26                 render_lc.s    130 | Code        | 11 |         |    2 | 00/D4C4 : A0 22       |                          LDY     #34                  
 6001 | 26                 render_lc.s    131 | Code        | 11 |         |    2 | 00/D4C6 : A5 12       |                          LDA     {$12}                
 6002 | 26                 render_lc.s    132 | Code        | 11 |         |    2 | 00/D4C8 : 91 00       |                          STA     ({$00}),Y            
 6003 | 26                 render_lc.s    133 | Code        | 11 |         |    1 | 00/D4CA : C8          |                          INY                          
 6004 | 26                 render_lc.s    134 | Code        | 11 |         |    2 | 00/D4CB : A5 18       |                          LDA     {$18}                
 6005 | 26                 render_lc.s    135 | Code        | 11 |         |    2 | 00/D4CD : 91 00       |                          STA     ({$00}),Y            
 6006 | 26                 render_lc.s    136 | Code        | 11 |         |    3 | 00/D4CF : 8D 04 C0    |                          STA     {$C004}              
 6007 | 26                 render_lc.s    137 | Code        | 11 |         |    2 | 00/D4D2 : A5 19       |                          LDA     {$19}                
 6008 | 26                 render_lc.s    138 | Code        | 11 |         |    2 | 00/D4D4 : 91 00       |                          STA     ({$00}),Y            
 6009 | 26                 render_lc.s    139 | Code        | 11 |         |    1 | 00/D4D6 : 88          |                          DEY                          
 6010 | 26                 render_lc.s    140 | Code        | 11 |         |    2 | 00/D4D7 : A5 13       |                          LDA     {$13}                
 6011 | 26                 render_lc.s    141 | Code        | 11 |         |    2 | 00/D4D9 : 91 00       |                          STA     ({$00}),Y            
 6012 | 26                 render_lc.s    142 | Empty       | 11 |         |    0 | 00/D4DB               | _xd17                                                 
 6013 | 26                 render_lc.s    143 | Empty       | 11 |         |    0 | 00/D4DB               |                                                       
 6014 | 26                 render_lc.s    144 | Comment     | 11 |         |    0 | 00/D4DB               | * --- Column 16 ---
 6015 | 26                 render_lc.s    145 | Code        | 11 |         |    2 | 00/D4DB : A0 10       |                          LDY     #16                  
 6016 | 26                 render_lc.s    146 | Code        | 11 |         |    2 | 00/D4DD : B1 08       |                          LDA     ({$08}),Y            
 6017 | 26                 render_lc.s    147 | Code        | 11 |         |    2 | 00/D4DF : D1 04       |                          CMP     ({$04}),Y            
 6018 | 26                 render_lc.s    148 | Code        | 11 |         |    2 | 00/D4E1 : F0 3A       |                          BEQ     _xd16                
 6019 | 26                 render_lc.s    149 | Code        | 11 |         |    1 | 00/D4E3 : AA          |                          TAX                          
 6020 | 26                 render_lc.s    150 | Code        | 11 |         |    3 | 00/D4E4 : BD 7E 85    |                          LDA     TileAddrL,X          
 6021 | 26                 render_lc.s    151 | Code        | 11 |         |    2 | 00/D4E7 : 85 0A       |                          STA     {$0A}                
 6022 | 26                 render_lc.s    152 | Code        | 11 |         |    3 | 00/D4E9 : BD 51 86    |                          LDA     TileAddrH,X          
 6023 | 26                 render_lc.s    153 | Code        | 11 |         |    2 | 00/D4EC : 85 0B       |                          STA     {$0A}+1              
 6024 | 26                 render_lc.s    154 | Code        | 11 |         |    2 | 00/D4EE : A4 0D       |                          LDY     {$0D}                
 6025 | 26                 render_lc.s    155 | Code        | 11 |         |    2 | 00/D4F0 : B1 0A       |                          LDA     ({$0A}),Y            
 6026 | 26                 render_lc.s    156 | Code        | 11 |         |    2 | 00/D4F2 : 85 12       |                          STA     {$12}                
 6027 | 26                 render_lc.s    157 | Code        | 11 |         |    1 | 00/D4F4 : C8          |                          INY                          
 6028 | 26                 render_lc.s    158 | Code        | 11 |         |    2 | 00/D4F5 : B1 0A       |                          LDA     ({$0A}),Y            
 6029 | 26                 render_lc.s    159 | Code        | 11 |         |    2 | 00/D4F7 : 85 13       |                          STA     {$13}                
 6030 | 26                 render_lc.s    160 | Code        | 11 |         |    1 | 00/D4F9 : C8          |                          INY                          
 6031 | 26                 render_lc.s    161 | Code        | 11 |         |    2 | 00/D4FA : B1 0A       |                          LDA     ({$0A}),Y            
 6032 | 26                 render_lc.s    162 | Code        | 11 |         |    2 | 00/D4FC : 85 18       |                          STA     {$18}                
 6033 | 26                 render_lc.s    163 | Code        | 11 |         |    1 | 00/D4FE : C8          |                          INY                          
 6034 | 26                 render_lc.s    164 | Code        | 11 |         |    2 | 00/D4FF : B1 0A       |                          LDA     ({$0A}),Y            
 6035 | 26                 render_lc.s    165 | Code        | 11 |         |    2 | 00/D501 : 85 19       |                          STA     {$19}                
 6036 | 26                 render_lc.s    166 | Code        | 11 |         |    3 | 00/D503 : 8D 05 C0    |                          STA     {$C005}              
 6037 | 26                 render_lc.s    167 | Code        | 11 |         |    2 | 00/D506 : A0 20       |                          LDY     #32                  
 6038 | 26                 render_lc.s    168 | Code        | 11 |         |    2 | 00/D508 : A5 12       |                          LDA     {$12}                
 6039 | 26                 render_lc.s    169 | Code        | 11 |         |    2 | 00/D50A : 91 00       |                          STA     ({$00}),Y            
 6040 | 26                 render_lc.s    170 | Code        | 11 |         |    1 | 00/D50C : C8          |                          INY                          
 6041 | 26                 render_lc.s    171 | Code        | 11 |         |    2 | 00/D50D : A5 18       |                          LDA     {$18}                
 6042 | 26                 render_lc.s    172 | Code        | 11 |         |    2 | 00/D50F : 91 00       |                          STA     ({$00}),Y            
 6043 | 26                 render_lc.s    173 | Code        | 11 |         |    3 | 00/D511 : 8D 04 C0    |                          STA     {$C004}              
 6044 | 26                 render_lc.s    174 | Code        | 11 |         |    2 | 00/D514 : A5 19       |                          LDA     {$19}                
 6045 | 26                 render_lc.s    175 | Code        | 11 |         |    2 | 00/D516 : 91 00       |                          STA     ({$00}),Y            
 6046 | 26                 render_lc.s    176 | Code        | 11 |         |    1 | 00/D518 : 88          |                          DEY                          
 6047 | 26                 render_lc.s    177 | Code        | 11 |         |    2 | 00/D519 : A5 13       |                          LDA     {$13}                
 6048 | 26                 render_lc.s    178 | Code        | 11 |         |    2 | 00/D51B : 91 00       |                          STA     ({$00}),Y            
 6049 | 26                 render_lc.s    179 | Empty       | 11 |         |    0 | 00/D51D               | _xd16                                                 
 6050 | 26                 render_lc.s    180 | Empty       | 11 |         |    0 | 00/D51D               |                                                       
 6051 | 26                 render_lc.s    181 | Comment     | 11 |         |    0 | 00/D51D               | * --- Column 15 ---
 6052 | 26                 render_lc.s    182 | Code        | 11 |         |    2 | 00/D51D : A0 0F       |                          LDY     #15                  
 6053 | 26                 render_lc.s    183 | Code        | 11 |         |    2 | 00/D51F : B1 08       |                          LDA     ({$08}),Y            
 6054 | 26                 render_lc.s    184 | Code        | 11 |         |    2 | 00/D521 : D1 04       |                          CMP     ({$04}),Y            
 6055 | 26                 render_lc.s    185 | Code        | 11 |         |    2 | 00/D523 : F0 3A       |                          BEQ     _xd15                
 6056 | 26                 render_lc.s    186 | Code        | 11 |         |    1 | 00/D525 : AA          |                          TAX                          
 6057 | 26                 render_lc.s    187 | Code        | 11 |         |    3 | 00/D526 : BD 7E 85    |                          LDA     TileAddrL,X          
 6058 | 26                 render_lc.s    188 | Code        | 11 |         |    2 | 00/D529 : 85 0A       |                          STA     {$0A}                
 6059 | 26                 render_lc.s    189 | Code        | 11 |         |    3 | 00/D52B : BD 51 86    |                          LDA     TileAddrH,X          
 6060 | 26                 render_lc.s    190 | Code        | 11 |         |    2 | 00/D52E : 85 0B       |                          STA     {$0A}+1              
 6061 | 26                 render_lc.s    191 | Code        | 11 |         |    2 | 00/D530 : A4 0D       |                          LDY     {$0D}                
 6062 | 26                 render_lc.s    192 | Code        | 11 |         |    2 | 00/D532 : B1 0A       |                          LDA     ({$0A}),Y            
 6063 | 26                 render_lc.s    193 | Code        | 11 |         |    2 | 00/D534 : 85 12       |                          STA     {$12}                
 6064 | 26                 render_lc.s    194 | Code        | 11 |         |    1 | 00/D536 : C8          |                          INY                          
 6065 | 26                 render_lc.s    195 | Code        | 11 |         |    2 | 00/D537 : B1 0A       |                          LDA     ({$0A}),Y            
 6066 | 26                 render_lc.s    196 | Code        | 11 |         |    2 | 00/D539 : 85 13       |                          STA     {$13}                
 6067 | 26                 render_lc.s    197 | Code        | 11 |         |    1 | 00/D53B : C8          |                          INY                          
 6068 | 26                 render_lc.s    198 | Code        | 11 |         |    2 | 00/D53C : B1 0A       |                          LDA     ({$0A}),Y            
 6069 | 26                 render_lc.s    199 | Code        | 11 |         |    2 | 00/D53E : 85 18       |                          STA     {$18}                
 6070 | 26                 render_lc.s    200 | Code        | 11 |         |    1 | 00/D540 : C8          |                          INY                          
 6071 | 26                 render_lc.s    201 | Code        | 11 |         |    2 | 00/D541 : B1 0A       |                          LDA     ({$0A}),Y            
 6072 | 26                 render_lc.s    202 | Code        | 11 |         |    2 | 00/D543 : 85 19       |                          STA     {$19}                
 6073 | 26                 render_lc.s    203 | Code        | 11 |         |    3 | 00/D545 : 8D 05 C0    |                          STA     {$C005}              
 6074 | 26                 render_lc.s    204 | Code        | 11 |         |    2 | 00/D548 : A0 1E       |                          LDY     #30                  
 6075 | 26                 render_lc.s    205 | Code        | 11 |         |    2 | 00/D54A : A5 12       |                          LDA     {$12}                
 6076 | 26                 render_lc.s    206 | Code        | 11 |         |    2 | 00/D54C : 91 00       |                          STA     ({$00}),Y            
 6077 | 26                 render_lc.s    207 | Code        | 11 |         |    1 | 00/D54E : C8          |                          INY                          
 6078 | 26                 render_lc.s    208 | Code        | 11 |         |    2 | 00/D54F : A5 18       |                          LDA     {$18}                
 6079 | 26                 render_lc.s    209 | Code        | 11 |         |    2 | 00/D551 : 91 00       |                          STA     ({$00}),Y            
 6080 | 26                 render_lc.s    210 | Code        | 11 |         |    3 | 00/D553 : 8D 04 C0    |                          STA     {$C004}              
 6081 | 26                 render_lc.s    211 | Code        | 11 |         |    2 | 00/D556 : A5 19       |                          LDA     {$19}                
 6082 | 26                 render_lc.s    212 | Code        | 11 |         |    2 | 00/D558 : 91 00       |                          STA     ({$00}),Y            
 6083 | 26                 render_lc.s    213 | Code        | 11 |         |    1 | 00/D55A : 88          |                          DEY                          
 6084 | 26                 render_lc.s    214 | Code        | 11 |         |    2 | 00/D55B : A5 13       |                          LDA     {$13}                
 6085 | 26                 render_lc.s    215 | Code        | 11 |         |    2 | 00/D55D : 91 00       |                          STA     ({$00}),Y            
 6086 | 26                 render_lc.s    216 | Empty       | 11 |         |    0 | 00/D55F               | _xd15                                                 
 6087 | 26                 render_lc.s    217 | Empty       | 11 |         |    0 | 00/D55F               |                                                       
 6088 | 26                 render_lc.s    218 | Comment     | 11 |         |    0 | 00/D55F               | * --- Column 14 ---
 6089 | 26                 render_lc.s    219 | Code        | 11 |         |    2 | 00/D55F : A0 0E       |                          LDY     #14                  
 6090 | 26                 render_lc.s    220 | Code        | 11 |         |    2 | 00/D561 : B1 08       |                          LDA     ({$08}),Y            
 6091 | 26                 render_lc.s    221 | Code        | 11 |         |    2 | 00/D563 : D1 04       |                          CMP     ({$04}),Y            
 6092 | 26                 render_lc.s    222 | Code        | 11 |         |    2 | 00/D565 : F0 3A       |                          BEQ     _xd14                
 6093 | 26                 render_lc.s    223 | Code        | 11 |         |    1 | 00/D567 : AA          |                          TAX                          
 6094 | 26                 render_lc.s    224 | Code        | 11 |         |    3 | 00/D568 : BD 7E 85    |                          LDA     TileAddrL,X          
 6095 | 26                 render_lc.s    225 | Code        | 11 |         |    2 | 00/D56B : 85 0A       |                          STA     {$0A}                
 6096 | 26                 render_lc.s    226 | Code        | 11 |         |    3 | 00/D56D : BD 51 86    |                          LDA     TileAddrH,X          
 6097 | 26                 render_lc.s    227 | Code        | 11 |         |    2 | 00/D570 : 85 0B       |                          STA     {$0A}+1              
 6098 | 26                 render_lc.s    228 | Code        | 11 |         |    2 | 00/D572 : A4 0D       |                          LDY     {$0D}                
 6099 | 26                 render_lc.s    229 | Code        | 11 |         |    2 | 00/D574 : B1 0A       |                          LDA     ({$0A}),Y            
 6100 | 26                 render_lc.s    230 | Code        | 11 |         |    2 | 00/D576 : 85 12       |                          STA     {$12}                
 6101 | 26                 render_lc.s    231 | Code        | 11 |         |    1 | 00/D578 : C8          |                          INY                          
 6102 | 26                 render_lc.s    232 | Code        | 11 |         |    2 | 00/D579 : B1 0A       |                          LDA     ({$0A}),Y            
 6103 | 26                 render_lc.s    233 | Code        | 11 |         |    2 | 00/D57B : 85 13       |                          STA     {$13}                
 6104 | 26                 render_lc.s    234 | Code        | 11 |         |    1 | 00/D57D : C8          |                          INY                          
 6105 | 26                 render_lc.s    235 | Code        | 11 |         |    2 | 00/D57E : B1 0A       |                          LDA     ({$0A}),Y            
 6106 | 26                 render_lc.s    236 | Code        | 11 |         |    2 | 00/D580 : 85 18       |                          STA     {$18}                
 6107 | 26                 render_lc.s    237 | Code        | 11 |         |    1 | 00/D582 : C8          |                          INY                          
 6108 | 26                 render_lc.s    238 | Code        | 11 |         |    2 | 00/D583 : B1 0A       |                          LDA     ({$0A}),Y            
 6109 | 26                 render_lc.s    239 | Code        | 11 |         |    2 | 00/D585 : 85 19       |                          STA     {$19}                
 6110 | 26                 render_lc.s    240 | Code        | 11 |         |    3 | 00/D587 : 8D 05 C0    |                          STA     {$C005}              
 6111 | 26                 render_lc.s    241 | Code        | 11 |         |    2 | 00/D58A : A0 1C       |                          LDY     #28                  
 6112 | 26                 render_lc.s    242 | Code        | 11 |         |    2 | 00/D58C : A5 12       |                          LDA     {$12}                
 6113 | 26                 render_lc.s    243 | Code        | 11 |         |    2 | 00/D58E : 91 00       |                          STA     ({$00}),Y            
 6114 | 26                 render_lc.s    244 | Code        | 11 |         |    1 | 00/D590 : C8          |                          INY                          
 6115 | 26                 render_lc.s    245 | Code        | 11 |         |    2 | 00/D591 : A5 18       |                          LDA     {$18}                
 6116 | 26                 render_lc.s    246 | Code        | 11 |         |    2 | 00/D593 : 91 00       |                          STA     ({$00}),Y            
 6117 | 26                 render_lc.s    247 | Code        | 11 |         |    3 | 00/D595 : 8D 04 C0    |                          STA     {$C004}              
 6118 | 26                 render_lc.s    248 | Code        | 11 |         |    2 | 00/D598 : A5 19       |                          LDA     {$19}                
 6119 | 26                 render_lc.s    249 | Code        | 11 |         |    2 | 00/D59A : 91 00       |                          STA     ({$00}),Y            
 6120 | 26                 render_lc.s    250 | Code        | 11 |         |    1 | 00/D59C : 88          |                          DEY                          
 6121 | 26                 render_lc.s    251 | Code        | 11 |         |    2 | 00/D59D : A5 13       |                          LDA     {$13}                
 6122 | 26                 render_lc.s    252 | Code        | 11 |         |    2 | 00/D59F : 91 00       |                          STA     ({$00}),Y            
 6123 | 26                 render_lc.s    253 | Empty       | 11 |         |    0 | 00/D5A1               | _xd14                                                 
 6124 | 26                 render_lc.s    254 | Empty       | 11 |         |    0 | 00/D5A1               |                                                       
 6125 | 26                 render_lc.s    255 | Comment     | 11 |         |    0 | 00/D5A1               | * --- Column 13 ---
 6126 | 26                 render_lc.s    256 | Code        | 11 |         |    2 | 00/D5A1 : A0 0D       |                          LDY     #13                  
 6127 | 26                 render_lc.s    257 | Code        | 11 |         |    2 | 00/D5A3 : B1 08       |                          LDA     ({$08}),Y            
 6128 | 26                 render_lc.s    258 | Code        | 11 |         |    2 | 00/D5A5 : D1 04       |                          CMP     ({$04}),Y            
 6129 | 26                 render_lc.s    259 | Code        | 11 |         |    2 | 00/D5A7 : F0 3A       |                          BEQ     _xd13                
 6130 | 26                 render_lc.s    260 | Code        | 11 |         |    1 | 00/D5A9 : AA          |                          TAX                          
 6131 | 26                 render_lc.s    261 | Code        | 11 |         |    3 | 00/D5AA : BD 7E 85    |                          LDA     TileAddrL,X          
 6132 | 26                 render_lc.s    262 | Code        | 11 |         |    2 | 00/D5AD : 85 0A       |                          STA     {$0A}                
 6133 | 26                 render_lc.s    263 | Code        | 11 |         |    3 | 00/D5AF : BD 51 86    |                          LDA     TileAddrH,X          
 6134 | 26                 render_lc.s    264 | Code        | 11 |         |    2 | 00/D5B2 : 85 0B       |                          STA     {$0A}+1              
 6135 | 26                 render_lc.s    265 | Code        | 11 |         |    2 | 00/D5B4 : A4 0D       |                          LDY     {$0D}                
 6136 | 26                 render_lc.s    266 | Code        | 11 |         |    2 | 00/D5B6 : B1 0A       |                          LDA     ({$0A}),Y            
 6137 | 26                 render_lc.s    267 | Code        | 11 |         |    2 | 00/D5B8 : 85 12       |                          STA     {$12}                
 6138 | 26                 render_lc.s    268 | Code        | 11 |         |    1 | 00/D5BA : C8          |                          INY                          
 6139 | 26                 render_lc.s    269 | Code        | 11 |         |    2 | 00/D5BB : B1 0A       |                          LDA     ({$0A}),Y            
 6140 | 26                 render_lc.s    270 | Code        | 11 |         |    2 | 00/D5BD : 85 13       |                          STA     {$13}                
 6141 | 26                 render_lc.s    271 | Code        | 11 |         |    1 | 00/D5BF : C8          |                          INY                          
 6142 | 26                 render_lc.s    272 | Code        | 11 |         |    2 | 00/D5C0 : B1 0A       |                          LDA     ({$0A}),Y            
 6143 | 26                 render_lc.s    273 | Code        | 11 |         |    2 | 00/D5C2 : 85 18       |                          STA     {$18}                
 6144 | 26                 render_lc.s    274 | Code        | 11 |         |    1 | 00/D5C4 : C8          |                          INY                          
 6145 | 26                 render_lc.s    275 | Code        | 11 |         |    2 | 00/D5C5 : B1 0A       |                          LDA     ({$0A}),Y            
 6146 | 26                 render_lc.s    276 | Code        | 11 |         |    2 | 00/D5C7 : 85 19       |                          STA     {$19}                
 6147 | 26                 render_lc.s    277 | Code        | 11 |         |    3 | 00/D5C9 : 8D 05 C0    |                          STA     {$C005}              
 6148 | 26                 render_lc.s    278 | Code        | 11 |         |    2 | 00/D5CC : A0 1A       |                          LDY     #26                  
 6149 | 26                 render_lc.s    279 | Code        | 11 |         |    2 | 00/D5CE : A5 12       |                          LDA     {$12}                
 6150 | 26                 render_lc.s    280 | Code        | 11 |         |    2 | 00/D5D0 : 91 00       |                          STA     ({$00}),Y            
 6151 | 26                 render_lc.s    281 | Code        | 11 |         |    1 | 00/D5D2 : C8          |                          INY                          
 6152 | 26                 render_lc.s    282 | Code        | 11 |         |    2 | 00/D5D3 : A5 18       |                          LDA     {$18}                
 6153 | 26                 render_lc.s    283 | Code        | 11 |         |    2 | 00/D5D5 : 91 00       |                          STA     ({$00}),Y            
 6154 | 26                 render_lc.s    284 | Code        | 11 |         |    3 | 00/D5D7 : 8D 04 C0    |                          STA     {$C004}              
 6155 | 26                 render_lc.s    285 | Code        | 11 |         |    2 | 00/D5DA : A5 19       |                          LDA     {$19}                
 6156 | 26                 render_lc.s    286 | Code        | 11 |         |    2 | 00/D5DC : 91 00       |                          STA     ({$00}),Y            
 6157 | 26                 render_lc.s    287 | Code        | 11 |         |    1 | 00/D5DE : 88          |                          DEY                          
 6158 | 26                 render_lc.s    288 | Code        | 11 |         |    2 | 00/D5DF : A5 13       |                          LDA     {$13}                
 6159 | 26                 render_lc.s    289 | Code        | 11 |         |    2 | 00/D5E1 : 91 00       |                          STA     ({$00}),Y            
 6160 | 26                 render_lc.s    290 | Empty       | 11 |         |    0 | 00/D5E3               | _xd13                                                 
 6161 | 26                 render_lc.s    291 | Empty       | 11 |         |    0 | 00/D5E3               |                                                       
 6162 | 26                 render_lc.s    292 | Comment     | 11 |         |    0 | 00/D5E3               | * --- Column 12 ---
 6163 | 26                 render_lc.s    293 | Code        | 11 |         |    2 | 00/D5E3 : A0 0C       |                          LDY     #12                  
 6164 | 26                 render_lc.s    294 | Code        | 11 |         |    2 | 00/D5E5 : B1 08       |                          LDA     ({$08}),Y            
 6165 | 26                 render_lc.s    295 | Code        | 11 |         |    2 | 00/D5E7 : D1 04       |                          CMP     ({$04}),Y            
 6166 | 26                 render_lc.s    296 | Code        | 11 |         |    2 | 00/D5E9 : F0 3A       |                          BEQ     _xd12                
 6167 | 26                 render_lc.s    297 | Code        | 11 |         |    1 | 00/D5EB : AA          |                          TAX                          
 6168 | 26                 render_lc.s    298 | Code        | 11 |         |    3 | 00/D5EC : BD 7E 85    |                          LDA     TileAddrL,X          
 6169 | 26                 render_lc.s    299 | Code        | 11 |         |    2 | 00/D5EF : 85 0A       |                          STA     {$0A}                
 6170 | 26                 render_lc.s    300 | Code        | 11 |         |    3 | 00/D5F1 : BD 51 86    |                          LDA     TileAddrH,X          
 6171 | 26                 render_lc.s    301 | Code        | 11 |         |    2 | 00/D5F4 : 85 0B       |                          STA     {$0A}+1              
 6172 | 26                 render_lc.s    302 | Code        | 11 |         |    2 | 00/D5F6 : A4 0D       |                          LDY     {$0D}                
 6173 | 26                 render_lc.s    303 | Code        | 11 |         |    2 | 00/D5F8 : B1 0A       |                          LDA     ({$0A}),Y            
 6174 | 26                 render_lc.s    304 | Code        | 11 |         |    2 | 00/D5FA : 85 12       |                          STA     {$12}                
 6175 | 26                 render_lc.s    305 | Code        | 11 |         |    1 | 00/D5FC : C8          |                          INY                          
 6176 | 26                 render_lc.s    306 | Code        | 11 |         |    2 | 00/D5FD : B1 0A       |                          LDA     ({$0A}),Y            
 6177 | 26                 render_lc.s    307 | Code        | 11 |         |    2 | 00/D5FF : 85 13       |                          STA     {$13}                
 6178 | 26                 render_lc.s    308 | Code        | 11 |         |    1 | 00/D601 : C8          |                          INY                          
 6179 | 26                 render_lc.s    309 | Code        | 11 |         |    2 | 00/D602 : B1 0A       |                          LDA     ({$0A}),Y            
 6180 | 26                 render_lc.s    310 | Code        | 11 |         |    2 | 00/D604 : 85 18       |                          STA     {$18}                
 6181 | 26                 render_lc.s    311 | Code        | 11 |         |    1 | 00/D606 : C8          |                          INY                          
 6182 | 26                 render_lc.s    312 | Code        | 11 |         |    2 | 00/D607 : B1 0A       |                          LDA     ({$0A}),Y            
 6183 | 26                 render_lc.s    313 | Code        | 11 |         |    2 | 00/D609 : 85 19       |                          STA     {$19}                
 6184 | 26                 render_lc.s    314 | Code        | 11 |         |    3 | 00/D60B : 8D 05 C0    |                          STA     {$C005}              
 6185 | 26                 render_lc.s    315 | Code        | 11 |         |    2 | 00/D60E : A0 18       |                          LDY     #24                  
 6186 | 26                 render_lc.s    316 | Code        | 11 |         |    2 | 00/D610 : A5 12       |                          LDA     {$12}                
 6187 | 26                 render_lc.s    317 | Code        | 11 |         |    2 | 00/D612 : 91 00       |                          STA     ({$00}),Y            
 6188 | 26                 render_lc.s    318 | Code        | 11 |         |    1 | 00/D614 : C8          |                          INY                          
 6189 | 26                 render_lc.s    319 | Code        | 11 |         |    2 | 00/D615 : A5 18       |                          LDA     {$18}                
 6190 | 26                 render_lc.s    320 | Code        | 11 |         |    2 | 00/D617 : 91 00       |                          STA     ({$00}),Y            
 6191 | 26                 render_lc.s    321 | Code        | 11 |         |    3 | 00/D619 : 8D 04 C0    |                          STA     {$C004}              
 6192 | 26                 render_lc.s    322 | Code        | 11 |         |    2 | 00/D61C : A5 19       |                          LDA     {$19}                
 6193 | 26                 render_lc.s    323 | Code        | 11 |         |    2 | 00/D61E : 91 00       |                          STA     ({$00}),Y            
 6194 | 26                 render_lc.s    324 | Code        | 11 |         |    1 | 00/D620 : 88          |                          DEY                          
 6195 | 26                 render_lc.s    325 | Code        | 11 |         |    2 | 00/D621 : A5 13       |                          LDA     {$13}                
 6196 | 26                 render_lc.s    326 | Code        | 11 |         |    2 | 00/D623 : 91 00       |                          STA     ({$00}),Y            
 6197 | 26                 render_lc.s    327 | Empty       | 11 |         |    0 | 00/D625               | _xd12                                                 
 6198 | 26                 render_lc.s    328 | Empty       | 11 |         |    0 | 00/D625               |                                                       
 6199 | 26                 render_lc.s    329 | Comment     | 11 |         |    0 | 00/D625               | * --- Column 11 ---
 6200 | 26                 render_lc.s    330 | Code        | 11 |         |    2 | 00/D625 : A0 0B       |                          LDY     #11                  
 6201 | 26                 render_lc.s    331 | Code        | 11 |         |    2 | 00/D627 : B1 08       |                          LDA     ({$08}),Y            
 6202 | 26                 render_lc.s    332 | Code        | 11 |         |    2 | 00/D629 : D1 04       |                          CMP     ({$04}),Y            
 6203 | 26                 render_lc.s    333 | Code        | 11 |         |    2 | 00/D62B : F0 3A       |                          BEQ     _xd11                
 6204 | 26                 render_lc.s    334 | Code        | 11 |         |    1 | 00/D62D : AA          |                          TAX                          
 6205 | 26                 render_lc.s    335 | Code        | 11 |         |    3 | 00/D62E : BD 7E 85    |                          LDA     TileAddrL,X          
 6206 | 26                 render_lc.s    336 | Code        | 11 |         |    2 | 00/D631 : 85 0A       |                          STA     {$0A}                
 6207 | 26                 render_lc.s    337 | Code        | 11 |         |    3 | 00/D633 : BD 51 86    |                          LDA     TileAddrH,X          
 6208 | 26                 render_lc.s    338 | Code        | 11 |         |    2 | 00/D636 : 85 0B       |                          STA     {$0A}+1              
 6209 | 26                 render_lc.s    339 | Code        | 11 |         |    2 | 00/D638 : A4 0D       |                          LDY     {$0D}                
 6210 | 26                 render_lc.s    340 | Code        | 11 |         |    2 | 00/D63A : B1 0A       |                          LDA     ({$0A}),Y            
 6211 | 26                 render_lc.s    341 | Code        | 11 |         |    2 | 00/D63C : 85 12       |                          STA     {$12}                
 6212 | 26                 render_lc.s    342 | Code        | 11 |         |    1 | 00/D63E : C8          |                          INY                          
 6213 | 26                 render_lc.s    343 | Code        | 11 |         |    2 | 00/D63F : B1 0A       |                          LDA     ({$0A}),Y            
 6214 | 26                 render_lc.s    344 | Code        | 11 |         |    2 | 00/D641 : 85 13       |                          STA     {$13}                
 6215 | 26                 render_lc.s    345 | Code        | 11 |         |    1 | 00/D643 : C8          |                          INY                          
 6216 | 26                 render_lc.s    346 | Code        | 11 |         |    2 | 00/D644 : B1 0A       |                          LDA     ({$0A}),Y            
 6217 | 26                 render_lc.s    347 | Code        | 11 |         |    2 | 00/D646 : 85 18       |                          STA     {$18}                
 6218 | 26                 render_lc.s    348 | Code        | 11 |         |    1 | 00/D648 : C8          |                          INY                          
 6219 | 26                 render_lc.s    349 | Code        | 11 |         |    2 | 00/D649 : B1 0A       |                          LDA     ({$0A}),Y            
 6220 | 26                 render_lc.s    350 | Code        | 11 |         |    2 | 00/D64B : 85 19       |                          STA     {$19}                
 6221 | 26                 render_lc.s    351 | Code        | 11 |         |    3 | 00/D64D : 8D 05 C0    |                          STA     {$C005}              
 6222 | 26                 render_lc.s    352 | Code        | 11 |         |    2 | 00/D650 : A0 16       |                          LDY     #22                  
 6223 | 26                 render_lc.s    353 | Code        | 11 |         |    2 | 00/D652 : A5 12       |                          LDA     {$12}                
 6224 | 26                 render_lc.s    354 | Code        | 11 |         |    2 | 00/D654 : 91 00       |                          STA     ({$00}),Y            
 6225 | 26                 render_lc.s    355 | Code        | 11 |         |    1 | 00/D656 : C8          |                          INY                          
 6226 | 26                 render_lc.s    356 | Code        | 11 |         |    2 | 00/D657 : A5 18       |                          LDA     {$18}                
 6227 | 26                 render_lc.s    357 | Code        | 11 |         |    2 | 00/D659 : 91 00       |                          STA     ({$00}),Y            
 6228 | 26                 render_lc.s    358 | Code        | 11 |         |    3 | 00/D65B : 8D 04 C0    |                          STA     {$C004}              
 6229 | 26                 render_lc.s    359 | Code        | 11 |         |    2 | 00/D65E : A5 19       |                          LDA     {$19}                
 6230 | 26                 render_lc.s    360 | Code        | 11 |         |    2 | 00/D660 : 91 00       |                          STA     ({$00}),Y            
 6231 | 26                 render_lc.s    361 | Code        | 11 |         |    1 | 00/D662 : 88          |                          DEY                          
 6232 | 26                 render_lc.s    362 | Code        | 11 |         |    2 | 00/D663 : A5 13       |                          LDA     {$13}                
 6233 | 26                 render_lc.s    363 | Code        | 11 |         |    2 | 00/D665 : 91 00       |                          STA     ({$00}),Y            
 6234 | 26                 render_lc.s    364 | Empty       | 11 |         |    0 | 00/D667               | _xd11                                                 
 6235 | 26                 render_lc.s    365 | Empty       | 11 |         |    0 | 00/D667               |                                                       
 6236 | 26                 render_lc.s    366 | Comment     | 11 |         |    0 | 00/D667               | * --- Column 10 ---
 6237 | 26                 render_lc.s    367 | Code        | 11 |         |    2 | 00/D667 : A0 0A       |                          LDY     #10                  
 6238 | 26                 render_lc.s    368 | Code        | 11 |         |    2 | 00/D669 : B1 08       |                          LDA     ({$08}),Y            
 6239 | 26                 render_lc.s    369 | Code        | 11 |         |    2 | 00/D66B : D1 04       |                          CMP     ({$04}),Y            
 6240 | 26                 render_lc.s    370 | Code        | 11 |         |    2 | 00/D66D : F0 3A       |                          BEQ     _xd10                
 6241 | 26                 render_lc.s    371 | Code        | 11 |         |    1 | 00/D66F : AA          |                          TAX                          
 6242 | 26                 render_lc.s    372 | Code        | 11 |         |    3 | 00/D670 : BD 7E 85    |                          LDA     TileAddrL,X          
 6243 | 26                 render_lc.s    373 | Code        | 11 |         |    2 | 00/D673 : 85 0A       |                          STA     {$0A}                
 6244 | 26                 render_lc.s    374 | Code        | 11 |         |    3 | 00/D675 : BD 51 86    |                          LDA     TileAddrH,X          
 6245 | 26                 render_lc.s    375 | Code        | 11 |         |    2 | 00/D678 : 85 0B       |                          STA     {$0A}+1              
 6246 | 26                 render_lc.s    376 | Code        | 11 |         |    2 | 00/D67A : A4 0D       |                          LDY     {$0D}                
 6247 | 26                 render_lc.s    377 | Code        | 11 |         |    2 | 00/D67C : B1 0A       |                          LDA     ({$0A}),Y            
 6248 | 26                 render_lc.s    378 | Code        | 11 |         |    2 | 00/D67E : 85 12       |                          STA     {$12}                
 6249 | 26                 render_lc.s    379 | Code        | 11 |         |    1 | 00/D680 : C8          |                          INY                          
 6250 | 26                 render_lc.s    380 | Code        | 11 |         |    2 | 00/D681 : B1 0A       |                          LDA     ({$0A}),Y            
 6251 | 26                 render_lc.s    381 | Code        | 11 |         |    2 | 00/D683 : 85 13       |                          STA     {$13}                
 6252 | 26                 render_lc.s    382 | Code        | 11 |         |    1 | 00/D685 : C8          |                          INY                          
 6253 | 26                 render_lc.s    383 | Code        | 11 |         |    2 | 00/D686 : B1 0A       |                          LDA     ({$0A}),Y            
 6254 | 26                 render_lc.s    384 | Code        | 11 |         |    2 | 00/D688 : 85 18       |                          STA     {$18}                
 6255 | 26                 render_lc.s    385 | Code        | 11 |         |    1 | 00/D68A : C8          |                          INY                          
 6256 | 26                 render_lc.s    386 | Code        | 11 |         |    2 | 00/D68B : B1 0A       |                          LDA     ({$0A}),Y            
 6257 | 26                 render_lc.s    387 | Code        | 11 |         |    2 | 00/D68D : 85 19       |                          STA     {$19}                
 6258 | 26                 render_lc.s    388 | Code        | 11 |         |    3 | 00/D68F : 8D 05 C0    |                          STA     {$C005}              
 6259 | 26                 render_lc.s    389 | Code        | 11 |         |    2 | 00/D692 : A0 14       |                          LDY     #20                  
 6260 | 26                 render_lc.s    390 | Code        | 11 |         |    2 | 00/D694 : A5 12       |                          LDA     {$12}                
 6261 | 26                 render_lc.s    391 | Code        | 11 |         |    2 | 00/D696 : 91 00       |                          STA     ({$00}),Y            
 6262 | 26                 render_lc.s    392 | Code        | 11 |         |    1 | 00/D698 : C8          |                          INY                          
 6263 | 26                 render_lc.s    393 | Code        | 11 |         |    2 | 00/D699 : A5 18       |                          LDA     {$18}                
 6264 | 26                 render_lc.s    394 | Code        | 11 |         |    2 | 00/D69B : 91 00       |                          STA     ({$00}),Y            
 6265 | 26                 render_lc.s    395 | Code        | 11 |         |    3 | 00/D69D : 8D 04 C0    |                          STA     {$C004}              
 6266 | 26                 render_lc.s    396 | Code        | 11 |         |    2 | 00/D6A0 : A5 19       |                          LDA     {$19}                
 6267 | 26                 render_lc.s    397 | Code        | 11 |         |    2 | 00/D6A2 : 91 00       |                          STA     ({$00}),Y            
 6268 | 26                 render_lc.s    398 | Code        | 11 |         |    1 | 00/D6A4 : 88          |                          DEY                          
 6269 | 26                 render_lc.s    399 | Code        | 11 |         |    2 | 00/D6A5 : A5 13       |                          LDA     {$13}                
 6270 | 26                 render_lc.s    400 | Code        | 11 |         |    2 | 00/D6A7 : 91 00       |                          STA     ({$00}),Y            
 6271 | 26                 render_lc.s    401 | Empty       | 11 |         |    0 | 00/D6A9               | _xd10                                                 
 6272 | 26                 render_lc.s    402 | Empty       | 11 |         |    0 | 00/D6A9               |                                                       
 6273 | 26                 render_lc.s    403 | Comment     | 11 |         |    0 | 00/D6A9               | * --- Column 9 ---
 6274 | 26                 render_lc.s    404 | Code        | 11 |         |    2 | 00/D6A9 : A0 09       |                          LDY     #9                   
 6275 | 26                 render_lc.s    405 | Code        | 11 |         |    2 | 00/D6AB : B1 08       |                          LDA     ({$08}),Y            
 6276 | 26                 render_lc.s    406 | Code        | 11 |         |    2 | 00/D6AD : D1 04       |                          CMP     ({$04}),Y            
 6277 | 26                 render_lc.s    407 | Code        | 11 |         |    2 | 00/D6AF : F0 3A       |                          BEQ     _xd9                 
 6278 | 26                 render_lc.s    408 | Code        | 11 |         |    1 | 00/D6B1 : AA          |                          TAX                          
 6279 | 26                 render_lc.s    409 | Code        | 11 |         |    3 | 00/D6B2 : BD 7E 85    |                          LDA     TileAddrL,X          
 6280 | 26                 render_lc.s    410 | Code        | 11 |         |    2 | 00/D6B5 : 85 0A       |                          STA     {$0A}                
 6281 | 26                 render_lc.s    411 | Code        | 11 |         |    3 | 00/D6B7 : BD 51 86    |                          LDA     TileAddrH,X          
 6282 | 26                 render_lc.s    412 | Code        | 11 |         |    2 | 00/D6BA : 85 0B       |                          STA     {$0A}+1              
 6283 | 26                 render_lc.s    413 | Code        | 11 |         |    2 | 00/D6BC : A4 0D       |                          LDY     {$0D}                
 6284 | 26                 render_lc.s    414 | Code        | 11 |         |    2 | 00/D6BE : B1 0A       |                          LDA     ({$0A}),Y            
 6285 | 26                 render_lc.s    415 | Code        | 11 |         |    2 | 00/D6C0 : 85 12       |                          STA     {$12}                
 6286 | 26                 render_lc.s    416 | Code        | 11 |         |    1 | 00/D6C2 : C8          |                          INY                          
 6287 | 26                 render_lc.s    417 | Code        | 11 |         |    2 | 00/D6C3 : B1 0A       |                          LDA     ({$0A}),Y            
 6288 | 26                 render_lc.s    418 | Code        | 11 |         |    2 | 00/D6C5 : 85 13       |                          STA     {$13}                
 6289 | 26                 render_lc.s    419 | Code        | 11 |         |    1 | 00/D6C7 : C8          |                          INY                          
 6290 | 26                 render_lc.s    420 | Code        | 11 |         |    2 | 00/D6C8 : B1 0A       |                          LDA     ({$0A}),Y            
 6291 | 26                 render_lc.s    421 | Code        | 11 |         |    2 | 00/D6CA : 85 18       |                          STA     {$18}                
 6292 | 26                 render_lc.s    422 | Code        | 11 |         |    1 | 00/D6CC : C8          |                          INY                          
 6293 | 26                 render_lc.s    423 | Code        | 11 |         |    2 | 00/D6CD : B1 0A       |                          LDA     ({$0A}),Y            
 6294 | 26                 render_lc.s    424 | Code        | 11 |         |    2 | 00/D6CF : 85 19       |                          STA     {$19}                
 6295 | 26                 render_lc.s    425 | Code        | 11 |         |    3 | 00/D6D1 : 8D 05 C0    |                          STA     {$C005}              
 6296 | 26                 render_lc.s    426 | Code        | 11 |         |    2 | 00/D6D4 : A0 12       |                          LDY     #18                  
 6297 | 26                 render_lc.s    427 | Code        | 11 |         |    2 | 00/D6D6 : A5 12       |                          LDA     {$12}                
 6298 | 26                 render_lc.s    428 | Code        | 11 |         |    2 | 00/D6D8 : 91 00       |                          STA     ({$00}),Y            
 6299 | 26                 render_lc.s    429 | Code        | 11 |         |    1 | 00/D6DA : C8          |                          INY                          
 6300 | 26                 render_lc.s    430 | Code        | 11 |         |    2 | 00/D6DB : A5 18       |                          LDA     {$18}                
 6301 | 26                 render_lc.s    431 | Code        | 11 |         |    2 | 00/D6DD : 91 00       |                          STA     ({$00}),Y            
 6302 | 26                 render_lc.s    432 | Code        | 11 |         |    3 | 00/D6DF : 8D 04 C0    |                          STA     {$C004}              
 6303 | 26                 render_lc.s    433 | Code        | 11 |         |    2 | 00/D6E2 : A5 19       |                          LDA     {$19}                
 6304 | 26                 render_lc.s    434 | Code        | 11 |         |    2 | 00/D6E4 : 91 00       |                          STA     ({$00}),Y            
 6305 | 26                 render_lc.s    435 | Code        | 11 |         |    1 | 00/D6E6 : 88          |                          DEY                          
 6306 | 26                 render_lc.s    436 | Code        | 11 |         |    2 | 00/D6E7 : A5 13       |                          LDA     {$13}                
 6307 | 26                 render_lc.s    437 | Code        | 11 |         |    2 | 00/D6E9 : 91 00       |                          STA     ({$00}),Y            
 6308 | 26                 render_lc.s    438 | Empty       | 11 |         |    0 | 00/D6EB               | _xd9                                                  
 6309 | 26                 render_lc.s    439 | Empty       | 11 |         |    0 | 00/D6EB               |                                                       
 6310 | 26                 render_lc.s    440 | Comment     | 11 |         |    0 | 00/D6EB               | * --- Column 8 ---
 6311 | 26                 render_lc.s    441 | Code        | 11 |         |    2 | 00/D6EB : A0 08       |                          LDY     #8                   
 6312 | 26                 render_lc.s    442 | Code        | 11 |         |    2 | 00/D6ED : B1 08       |                          LDA     ({$08}),Y            
 6313 | 26                 render_lc.s    443 | Code        | 11 |         |    2 | 00/D6EF : D1 04       |                          CMP     ({$04}),Y            
 6314 | 26                 render_lc.s    444 | Code        | 11 |         |    2 | 00/D6F1 : F0 3A       |                          BEQ     _xd8                 
 6315 | 26                 render_lc.s    445 | Code        | 11 |         |    1 | 00/D6F3 : AA          |                          TAX                          
 6316 | 26                 render_lc.s    446 | Code        | 11 |         |    3 | 00/D6F4 : BD 7E 85    |                          LDA     TileAddrL,X          
 6317 | 26                 render_lc.s    447 | Code        | 11 |         |    2 | 00/D6F7 : 85 0A       |                          STA     {$0A}                
 6318 | 26                 render_lc.s    448 | Code        | 11 |         |    3 | 00/D6F9 : BD 51 86    |                          LDA     TileAddrH,X          
 6319 | 26                 render_lc.s    449 | Code        | 11 |         |    2 | 00/D6FC : 85 0B       |                          STA     {$0A}+1              
 6320 | 26                 render_lc.s    450 | Code        | 11 |         |    2 | 00/D6FE : A4 0D       |                          LDY     {$0D}                
 6321 | 26                 render_lc.s    451 | Code        | 11 |         |    2 | 00/D700 : B1 0A       |                          LDA     ({$0A}),Y            
 6322 | 26                 render_lc.s    452 | Code        | 11 |         |    2 | 00/D702 : 85 12       |                          STA     {$12}                
 6323 | 26                 render_lc.s    453 | Code        | 11 |         |    1 | 00/D704 : C8          |                          INY                          
 6324 | 26                 render_lc.s    454 | Code        | 11 |         |    2 | 00/D705 : B1 0A       |                          LDA     ({$0A}),Y            
 6325 | 26                 render_lc.s    455 | Code        | 11 |         |    2 | 00/D707 : 85 13       |                          STA     {$13}                
 6326 | 26                 render_lc.s    456 | Code        | 11 |         |    1 | 00/D709 : C8          |                          INY                          
 6327 | 26                 render_lc.s    457 | Code        | 11 |         |    2 | 00/D70A : B1 0A       |                          LDA     ({$0A}),Y            
 6328 | 26                 render_lc.s    458 | Code        | 11 |         |    2 | 00/D70C : 85 18       |                          STA     {$18}                
 6329 | 26                 render_lc.s    459 | Code        | 11 |         |    1 | 00/D70E : C8          |                          INY                          
 6330 | 26                 render_lc.s    460 | Code        | 11 |         |    2 | 00/D70F : B1 0A       |                          LDA     ({$0A}),Y            
 6331 | 26                 render_lc.s    461 | Code        | 11 |         |    2 | 00/D711 : 85 19       |                          STA     {$19}                
 6332 | 26                 render_lc.s    462 | Code        | 11 |         |    3 | 00/D713 : 8D 05 C0    |                          STA     {$C005}              
 6333 | 26                 render_lc.s    463 | Code        | 11 |         |    2 | 00/D716 : A0 10       |                          LDY     #16                  
 6334 | 26                 render_lc.s    464 | Code        | 11 |         |    2 | 00/D718 : A5 12       |                          LDA     {$12}                
 6335 | 26                 render_lc.s    465 | Code        | 11 |         |    2 | 00/D71A : 91 00       |                          STA     ({$00}),Y            
 6336 | 26                 render_lc.s    466 | Code        | 11 |         |    1 | 00/D71C : C8          |                          INY                          
 6337 | 26                 render_lc.s    467 | Code        | 11 |         |    2 | 00/D71D : A5 18       |                          LDA     {$18}                
 6338 | 26                 render_lc.s    468 | Code        | 11 |         |    2 | 00/D71F : 91 00       |                          STA     ({$00}),Y            
 6339 | 26                 render_lc.s    469 | Code        | 11 |         |    3 | 00/D721 : 8D 04 C0    |                          STA     {$C004}              
 6340 | 26                 render_lc.s    470 | Code        | 11 |         |    2 | 00/D724 : A5 19       |                          LDA     {$19}                
 6341 | 26                 render_lc.s    471 | Code        | 11 |         |    2 | 00/D726 : 91 00       |                          STA     ({$00}),Y            
 6342 | 26                 render_lc.s    472 | Code        | 11 |         |    1 | 00/D728 : 88          |                          DEY                          
 6343 | 26                 render_lc.s    473 | Code        | 11 |         |    2 | 00/D729 : A5 13       |                          LDA     {$13}                
 6344 | 26                 render_lc.s    474 | Code        | 11 |         |    2 | 00/D72B : 91 00       |                          STA     ({$00}),Y            
 6345 | 26                 render_lc.s    475 | Empty       | 11 |         |    0 | 00/D72D               | _xd8                                                  
 6346 | 26                 render_lc.s    476 | Empty       | 11 |         |    0 | 00/D72D               |                                                       
 6347 | 26                 render_lc.s    477 | Comment     | 11 |         |    0 | 00/D72D               | * --- Column 7 ---
 6348 | 26                 render_lc.s    478 | Code        | 11 |         |    2 | 00/D72D : A0 07       |                          LDY     #7                   
 6349 | 26                 render_lc.s    479 | Code        | 11 |         |    2 | 00/D72F : B1 08       |                          LDA     ({$08}),Y            
 6350 | 26                 render_lc.s    480 | Code        | 11 |         |    2 | 00/D731 : D1 04       |                          CMP     ({$04}),Y            
 6351 | 26                 render_lc.s    481 | Code        | 11 |         |    2 | 00/D733 : F0 3A       |                          BEQ     _xd7                 
 6352 | 26                 render_lc.s    482 | Code        | 11 |         |    1 | 00/D735 : AA          |                          TAX                          
 6353 | 26                 render_lc.s    483 | Code        | 11 |         |    3 | 00/D736 : BD 7E 85    |                          LDA     TileAddrL,X          
 6354 | 26                 render_lc.s    484 | Code        | 11 |         |    2 | 00/D739 : 85 0A       |                          STA     {$0A}                
 6355 | 26                 render_lc.s    485 | Code        | 11 |         |    3 | 00/D73B : BD 51 86    |                          LDA     TileAddrH,X          
 6356 | 26                 render_lc.s    486 | Code        | 11 |         |    2 | 00/D73E : 85 0B       |                          STA     {$0A}+1              
 6357 | 26                 render_lc.s    487 | Code        | 11 |         |    2 | 00/D740 : A4 0D       |                          LDY     {$0D}                
 6358 | 26                 render_lc.s    488 | Code        | 11 |         |    2 | 00/D742 : B1 0A       |                          LDA     ({$0A}),Y            
 6359 | 26                 render_lc.s    489 | Code        | 11 |         |    2 | 00/D744 : 85 12       |                          STA     {$12}                
 6360 | 26                 render_lc.s    490 | Code        | 11 |         |    1 | 00/D746 : C8          |                          INY                          
 6361 | 26                 render_lc.s    491 | Code        | 11 |         |    2 | 00/D747 : B1 0A       |                          LDA     ({$0A}),Y            
 6362 | 26                 render_lc.s    492 | Code        | 11 |         |    2 | 00/D749 : 85 13       |                          STA     {$13}                
 6363 | 26                 render_lc.s    493 | Code        | 11 |         |    1 | 00/D74B : C8          |                          INY                          
 6364 | 26                 render_lc.s    494 | Code        | 11 |         |    2 | 00/D74C : B1 0A       |                          LDA     ({$0A}),Y            
 6365 | 26                 render_lc.s    495 | Code        | 11 |         |    2 | 00/D74E : 85 18       |                          STA     {$18}                
 6366 | 26                 render_lc.s    496 | Code        | 11 |         |    1 | 00/D750 : C8          |                          INY                          
 6367 | 26                 render_lc.s    497 | Code        | 11 |         |    2 | 00/D751 : B1 0A       |                          LDA     ({$0A}),Y            
 6368 | 26                 render_lc.s    498 | Code        | 11 |         |    2 | 00/D753 : 85 19       |                          STA     {$19}                
 6369 | 26                 render_lc.s    499 | Code        | 11 |         |    3 | 00/D755 : 8D 05 C0    |                          STA     {$C005}              
 6370 | 26                 render_lc.s    500 | Code        | 11 |         |    2 | 00/D758 : A0 0E       |                          LDY     #14                  
 6371 | 26                 render_lc.s    501 | Code        | 11 |         |    2 | 00/D75A : A5 12       |                          LDA     {$12}                
 6372 | 26                 render_lc.s    502 | Code        | 11 |         |    2 | 00/D75C : 91 00       |                          STA     ({$00}),Y            
 6373 | 26                 render_lc.s    503 | Code        | 11 |         |    1 | 00/D75E : C8          |                          INY                          
 6374 | 26                 render_lc.s    504 | Code        | 11 |         |    2 | 00/D75F : A5 18       |                          LDA     {$18}                
 6375 | 26                 render_lc.s    505 | Code        | 11 |         |    2 | 00/D761 : 91 00       |                          STA     ({$00}),Y            
 6376 | 26                 render_lc.s    506 | Code        | 11 |         |    3 | 00/D763 : 8D 04 C0    |                          STA     {$C004}              
 6377 | 26                 render_lc.s    507 | Code        | 11 |         |    2 | 00/D766 : A5 19       |                          LDA     {$19}                
 6378 | 26                 render_lc.s    508 | Code        | 11 |         |    2 | 00/D768 : 91 00       |                          STA     ({$00}),Y            
 6379 | 26                 render_lc.s    509 | Code        | 11 |         |    1 | 00/D76A : 88          |                          DEY                          
 6380 | 26                 render_lc.s    510 | Code        | 11 |         |    2 | 00/D76B : A5 13       |                          LDA     {$13}                
 6381 | 26                 render_lc.s    511 | Code        | 11 |         |    2 | 00/D76D : 91 00       |                          STA     ({$00}),Y            
 6382 | 26                 render_lc.s    512 | Empty       | 11 |         |    0 | 00/D76F               | _xd7                                                  
 6383 | 26                 render_lc.s    513 | Empty       | 11 |         |    0 | 00/D76F               |                                                       
 6384 | 26                 render_lc.s    514 | Comment     | 11 |         |    0 | 00/D76F               | * --- Column 6 ---
 6385 | 26                 render_lc.s    515 | Code        | 11 |         |    2 | 00/D76F : A0 06       |                          LDY     #6                   
 6386 | 26                 render_lc.s    516 | Code        | 11 |         |    2 | 00/D771 : B1 08       |                          LDA     ({$08}),Y            
 6387 | 26                 render_lc.s    517 | Code        | 11 |         |    2 | 00/D773 : D1 04       |                          CMP     ({$04}),Y            
 6388 | 26                 render_lc.s    518 | Code        | 11 |         |    2 | 00/D775 : F0 3A       |                          BEQ     _xd6                 
 6389 | 26                 render_lc.s    519 | Code        | 11 |         |    1 | 00/D777 : AA          |                          TAX                          
 6390 | 26                 render_lc.s    520 | Code        | 11 |         |    3 | 00/D778 : BD 7E 85    |                          LDA     TileAddrL,X          
 6391 | 26                 render_lc.s    521 | Code        | 11 |         |    2 | 00/D77B : 85 0A       |                          STA     {$0A}                
 6392 | 26                 render_lc.s    522 | Code        | 11 |         |    3 | 00/D77D : BD 51 86    |                          LDA     TileAddrH,X          
 6393 | 26                 render_lc.s    523 | Code        | 11 |         |    2 | 00/D780 : 85 0B       |                          STA     {$0A}+1              
 6394 | 26                 render_lc.s    524 | Code        | 11 |         |    2 | 00/D782 : A4 0D       |                          LDY     {$0D}                
 6395 | 26                 render_lc.s    525 | Code        | 11 |         |    2 | 00/D784 : B1 0A       |                          LDA     ({$0A}),Y            
 6396 | 26                 render_lc.s    526 | Code        | 11 |         |    2 | 00/D786 : 85 12       |                          STA     {$12}                
 6397 | 26                 render_lc.s    527 | Code        | 11 |         |    1 | 00/D788 : C8          |                          INY                          
 6398 | 26                 render_lc.s    528 | Code        | 11 |         |    2 | 00/D789 : B1 0A       |                          LDA     ({$0A}),Y            
 6399 | 26                 render_lc.s    529 | Code        | 11 |         |    2 | 00/D78B : 85 13       |                          STA     {$13}                
 6400 | 26                 render_lc.s    530 | Code        | 11 |         |    1 | 00/D78D : C8          |                          INY                          
 6401 | 26                 render_lc.s    531 | Code        | 11 |         |    2 | 00/D78E : B1 0A       |                          LDA     ({$0A}),Y            
 6402 | 26                 render_lc.s    532 | Code        | 11 |         |    2 | 00/D790 : 85 18       |                          STA     {$18}                
 6403 | 26                 render_lc.s    533 | Code        | 11 |         |    1 | 00/D792 : C8          |                          INY                          
 6404 | 26                 render_lc.s    534 | Code        | 11 |         |    2 | 00/D793 : B1 0A       |                          LDA     ({$0A}),Y            
 6405 | 26                 render_lc.s    535 | Code        | 11 |         |    2 | 00/D795 : 85 19       |                          STA     {$19}                
 6406 | 26                 render_lc.s    536 | Code        | 11 |         |    3 | 00/D797 : 8D 05 C0    |                          STA     {$C005}              
 6407 | 26                 render_lc.s    537 | Code        | 11 |         |    2 | 00/D79A : A0 0C       |                          LDY     #12                  
 6408 | 26                 render_lc.s    538 | Code        | 11 |         |    2 | 00/D79C : A5 12       |                          LDA     {$12}                
 6409 | 26                 render_lc.s    539 | Code        | 11 |         |    2 | 00/D79E : 91 00       |                          STA     ({$00}),Y            
 6410 | 26                 render_lc.s    540 | Code        | 11 |         |    1 | 00/D7A0 : C8          |                          INY                          
 6411 | 26                 render_lc.s    541 | Code        | 11 |         |    2 | 00/D7A1 : A5 18       |                          LDA     {$18}                
 6412 | 26                 render_lc.s    542 | Code        | 11 |         |    2 | 00/D7A3 : 91 00       |                          STA     ({$00}),Y            
 6413 | 26                 render_lc.s    543 | Code        | 11 |         |    3 | 00/D7A5 : 8D 04 C0    |                          STA     {$C004}              
 6414 | 26                 render_lc.s    544 | Code        | 11 |         |    2 | 00/D7A8 : A5 19       |                          LDA     {$19}                
 6415 | 26                 render_lc.s    545 | Code        | 11 |         |    2 | 00/D7AA : 91 00       |                          STA     ({$00}),Y            
 6416 | 26                 render_lc.s    546 | Code        | 11 |         |    1 | 00/D7AC : 88          |                          DEY                          
 6417 | 26                 render_lc.s    547 | Code        | 11 |         |    2 | 00/D7AD : A5 13       |                          LDA     {$13}                
 6418 | 26                 render_lc.s    548 | Code        | 11 |         |    2 | 00/D7AF : 91 00       |                          STA     ({$00}),Y            
 6419 | 26                 render_lc.s    549 | Empty       | 11 |         |    0 | 00/D7B1               | _xd6                                                  
 6420 | 26                 render_lc.s    550 | Empty       | 11 |         |    0 | 00/D7B1               |                                                       
 6421 | 26                 render_lc.s    551 | Comment     | 11 |         |    0 | 00/D7B1               | * --- Column 5 ---
 6422 | 26                 render_lc.s    552 | Code        | 11 |         |    2 | 00/D7B1 : A0 05       |                          LDY     #5                   
 6423 | 26                 render_lc.s    553 | Code        | 11 |         |    2 | 00/D7B3 : B1 08       |                          LDA     ({$08}),Y            
 6424 | 26                 render_lc.s    554 | Code        | 11 |         |    2 | 00/D7B5 : D1 04       |                          CMP     ({$04}),Y            
 6425 | 26                 render_lc.s    555 | Code        | 11 |         |    2 | 00/D7B7 : F0 3A       |                          BEQ     _xd5                 
 6426 | 26                 render_lc.s    556 | Code        | 11 |         |    1 | 00/D7B9 : AA          |                          TAX                          
 6427 | 26                 render_lc.s    557 | Code        | 11 |         |    3 | 00/D7BA : BD 7E 85    |                          LDA     TileAddrL,X          
 6428 | 26                 render_lc.s    558 | Code        | 11 |         |    2 | 00/D7BD : 85 0A       |                          STA     {$0A}                
 6429 | 26                 render_lc.s    559 | Code        | 11 |         |    3 | 00/D7BF : BD 51 86    |                          LDA     TileAddrH,X          
 6430 | 26                 render_lc.s    560 | Code        | 11 |         |    2 | 00/D7C2 : 85 0B       |                          STA     {$0A}+1              
 6431 | 26                 render_lc.s    561 | Code        | 11 |         |    2 | 00/D7C4 : A4 0D       |                          LDY     {$0D}                
 6432 | 26                 render_lc.s    562 | Code        | 11 |         |    2 | 00/D7C6 : B1 0A       |                          LDA     ({$0A}),Y            
 6433 | 26                 render_lc.s    563 | Code        | 11 |         |    2 | 00/D7C8 : 85 12       |                          STA     {$12}                
 6434 | 26                 render_lc.s    564 | Code        | 11 |         |    1 | 00/D7CA : C8          |                          INY                          
 6435 | 26                 render_lc.s    565 | Code        | 11 |         |    2 | 00/D7CB : B1 0A       |                          LDA     ({$0A}),Y            
 6436 | 26                 render_lc.s    566 | Code        | 11 |         |    2 | 00/D7CD : 85 13       |                          STA     {$13}                
 6437 | 26                 render_lc.s    567 | Code        | 11 |         |    1 | 00/D7CF : C8          |                          INY                          
 6438 | 26                 render_lc.s    568 | Code        | 11 |         |    2 | 00/D7D0 : B1 0A       |                          LDA     ({$0A}),Y            
 6439 | 26                 render_lc.s    569 | Code        | 11 |         |    2 | 00/D7D2 : 85 18       |                          STA     {$18}                
 6440 | 26                 render_lc.s    570 | Code        | 11 |         |    1 | 00/D7D4 : C8          |                          INY                          
 6441 | 26                 render_lc.s    571 | Code        | 11 |         |    2 | 00/D7D5 : B1 0A       |                          LDA     ({$0A}),Y            
 6442 | 26                 render_lc.s    572 | Code        | 11 |         |    2 | 00/D7D7 : 85 19       |                          STA     {$19}                
 6443 | 26                 render_lc.s    573 | Code        | 11 |         |    3 | 00/D7D9 : 8D 05 C0    |                          STA     {$C005}              
 6444 | 26                 render_lc.s    574 | Code        | 11 |         |    2 | 00/D7DC : A0 0A       |                          LDY     #10                  
 6445 | 26                 render_lc.s    575 | Code        | 11 |         |    2 | 00/D7DE : A5 12       |                          LDA     {$12}                
 6446 | 26                 render_lc.s    576 | Code        | 11 |         |    2 | 00/D7E0 : 91 00       |                          STA     ({$00}),Y            
 6447 | 26                 render_lc.s    577 | Code        | 11 |         |    1 | 00/D7E2 : C8          |                          INY                          
 6448 | 26                 render_lc.s    578 | Code        | 11 |         |    2 | 00/D7E3 : A5 18       |                          LDA     {$18}                
 6449 | 26                 render_lc.s    579 | Code        | 11 |         |    2 | 00/D7E5 : 91 00       |                          STA     ({$00}),Y            
 6450 | 26                 render_lc.s    580 | Code        | 11 |         |    3 | 00/D7E7 : 8D 04 C0    |                          STA     {$C004}              
 6451 | 26                 render_lc.s    581 | Code        | 11 |         |    2 | 00/D7EA : A5 19       |                          LDA     {$19}                
 6452 | 26                 render_lc.s    582 | Code        | 11 |         |    2 | 00/D7EC : 91 00       |                          STA     ({$00}),Y            
 6453 | 26                 render_lc.s    583 | Code        | 11 |         |    1 | 00/D7EE : 88          |                          DEY                          
 6454 | 26                 render_lc.s    584 | Code        | 11 |         |    2 | 00/D7EF : A5 13       |                          LDA     {$13}                
 6455 | 26                 render_lc.s    585 | Code        | 11 |         |    2 | 00/D7F1 : 91 00       |                          STA     ({$00}),Y            
 6456 | 26                 render_lc.s    586 | Empty       | 11 |         |    0 | 00/D7F3               | _xd5                                                  
 6457 | 26                 render_lc.s    587 | Empty       | 11 |         |    0 | 00/D7F3               |                                                       
 6458 | 26                 render_lc.s    588 | Comment     | 11 |         |    0 | 00/D7F3               | * --- Column 4 ---
 6459 | 26                 render_lc.s    589 | Code        | 11 |         |    2 | 00/D7F3 : A0 04       |                          LDY     #4                   
 6460 | 26                 render_lc.s    590 | Code        | 11 |         |    2 | 00/D7F5 : B1 08       |                          LDA     ({$08}),Y            
 6461 | 26                 render_lc.s    591 | Code        | 11 |         |    2 | 00/D7F7 : D1 04       |                          CMP     ({$04}),Y            
 6462 | 26                 render_lc.s    592 | Code        | 11 |         |    2 | 00/D7F9 : F0 3A       |                          BEQ     _xd4                 
 6463 | 26                 render_lc.s    593 | Code        | 11 |         |    1 | 00/D7FB : AA          |                          TAX                          
 6464 | 26                 render_lc.s    594 | Code        | 11 |         |    3 | 00/D7FC : BD 7E 85    |                          LDA     TileAddrL,X          
 6465 | 26                 render_lc.s    595 | Code        | 11 |         |    2 | 00/D7FF : 85 0A       |                          STA     {$0A}                
 6466 | 26                 render_lc.s    596 | Code        | 11 |         |    3 | 00/D801 : BD 51 86    |                          LDA     TileAddrH,X          
 6467 | 26                 render_lc.s    597 | Code        | 11 |         |    2 | 00/D804 : 85 0B       |                          STA     {$0A}+1              
 6468 | 26                 render_lc.s    598 | Code        | 11 |         |    2 | 00/D806 : A4 0D       |                          LDY     {$0D}                
 6469 | 26                 render_lc.s    599 | Code        | 11 |         |    2 | 00/D808 : B1 0A       |                          LDA     ({$0A}),Y            
 6470 | 26                 render_lc.s    600 | Code        | 11 |         |    2 | 00/D80A : 85 12       |                          STA     {$12}                
 6471 | 26                 render_lc.s    601 | Code        | 11 |         |    1 | 00/D80C : C8          |                          INY                          
 6472 | 26                 render_lc.s    602 | Code        | 11 |         |    2 | 00/D80D : B1 0A       |                          LDA     ({$0A}),Y            
 6473 | 26                 render_lc.s    603 | Code        | 11 |         |    2 | 00/D80F : 85 13       |                          STA     {$13}                
 6474 | 26                 render_lc.s    604 | Code        | 11 |         |    1 | 00/D811 : C8          |                          INY                          
 6475 | 26                 render_lc.s    605 | Code        | 11 |         |    2 | 00/D812 : B1 0A       |                          LDA     ({$0A}),Y            
 6476 | 26                 render_lc.s    606 | Code        | 11 |         |    2 | 00/D814 : 85 18       |                          STA     {$18}                
 6477 | 26                 render_lc.s    607 | Code        | 11 |         |    1 | 00/D816 : C8          |                          INY                          
 6478 | 26                 render_lc.s    608 | Code        | 11 |         |    2 | 00/D817 : B1 0A       |                          LDA     ({$0A}),Y            
 6479 | 26                 render_lc.s    609 | Code        | 11 |         |    2 | 00/D819 : 85 19       |                          STA     {$19}                
 6480 | 26                 render_lc.s    610 | Code        | 11 |         |    3 | 00/D81B : 8D 05 C0    |                          STA     {$C005}              
 6481 | 26                 render_lc.s    611 | Code        | 11 |         |    2 | 00/D81E : A0 08       |                          LDY     #8                   
 6482 | 26                 render_lc.s    612 | Code        | 11 |         |    2 | 00/D820 : A5 12       |                          LDA     {$12}                
 6483 | 26                 render_lc.s    613 | Code        | 11 |         |    2 | 00/D822 : 91 00       |                          STA     ({$00}),Y            
 6484 | 26                 render_lc.s    614 | Code        | 11 |         |    1 | 00/D824 : C8          |                          INY                          
 6485 | 26                 render_lc.s    615 | Code        | 11 |         |    2 | 00/D825 : A5 18       |                          LDA     {$18}                
 6486 | 26                 render_lc.s    616 | Code        | 11 |         |    2 | 00/D827 : 91 00       |                          STA     ({$00}),Y            
 6487 | 26                 render_lc.s    617 | Code        | 11 |         |    3 | 00/D829 : 8D 04 C0    |                          STA     {$C004}              
 6488 | 26                 render_lc.s    618 | Code        | 11 |         |    2 | 00/D82C : A5 19       |                          LDA     {$19}                
 6489 | 26                 render_lc.s    619 | Code        | 11 |         |    2 | 00/D82E : 91 00       |                          STA     ({$00}),Y            
 6490 | 26                 render_lc.s    620 | Code        | 11 |         |    1 | 00/D830 : 88          |                          DEY                          
 6491 | 26                 render_lc.s    621 | Code        | 11 |         |    2 | 00/D831 : A5 13       |                          LDA     {$13}                
 6492 | 26                 render_lc.s    622 | Code        | 11 |         |    2 | 00/D833 : 91 00       |                          STA     ({$00}),Y            
 6493 | 26                 render_lc.s    623 | Empty       | 11 |         |    0 | 00/D835               | _xd4                                                  
 6494 | 26                 render_lc.s    624 | Empty       | 11 |         |    0 | 00/D835               |                                                       
 6495 | 26                 render_lc.s    625 | Comment     | 11 |         |    0 | 00/D835               | * --- Column 3 ---
 6496 | 26                 render_lc.s    626 | Code        | 11 |         |    2 | 00/D835 : A0 03       |                          LDY     #3                   
 6497 | 26                 render_lc.s    627 | Code        | 11 |         |    2 | 00/D837 : B1 08       |                          LDA     ({$08}),Y            
 6498 | 26                 render_lc.s    628 | Code        | 11 |         |    2 | 00/D839 : D1 04       |                          CMP     ({$04}),Y            
 6499 | 26                 render_lc.s    629 | Code        | 11 |         |    2 | 00/D83B : F0 3A       |                          BEQ     _xd3                 
 6500 | 26                 render_lc.s    630 | Code        | 11 |         |    1 | 00/D83D : AA          |                          TAX                          
 6501 | 26                 render_lc.s    631 | Code        | 11 |         |    3 | 00/D83E : BD 7E 85    |                          LDA     TileAddrL,X          
 6502 | 26                 render_lc.s    632 | Code        | 11 |         |    2 | 00/D841 : 85 0A       |                          STA     {$0A}                
 6503 | 26                 render_lc.s    633 | Code        | 11 |         |    3 | 00/D843 : BD 51 86    |                          LDA     TileAddrH,X          
 6504 | 26                 render_lc.s    634 | Code        | 11 |         |    2 | 00/D846 : 85 0B       |                          STA     {$0A}+1              
 6505 | 26                 render_lc.s    635 | Code        | 11 |         |    2 | 00/D848 : A4 0D       |                          LDY     {$0D}                
 6506 | 26                 render_lc.s    636 | Code        | 11 |         |    2 | 00/D84A : B1 0A       |                          LDA     ({$0A}),Y            
 6507 | 26                 render_lc.s    637 | Code        | 11 |         |    2 | 00/D84C : 85 12       |                          STA     {$12}                
 6508 | 26                 render_lc.s    638 | Code        | 11 |         |    1 | 00/D84E : C8          |                          INY                          
 6509 | 26                 render_lc.s    639 | Code        | 11 |         |    2 | 00/D84F : B1 0A       |                          LDA     ({$0A}),Y            
 6510 | 26                 render_lc.s    640 | Code        | 11 |         |    2 | 00/D851 : 85 13       |                          STA     {$13}                
 6511 | 26                 render_lc.s    641 | Code        | 11 |         |    1 | 00/D853 : C8          |                          INY                          
 6512 | 26                 render_lc.s    642 | Code        | 11 |         |    2 | 00/D854 : B1 0A       |                          LDA     ({$0A}),Y            
 6513 | 26                 render_lc.s    643 | Code        | 11 |         |    2 | 00/D856 : 85 18       |                          STA     {$18}                
 6514 | 26                 render_lc.s    644 | Code        | 11 |         |    1 | 00/D858 : C8          |                          INY                          
 6515 | 26                 render_lc.s    645 | Code        | 11 |         |    2 | 00/D859 : B1 0A       |                          LDA     ({$0A}),Y            
 6516 | 26                 render_lc.s    646 | Code        | 11 |         |    2 | 00/D85B : 85 19       |                          STA     {$19}                
 6517 | 26                 render_lc.s    647 | Code        | 11 |         |    3 | 00/D85D : 8D 05 C0    |                          STA     {$C005}              
 6518 | 26                 render_lc.s    648 | Code        | 11 |         |    2 | 00/D860 : A0 06       |                          LDY     #6                   
 6519 | 26                 render_lc.s    649 | Code        | 11 |         |    2 | 00/D862 : A5 12       |                          LDA     {$12}                
 6520 | 26                 render_lc.s    650 | Code        | 11 |         |    2 | 00/D864 : 91 00       |                          STA     ({$00}),Y            
 6521 | 26                 render_lc.s    651 | Code        | 11 |         |    1 | 00/D866 : C8          |                          INY                          
 6522 | 26                 render_lc.s    652 | Code        | 11 |         |    2 | 00/D867 : A5 18       |                          LDA     {$18}                
 6523 | 26                 render_lc.s    653 | Code        | 11 |         |    2 | 00/D869 : 91 00       |                          STA     ({$00}),Y            
 6524 | 26                 render_lc.s    654 | Code        | 11 |         |    3 | 00/D86B : 8D 04 C0    |                          STA     {$C004}              
 6525 | 26                 render_lc.s    655 | Code        | 11 |         |    2 | 00/D86E : A5 19       |                          LDA     {$19}                
 6526 | 26                 render_lc.s    656 | Code        | 11 |         |    2 | 00/D870 : 91 00       |                          STA     ({$00}),Y            
 6527 | 26                 render_lc.s    657 | Code        | 11 |         |    1 | 00/D872 : 88          |                          DEY                          
 6528 | 26                 render_lc.s    658 | Code        | 11 |         |    2 | 00/D873 : A5 13       |                          LDA     {$13}                
 6529 | 26                 render_lc.s    659 | Code        | 11 |         |    2 | 00/D875 : 91 00       |                          STA     ({$00}),Y            
 6530 | 26                 render_lc.s    660 | Empty       | 11 |         |    0 | 00/D877               | _xd3                                                  
 6531 | 26                 render_lc.s    661 | Empty       | 11 |         |    0 | 00/D877               |                                                       
 6532 | 26                 render_lc.s    662 | Comment     | 11 |         |    0 | 00/D877               | * --- Column 2 ---
 6533 | 26                 render_lc.s    663 | Code        | 11 |         |    2 | 00/D877 : A0 02       |                          LDY     #2                   
 6534 | 26                 render_lc.s    664 | Code        | 11 |         |    2 | 00/D879 : B1 08       |                          LDA     ({$08}),Y            
 6535 | 26                 render_lc.s    665 | Code        | 11 |         |    2 | 00/D87B : D1 04       |                          CMP     ({$04}),Y            
 6536 | 26                 render_lc.s    666 | Code        | 11 |         |    2 | 00/D87D : F0 3A       |                          BEQ     _xd2                 
 6537 | 26                 render_lc.s    667 | Code        | 11 |         |    1 | 00/D87F : AA          |                          TAX                          
 6538 | 26                 render_lc.s    668 | Code        | 11 |         |    3 | 00/D880 : BD 7E 85    |                          LDA     TileAddrL,X          
 6539 | 26                 render_lc.s    669 | Code        | 11 |         |    2 | 00/D883 : 85 0A       |                          STA     {$0A}                
 6540 | 26                 render_lc.s    670 | Code        | 11 |         |    3 | 00/D885 : BD 51 86    |                          LDA     TileAddrH,X          
 6541 | 26                 render_lc.s    671 | Code        | 11 |         |    2 | 00/D888 : 85 0B       |                          STA     {$0A}+1              
 6542 | 26                 render_lc.s    672 | Code        | 11 |         |    2 | 00/D88A : A4 0D       |                          LDY     {$0D}                
 6543 | 26                 render_lc.s    673 | Code        | 11 |         |    2 | 00/D88C : B1 0A       |                          LDA     ({$0A}),Y            
 6544 | 26                 render_lc.s    674 | Code        | 11 |         |    2 | 00/D88E : 85 12       |                          STA     {$12}                
 6545 | 26                 render_lc.s    675 | Code        | 11 |         |    1 | 00/D890 : C8          |                          INY                          
 6546 | 26                 render_lc.s    676 | Code        | 11 |         |    2 | 00/D891 : B1 0A       |                          LDA     ({$0A}),Y            
 6547 | 26                 render_lc.s    677 | Code        | 11 |         |    2 | 00/D893 : 85 13       |                          STA     {$13}                
 6548 | 26                 render_lc.s    678 | Code        | 11 |         |    1 | 00/D895 : C8          |                          INY                          
 6549 | 26                 render_lc.s    679 | Code        | 11 |         |    2 | 00/D896 : B1 0A       |                          LDA     ({$0A}),Y            
 6550 | 26                 render_lc.s    680 | Code        | 11 |         |    2 | 00/D898 : 85 18       |                          STA     {$18}                
 6551 | 26                 render_lc.s    681 | Code        | 11 |         |    1 | 00/D89A : C8          |                          INY                          
 6552 | 26                 render_lc.s    682 | Code        | 11 |         |    2 | 00/D89B : B1 0A       |                          LDA     ({$0A}),Y            
 6553 | 26                 render_lc.s    683 | Code        | 11 |         |    2 | 00/D89D : 85 19       |                          STA     {$19}                
 6554 | 26                 render_lc.s    684 | Code        | 11 |         |    3 | 00/D89F : 8D 05 C0    |                          STA     {$C005}              
 6555 | 26                 render_lc.s    685 | Code        | 11 |         |    2 | 00/D8A2 : A0 04       |                          LDY     #4                   
 6556 | 26                 render_lc.s    686 | Code        | 11 |         |    2 | 00/D8A4 : A5 12       |                          LDA     {$12}                
 6557 | 26                 render_lc.s    687 | Code        | 11 |         |    2 | 00/D8A6 : 91 00       |                          STA     ({$00}),Y            
 6558 | 26                 render_lc.s    688 | Code        | 11 |         |    1 | 00/D8A8 : C8          |                          INY                          
 6559 | 26                 render_lc.s    689 | Code        | 11 |         |    2 | 00/D8A9 : A5 18       |                          LDA     {$18}                
 6560 | 26                 render_lc.s    690 | Code        | 11 |         |    2 | 00/D8AB : 91 00       |                          STA     ({$00}),Y            
 6561 | 26                 render_lc.s    691 | Code        | 11 |         |    3 | 00/D8AD : 8D 04 C0    |                          STA     {$C004}              
 6562 | 26                 render_lc.s    692 | Code        | 11 |         |    2 | 00/D8B0 : A5 19       |                          LDA     {$19}                
 6563 | 26                 render_lc.s    693 | Code        | 11 |         |    2 | 00/D8B2 : 91 00       |                          STA     ({$00}),Y            
 6564 | 26                 render_lc.s    694 | Code        | 11 |         |    1 | 00/D8B4 : 88          |                          DEY                          
 6565 | 26                 render_lc.s    695 | Code        | 11 |         |    2 | 00/D8B5 : A5 13       |                          LDA     {$13}                
 6566 | 26                 render_lc.s    696 | Code        | 11 |         |    2 | 00/D8B7 : 91 00       |                          STA     ({$00}),Y            
 6567 | 26                 render_lc.s    697 | Empty       | 11 |         |    0 | 00/D8B9               | _xd2                                                  
 6568 | 26                 render_lc.s    698 | Empty       | 11 |         |    0 | 00/D8B9               |                                                       
 6569 | 26                 render_lc.s    699 | Comment     | 11 |         |    0 | 00/D8B9               | * --- Column 1 ---
 6570 | 26                 render_lc.s    700 | Code        | 11 |         |    2 | 00/D8B9 : A0 01       |                          LDY     #1                   
 6571 | 26                 render_lc.s    701 | Code        | 11 |         |    2 | 00/D8BB : B1 08       |                          LDA     ({$08}),Y            
 6572 | 26                 render_lc.s    702 | Code        | 11 |         |    2 | 00/D8BD : D1 04       |                          CMP     ({$04}),Y            
 6573 | 26                 render_lc.s    703 | Code        | 11 |         |    2 | 00/D8BF : F0 3A       |                          BEQ     _xd1                 
 6574 | 26                 render_lc.s    704 | Code        | 11 |         |    1 | 00/D8C1 : AA          |                          TAX                          
 6575 | 26                 render_lc.s    705 | Code        | 11 |         |    3 | 00/D8C2 : BD 7E 85    |                          LDA     TileAddrL,X          
 6576 | 26                 render_lc.s    706 | Code        | 11 |         |    2 | 00/D8C5 : 85 0A       |                          STA     {$0A}                
 6577 | 26                 render_lc.s    707 | Code        | 11 |         |    3 | 00/D8C7 : BD 51 86    |                          LDA     TileAddrH,X          
 6578 | 26                 render_lc.s    708 | Code        | 11 |         |    2 | 00/D8CA : 85 0B       |                          STA     {$0A}+1              
 6579 | 26                 render_lc.s    709 | Code        | 11 |         |    2 | 00/D8CC : A4 0D       |                          LDY     {$0D}                
 6580 | 26                 render_lc.s    710 | Code        | 11 |         |    2 | 00/D8CE : B1 0A       |                          LDA     ({$0A}),Y            
 6581 | 26                 render_lc.s    711 | Code        | 11 |         |    2 | 00/D8D0 : 85 12       |                          STA     {$12}                
 6582 | 26                 render_lc.s    712 | Code        | 11 |         |    1 | 00/D8D2 : C8          |                          INY                          
 6583 | 26                 render_lc.s    713 | Code        | 11 |         |    2 | 00/D8D3 : B1 0A       |                          LDA     ({$0A}),Y            
 6584 | 26                 render_lc.s    714 | Code        | 11 |         |    2 | 00/D8D5 : 85 13       |                          STA     {$13}                
 6585 | 26                 render_lc.s    715 | Code        | 11 |         |    1 | 00/D8D7 : C8          |                          INY                          
 6586 | 26                 render_lc.s    716 | Code        | 11 |         |    2 | 00/D8D8 : B1 0A       |                          LDA     ({$0A}),Y            
 6587 | 26                 render_lc.s    717 | Code        | 11 |         |    2 | 00/D8DA : 85 18       |                          STA     {$18}                
 6588 | 26                 render_lc.s    718 | Code        | 11 |         |    1 | 00/D8DC : C8          |                          INY                          
 6589 | 26                 render_lc.s    719 | Code        | 11 |         |    2 | 00/D8DD : B1 0A       |                          LDA     ({$0A}),Y            
 6590 | 26                 render_lc.s    720 | Code        | 11 |         |    2 | 00/D8DF : 85 19       |                          STA     {$19}                
 6591 | 26                 render_lc.s    721 | Code        | 11 |         |    3 | 00/D8E1 : 8D 05 C0    |                          STA     {$C005}              
 6592 | 26                 render_lc.s    722 | Code        | 11 |         |    2 | 00/D8E4 : A0 02       |                          LDY     #2                   
 6593 | 26                 render_lc.s    723 | Code        | 11 |         |    2 | 00/D8E6 : A5 12       |                          LDA     {$12}                
 6594 | 26                 render_lc.s    724 | Code        | 11 |         |    2 | 00/D8E8 : 91 00       |                          STA     ({$00}),Y            
 6595 | 26                 render_lc.s    725 | Code        | 11 |         |    1 | 00/D8EA : C8          |                          INY                          
 6596 | 26                 render_lc.s    726 | Code        | 11 |         |    2 | 00/D8EB : A5 18       |                          LDA     {$18}                
 6597 | 26                 render_lc.s    727 | Code        | 11 |         |    2 | 00/D8ED : 91 00       |                          STA     ({$00}),Y            
 6598 | 26                 render_lc.s    728 | Code        | 11 |         |    3 | 00/D8EF : 8D 04 C0    |                          STA     {$C004}              
 6599 | 26                 render_lc.s    729 | Code        | 11 |         |    2 | 00/D8F2 : A5 19       |                          LDA     {$19}                
 6600 | 26                 render_lc.s    730 | Code        | 11 |         |    2 | 00/D8F4 : 91 00       |                          STA     ({$00}),Y            
 6601 | 26                 render_lc.s    731 | Code        | 11 |         |    1 | 00/D8F6 : 88          |                          DEY                          
 6602 | 26                 render_lc.s    732 | Code        | 11 |         |    2 | 00/D8F7 : A5 13       |                          LDA     {$13}                
 6603 | 26                 render_lc.s    733 | Code        | 11 |         |    2 | 00/D8F9 : 91 00       |                          STA     ({$00}),Y            
 6604 | 26                 render_lc.s    734 | Empty       | 11 |         |    0 | 00/D8FB               | _xd1                                                  
 6605 | 26                 render_lc.s    735 | Empty       | 11 |         |    0 | 00/D8FB               |                                                       
 6606 | 26                 render_lc.s    736 | Comment     | 11 |         |    0 | 00/D8FB               | * --- Column 0 ---
 6607 | 26                 render_lc.s    737 | Code        | 11 |         |    2 | 00/D8FB : A0 00       |                          LDY     #0                   
 6608 | 26                 render_lc.s    738 | Code        | 11 |         |    2 | 00/D8FD : B1 08       |                          LDA     ({$08}),Y            
 6609 | 26                 render_lc.s    739 | Code        | 11 |         |    2 | 00/D8FF : D1 04       |                          CMP     ({$04}),Y            
 6610 | 26                 render_lc.s    740 | Code        | 11 |         |    2 | 00/D901 : F0 3A       |                          BEQ     _xd0                 
 6611 | 26                 render_lc.s    741 | Code        | 11 |         |    1 | 00/D903 : AA          |                          TAX                          
 6612 | 26                 render_lc.s    742 | Code        | 11 |         |    3 | 00/D904 : BD 7E 85    |                          LDA     TileAddrL,X          
 6613 | 26                 render_lc.s    743 | Code        | 11 |         |    2 | 00/D907 : 85 0A       |                          STA     {$0A}                
 6614 | 26                 render_lc.s    744 | Code        | 11 |         |    3 | 00/D909 : BD 51 86    |                          LDA     TileAddrH,X          
 6615 | 26                 render_lc.s    745 | Code        | 11 |         |    2 | 00/D90C : 85 0B       |                          STA     {$0A}+1              
 6616 | 26                 render_lc.s    746 | Code        | 11 |         |    2 | 00/D90E : A4 0D       |                          LDY     {$0D}                
 6617 | 26                 render_lc.s    747 | Code        | 11 |         |    2 | 00/D910 : B1 0A       |                          LDA     ({$0A}),Y            
 6618 | 26                 render_lc.s    748 | Code        | 11 |         |    2 | 00/D912 : 85 12       |                          STA     {$12}                
 6619 | 26                 render_lc.s    749 | Code        | 11 |         |    1 | 00/D914 : C8          |                          INY                          
 6620 | 26                 render_lc.s    750 | Code        | 11 |         |    2 | 00/D915 : B1 0A       |                          LDA     ({$0A}),Y            
 6621 | 26                 render_lc.s    751 | Code        | 11 |         |    2 | 00/D917 : 85 13       |                          STA     {$13}                
 6622 | 26                 render_lc.s    752 | Code        | 11 |         |    1 | 00/D919 : C8          |                          INY                          
 6623 | 26                 render_lc.s    753 | Code        | 11 |         |    2 | 00/D91A : B1 0A       |                          LDA     ({$0A}),Y            
 6624 | 26                 render_lc.s    754 | Code        | 11 |         |    2 | 00/D91C : 85 18       |                          STA     {$18}                
 6625 | 26                 render_lc.s    755 | Code        | 11 |         |    1 | 00/D91E : C8          |                          INY                          
 6626 | 26                 render_lc.s    756 | Code        | 11 |         |    2 | 00/D91F : B1 0A       |                          LDA     ({$0A}),Y            
 6627 | 26                 render_lc.s    757 | Code        | 11 |         |    2 | 00/D921 : 85 19       |                          STA     {$19}                
 6628 | 26                 render_lc.s    758 | Code        | 11 |         |    3 | 00/D923 : 8D 05 C0    |                          STA     {$C005}              
 6629 | 26                 render_lc.s    759 | Code        | 11 |         |    2 | 00/D926 : A0 00       |                          LDY     #0                   
 6630 | 26                 render_lc.s    760 | Code        | 11 |         |    2 | 00/D928 : A5 12       |                          LDA     {$12}                
 6631 | 26                 render_lc.s    761 | Code        | 11 |         |    2 | 00/D92A : 91 00       |                          STA     ({$00}),Y            
 6632 | 26                 render_lc.s    762 | Code        | 11 |         |    1 | 00/D92C : C8          |                          INY                          
 6633 | 26                 render_lc.s    763 | Code        | 11 |         |    2 | 00/D92D : A5 18       |                          LDA     {$18}                
 6634 | 26                 render_lc.s    764 | Code        | 11 |         |    2 | 00/D92F : 91 00       |                          STA     ({$00}),Y            
 6635 | 26                 render_lc.s    765 | Code        | 11 |         |    3 | 00/D931 : 8D 04 C0    |                          STA     {$C004}              
 6636 | 26                 render_lc.s    766 | Code        | 11 |         |    2 | 00/D934 : A5 19       |                          LDA     {$19}                
 6637 | 26                 render_lc.s    767 | Code        | 11 |         |    2 | 00/D936 : 91 00       |                          STA     ({$00}),Y            
 6638 | 26                 render_lc.s    768 | Code        | 11 |         |    1 | 00/D938 : 88          |                          DEY                          
 6639 | 26                 render_lc.s    769 | Code        | 11 |         |    2 | 00/D939 : A5 13       |                          LDA     {$13}                
 6640 | 26                 render_lc.s    770 | Code        | 11 |         |    2 | 00/D93B : 91 00       |                          STA     ({$00}),Y            
 6641 | 26                 render_lc.s    771 | Empty       | 11 |         |    0 | 00/D93D               | _xd0                                                  
 6642 | 26                 render_lc.s    772 | Empty       | 11 |         |    0 | 00/D93D               |                                                       
 6643 | 26                 render_lc.s    773 | Comment     | 11 |         |    0 | 00/D93D               | * Next sub-row (advance offset by 4)
 6644 | 26                 render_lc.s    774 | Code        | 11 |         |    2 | 00/D93D : E6 0F       |                          INC     {$0F}                
 6645 | 26                 render_lc.s    775 | Code        | 11 |         |    2 | 00/D93F : A5 0D       |                          LDA     {$0D}                
 6646 | 26                 render_lc.s    776 | Code        | 11 |         |    1 | 00/D941 : 18          |                          CLC                          
 6647 | 26                 render_lc.s    777 | Code        | 11 |         |    2 | 00/D942 : 69 04       |                          ADC     #4                   
 6648 | 26                 render_lc.s    778 | Code        | 11 |         |    2 | 00/D944 : 85 0D       |                          STA     {$0D}                
 6649 | 26                 render_lc.s    779 | Code        | 11 |         |    2 | 00/D946 : C9 18       |                          CMP     #24                  
 6650 | 26                 render_lc.s    780 | Code        | 11 |         |    2 | 00/D948 : F0 03       |                          BEQ     _ddSubDn             
 6651 | 26                 render_lc.s    781 | Code        | 11 |         |    3 | 00/D94A : 4C 06 D4    |                          JMP     _ddSubLoop           
 6652 | 26                 render_lc.s    782 | Empty       | 11 |         |    0 | 00/D94D               | _ddSubDn                                              
 6653 | 26                 render_lc.s    783 | Empty       | 11 |         |    0 | 00/D94D               |                                                       
 6654 | 26                 render_lc.s    784 | Comment     | 11 |         |    0 | 00/D94D               | * Advance both map pointers to next tile row (+20)
 6655 | 26                 render_lc.s    785 | Code        | 11 |         |    1 | 00/D94D : 18          |                          CLC                          
 6656 | 26                 render_lc.s    786 | Code        | 11 |         |    2 | 00/D94E : A5 08       |                          LDA     {$08}                
 6657 | 26                 render_lc.s    787 | Code        | 11 |         |    2 | 00/D950 : 69 14       |                          ADC     #20                  
 6658 | 26                 render_lc.s    788 | Code        | 11 |         |    2 | 00/D952 : 85 08       |                          STA     {$08}                
 6659 | 26                 render_lc.s    789 | Code        | 11 |         |    2 | 00/D954 : A5 09       |                          LDA     {$08}+1              
 6660 | 26                 render_lc.s    790 | Code        | 11 |         |    2 | 00/D956 : 69 00       |                          ADC     #0                   
 6661 | 26                 render_lc.s    791 | Code        | 11 |         |    2 | 00/D958 : 85 09       |                          STA     {$08}+1              
 6662 | 26                 render_lc.s    792 | Empty       | 11 |         |    0 | 00/D95A               |                                                       
 6663 | 26                 render_lc.s    793 | Code        | 11 |         |    1 | 00/D95A : 18          |                          CLC                          
 6664 | 26                 render_lc.s    794 | Code        | 11 |         |    2 | 00/D95B : A5 04       |                          LDA     {$04}                
 6665 | 26                 render_lc.s    795 | Code        | 11 |         |    2 | 00/D95D : 69 14       |                          ADC     #20                  
 6666 | 26                 render_lc.s    796 | Code        | 11 |         |    2 | 00/D95F : 85 04       |                          STA     {$04}                
 6667 | 26                 render_lc.s    797 | Code        | 11 |         |    2 | 00/D961 : A5 05       |                          LDA     {$04}+1              
 6668 | 26                 render_lc.s    798 | Code        | 11 |         |    2 | 00/D963 : 69 00       |                          ADC     #0                   
 6669 | 26                 render_lc.s    799 | Code        | 11 |         |    2 | 00/D965 : 85 05       |                          STA     {$04}+1              
 6670 | 26                 render_lc.s    800 | Empty       | 11 |         |    0 | 00/D967               |                                                       
 6671 | 26                 render_lc.s    801 | Code        | 11 |         |    2 | 00/D967 : E6 0C       |                          INC     {$0C}                
 6672 | 26                 render_lc.s    802 | Code        | 11 |         |    2 | 00/D969 : A5 0C       |                          LDA     {$0C}                
 6673 | 26                 render_lc.s    803 | Code        | 11 |         |    2 | 00/D96B : C9 20       |                          CMP     #32                  
 6674 | 26                 render_lc.s    804 | Code        | 11 |         |    2 | 00/D96D : F0 03       |                          BEQ     ozunid_25            
 6675 | 26                 render_lc.s    805 | Code        | 11 |         |    3 | 00/D96F : 4C 04 D4    |                          JMP     _ddRowLoop           
 6676 | 26                 render_lc.s    806 | Empty       | 11 |         |    0 | 00/D972               | ozunid_25                                             
 6677 | 26                 render_lc.s    807 | Code        | 11 |         |    3 | 00/D972 : 8D 04 C0    |                          STA     {$C004}              
 6678 | 26                 render_lc.s    808 | Code        | 11 |         |    1 | 00/D975 : 60          |                          RTS                          
 6679 | 26                 render_lc.s    809 | Empty       | 11 |         |    0 | 00/D976               |                                                       
 6680 |  1                    bagman.s     62 | Directive   | 11 |         |    0 | 00/D976               |                          PUT     guard_lc.s           
 6681 | 27                  guard_lc.s      1 | Comment     | 11 |         |    0 | 00/D976               | *
 6682 | 27                  guard_lc.s      2 | Comment     | 11 |         |    0 | 00/D976               | * Bagman - Guard Code (LC bank 2)
 6683 | 27                  guard_lc.s      3 | Comment     | 11 |         |    0 | 00/D976               | *
 6684 | 27                  guard_lc.s      4 | Comment     | 11 |         |    0 | 00/D976               | * All guard routines. Lives in LC bank 2 alongside render_lc.s.
 6685 | 27                  guard_lc.s      5 | Comment     | 11 |         |    0 | 00/D976               | * Data tables are in guard_data.s (main RAM).
 6686 | 27                  guard_lc.s      6 | Comment     | 11 |         |    0 | 00/D976               | *
 6687 | 27                  guard_lc.s      7 | Comment     | 11 |         |    0 | 00/D976               | * AI, movement, and collision helpers. Performance-critical per-frame code.
 6688 | 27                  guard_lc.s      8 | Comment     | 11 |         |    0 | 00/D976               | * Init, rendering, and level progression are in guard_data.s (main RAM).
 6689 | 27                  guard_lc.s      9 | Comment     | 11 |         |    0 | 00/D976               | *
 6690 | 27                  guard_lc.s     10 | Comment     | 11 |         |    0 | 00/D976               | * Input-driven architecture (parallel to player's InputFlags pipeline):
 6691 | 27                  guard_lc.s     11 | Comment     | 11 |         |    0 | 00/D976               | *   GuardDecideInputs authors GuardTblInp[3] each frame (AI layer).
 6692 | 27                  guard_lc.s     12 | Comment     | 11 |         |    0 | 00/D976               | *   State handlers read GuardTblInp to drive movement (same INP_* bits
 6693 | 27                  guard_lc.s     13 | Comment     | 11 |         |    0 | 00/D976               | *   as the player: INP_RIGHT/LEFT/UP/DOWN).
 6694 | 27                  guard_lc.s     14 | Comment     | 11 |         |    0 | 00/D976               | *   Inputs are pulse-style: rewritten from scratch every frame by AI,
 6695 | 27                  guard_lc.s     15 | Comment     | 11 |         |    0 | 00/D976               | *   not preserved by handlers.
 6696 | 27                  guard_lc.s     16 | Comment     | 11 |         |    0 | 00/D976               | *   Guard keeps its own state machine (GST_WANDER/PURSUIT/FLEE/STUN/
 6697 | 27                  guard_lc.s     17 | Comment     | 11 |         |    0 | 00/D976               | *   FALL/CLIMB), distinct from the player's states.
 6698 | 27                  guard_lc.s     18 | Comment     | 11 |         |    0 | 00/D976               | *   Handler -> AI communication: handlers set a blocked flag (see
 6699 | 27                  guard_lc.s     19 | Comment     | 11 |         |    0 | 00/D976               | *   GuardBlocked in guard_data.s) when a move fails; AI reads and
 6700 | 27                  guard_lc.s     20 | Comment     | 11 |         |    0 | 00/D976               | *   clears next frame to pick a new direction.
 6701 | 27                  guard_lc.s     21 | Comment     | 11 |         |    0 | 00/D976               | *
 6702 | 27                  guard_lc.s     22 | Empty       | 11 |         |    0 | 00/D976               |                                                       
 6703 | 27                  guard_lc.s     23 | Empty       | 11 |         |    0 | 00/D976               | _SetGuardColl                                         
 6704 | 27                  guard_lc.s     24 | Code        | 11 |         |    3 | 00/D976 : BD 8E 11    |                          LDA     GuardTblMap,X        
 6705 | 27                  guard_lc.s     25 | Code        | 11 |         |    1 | 00/D979 : 0A          |                          ASL                          
 6706 | 27                  guard_lc.s     26 | Code        | 11 |         |    1 | 00/D97A : A8          |                          TAY                          
 6707 | 27                  guard_lc.s     27 | Code        | 11 |         |    3 | 00/D97B : B9 34 10    |                          LDA     CollPtrTbl,Y         
 6708 | 27                  guard_lc.s     28 | Code        | 11 |         |    2 | 00/D97E : 85 25       |                          STA     {$25}                
 6709 | 27                  guard_lc.s     29 | Code        | 11 |         |    3 | 00/D980 : B9 35 10    |                          LDA     CollPtrTbl+1,Y       
 6710 | 27                  guard_lc.s     30 | Code        | 11 |         |    2 | 00/D983 : 85 26       |                          STA     {$25}+1              
 6711 | 27                  guard_lc.s     31 | Code        | 11 |         |    3 | 00/D985 : B9 3A 10    |                          LDA     SlopePtrTbl,Y        
 6712 | 27                  guard_lc.s     32 | Code        | 11 |         |    2 | 00/D988 : 85 20       |                          STA     {$20}                
 6713 | 27                  guard_lc.s     33 | Code        | 11 |         |    3 | 00/D98A : B9 3B 10    |                          LDA     SlopePtrTbl+1,Y      
 6714 | 27                  guard_lc.s     34 | Code        | 11 |         |    2 | 00/D98D : 85 21       |                          STA     {$20}+1              
 6715 | 27                  guard_lc.s     35 | Code        | 11 |         |    1 | 00/D98F : 60          |                          RTS                          
 6716 | 27                  guard_lc.s     36 | Empty       | 11 |         |    0 | 00/D990               |                                                       
 6717 | 27                  guard_lc.s     37 | Comment     | 11 |         |    0 | 00/D990               | *----------------------------------------------
 6718 | 27                  guard_lc.s     38 | Comment     | 11 |         |    0 | 00/D990               | * UpdateGuards - Main guard update loop
 6719 | 27                  guard_lc.s     39 | Comment     | 11 |         |    0 | 00/D990               | *
 6720 | 27                  guard_lc.s     40 | Comment     | 11 |         |    0 | 00/D990               | * Iterates all active guards, dispatches by state.
 6721 | 27                  guard_lc.s     41 | Comment     | 11 |         |    0 | 00/D990               | * Sets collision pointer per-guard, restores at end.
 6722 | 27                  guard_lc.s     42 | Comment     | 11 |         |    0 | 00/D990               | *----------------------------------------------
 6723 | 27                  guard_lc.s     43 | Empty       | 11 |         |    0 | 00/D990               | UpdateGuards                                          
 6724 | 27                  guard_lc.s     44 | Code        | 11 |         |    2 | 00/D990 : A2 00       |                          LDX     #0                   
 6725 | 27                  guard_lc.s     45 | Code        | 11 |         |    2 | 00/D992 : 86 F4       | _ugLoop                  STX     {$F4}                
 6726 | 27                  guard_lc.s     46 | Code        | 11 |         |    3 | 00/D994 : EC C8 11    |                          CPX     GuardActiveCount     
 6727 | 27                  guard_lc.s     47 | Code        | 11 |         |    2 | 00/D997 : 90 03       |                          BCC     _ugGo                
 6728 | 27                  guard_lc.s     48 | Code        | 11 |         |    3 | 00/D999 : 4C 14 DA    |                          JMP     _ugDone              
 6729 | 27                  guard_lc.s     49 | Empty       | 11 |         |    0 | 00/D99C               | _ugGo                                                 
 6730 | 27                  guard_lc.s     50 | Comment     | 11 |         |    0 | 00/D99C               | * Set collision pointer for this guard's map
 6731 | 27                  guard_lc.s     51 | Code        | 11 |         |    3 | 00/D99C : 20 76 D9    |                          JSR     _SetGuardColl        
 6732 | 27                  guard_lc.s     52 | Comment     | 11 |         |    0 | 00/D99F               | * Copy guard position to entity cursor
 6733 | 27                  guard_lc.s     53 | Code        | 11 |         |    3 | 00/D99F : BD 88 11    |                          LDA     GuardTblX,X          
 6734 | 27                  guard_lc.s     54 | Code        | 11 |         |    2 | 00/D9A2 : 85 F6       |                          STA     {$F6}                
 6735 | 27                  guard_lc.s     55 | Code        | 11 |         |    3 | 00/D9A4 : BD 8B 11    |                          LDA     GuardTblY,X          
 6736 | 27                  guard_lc.s     56 | Code        | 11 |         |    2 | 00/D9A7 : 85 F7       |                          STA     {$F7}                
 6737 | 27                  guard_lc.s     57 | Comment     | 11 |         |    0 | 00/D9A9               | * If riding the elevator, track the car's Y before any state work
 6738 | 27                  guard_lc.s     58 | Comment     | 11 |         |    0 | 00/D9A9               | * so stunned/falling/climbing guards don't float relative to the car.
 6739 | 27                  guard_lc.s     59 | Code        | 11 |         |    3 | 00/D9A9 : BD AA 11    |                          LDA     GuardOnElev,X        
 6740 | 27                  guard_lc.s     60 | Code        | 11 |         |    2 | 00/D9AC : F0 07       |                          BEQ     _ugNoRide            
 6741 | 27                  guard_lc.s     61 | Code        | 11 |         |    2 | 00/D9AE : A5 EF       |                          LDA     {$EF}                
 6742 | 27                  guard_lc.s     62 | Code        | 11 |         |    1 | 00/D9B0 : 38          |                          SEC                          
 6743 | 27                  guard_lc.s     63 | Code        | 11 |         |    2 | 00/D9B1 : E9 0C       |                          SBC     #12                  
 6744 | 27                  guard_lc.s     64 | Code        | 11 |         |    2 | 00/D9B3 : 85 F7       |                          STA     {$F7}                
 6745 | 27                  guard_lc.s     65 | Empty       | 11 |         |    0 | 00/D9B5               | _ugNoRide                                             
 6746 | 27                  guard_lc.s     66 | Comment     | 11 |         |    0 | 00/D9B5               | * AI: produce per-guard input flags (stub for now)
 6747 | 27                  guard_lc.s     67 | Code        | 11 |         |    3 | 00/D9B5 : 20 18 DA    |                          JSR     GuardDecideInputs    
 6748 | 27                  guard_lc.s     68 | Code        | 11 |         |    2 | 00/D9B8 : A6 F4       |                          LDX     {$F4}                
 6749 | 27                  guard_lc.s     69 | Comment     | 11 |         |    0 | 00/D9BA               | * Dispatch on state - but WANDER/PURSUIT on the car go to GuardRide
 6750 | 27                  guard_lc.s     70 | Comment     | 11 |         |    0 | 00/D9BA               | * to handle lateral exit. STUN/FALL/CLIMB fall through to the
 6751 | 27                  guard_lc.s     71 | Comment     | 11 |         |    0 | 00/D9BA               | * normal handlers (car Y tracking is done above).
 6752 | 27                  guard_lc.s     72 | Code        | 11 |         |    3 | 00/D9BA : BD 91 11    |                          LDA     GuardTblSt,X         
 6753 | 27                  guard_lc.s     73 | Code        | 11 |         |    2 | 00/D9BD : C9 03       |                          CMP     #{3}                 
 6754 | 27                  guard_lc.s     74 | Code        | 11 |         |    2 | 00/D9BF : B0 0B       |                          BCS     _ugDisp              
 6755 | 27                  guard_lc.s     75 | Code        | 11 |         |    3 | 00/D9C1 : BD AA 11    |                          LDA     GuardOnElev,X        
 6756 | 27                  guard_lc.s     76 | Code        | 11 |         |    2 | 00/D9C4 : F0 06       |                          BEQ     _ugDisp              
 6757 | 27                  guard_lc.s     77 | Code        | 11 |         |    3 | 00/D9C6 : 20 BF 13    |                          JSR     GuardRide            
 6758 | 27                  guard_lc.s     78 | Code        | 11 |         |    3 | 00/D9C9 : 4C FD D9    |                          JMP     _ugWriteback         
 6759 | 27                  guard_lc.s     79 | Empty       | 11 |         |    0 | 00/D9CC               | _ugDisp                                               
 6760 | 27                  guard_lc.s     80 | Code        | 11 |         |    3 | 00/D9CC : BD 91 11    |                          LDA     GuardTblSt,X         
 6761 | 27                  guard_lc.s     81 | Code        | 11 |         |    2 | 00/D9CF : C9 03       |                          CMP     #{3}                 
 6762 | 27                  guard_lc.s     82 | Code        | 11 |         |    2 | 00/D9D1 : F0 12       |                          BEQ     _ugStun              
 6763 | 27                  guard_lc.s     83 | Code        | 11 |         |    2 | 00/D9D3 : C9 04       |                          CMP     #{4}                 
 6764 | 27                  guard_lc.s     84 | Code        | 11 |         |    2 | 00/D9D5 : F0 14       |                          BEQ     _ugFall              
 6765 | 27                  guard_lc.s     85 | Code        | 11 |         |    2 | 00/D9D7 : C9 05       |                          CMP     #{5}                 
 6766 | 27                  guard_lc.s     86 | Code        | 11 |         |    2 | 00/D9D9 : F0 16       |                          BEQ     _ugClimb             
 6767 | 27                  guard_lc.s     87 | Code        | 11 |         |    2 | 00/D9DB : C9 01       |                          CMP     #{1}                 
 6768 | 27                  guard_lc.s     88 | Code        | 11 |         |    2 | 00/D9DD : F0 18       |                          BEQ     _ugPursuit           
 6769 | 27                  guard_lc.s     89 | Comment     | 11 |         |    0 | 00/D9DF               | * Default: wander (GST_WANDER=0, GST_FLEE=2 treated as wander)
 6770 | 27                  guard_lc.s     90 | Code        | 11 |         |    3 | 00/D9DF : 20 43 DB    |                          JSR     GuardWander          
 6771 | 27                  guard_lc.s     91 | Code        | 11 |         |    3 | 00/D9E2 : 4C FD D9    |                          JMP     _ugWriteback         
 6772 | 27                  guard_lc.s     92 | Code        | 11 |         |    3 | 00/D9E5 : 20 19 14    | _ugStun                  JSR     GuardStun            
 6773 | 27                  guard_lc.s     93 | Code        | 11 |         |    3 | 00/D9E8 : 4C FD D9    |                          JMP     _ugWriteback         
 6774 | 27                  guard_lc.s     94 | Code        | 11 |         |    3 | 00/D9EB : 20 8C DB    | _ugFall                  JSR     GuardFall            
 6775 | 27                  guard_lc.s     95 | Code        | 11 |         |    3 | 00/D9EE : 4C FD D9    |                          JMP     _ugWriteback         
 6776 | 27                  guard_lc.s     96 | Code        | 11 |         |    3 | 00/D9F1 : 20 CE DB    | _ugClimb                 JSR     GuardClimb           
 6777 | 27                  guard_lc.s     97 | Code        | 11 |         |    3 | 00/D9F4 : 4C FD D9    |                          JMP     _ugWriteback         
 6778 | 27                  guard_lc.s     98 | Code        | 11 |         |    3 | 00/D9F7 : 20 DF DC    | _ugPursuit               JSR     GuardPursuit         
 6779 | 27                  guard_lc.s     99 | Code        | 11 |         |    3 | 00/D9FA : 4C FD D9    |                          JMP     _ugWriteback         
 6780 | 27                  guard_lc.s    100 | Empty       | 11 |         |    0 | 00/D9FD               | _ugWriteback                                          
 6781 | 27                  guard_lc.s    101 | Comment     | 11 |         |    0 | 00/D9FD               | * Copy entity cursor back to tables
 6782 | 27                  guard_lc.s    102 | Code        | 11 |         |    2 | 00/D9FD : A6 F4       |                          LDX     {$F4}                
 6783 | 27                  guard_lc.s    103 | Code        | 11 |         |    2 | 00/D9FF : A5 F6       |                          LDA     {$F6}                
 6784 | 27                  guard_lc.s    104 | Code        | 11 |         |    3 | 00/DA01 : 9D 88 11    |                          STA     GuardTblX,X          
 6785 | 27                  guard_lc.s    105 | Code        | 11 |         |    2 | 00/DA04 : A5 F7       |                          LDA     {$F7}                
 6786 | 27                  guard_lc.s    106 | Code        | 11 |         |    3 | 00/DA06 : 9D 8B 11    |                          STA     GuardTblY,X          
 6787 | 27                  guard_lc.s    107 | Code        | 11 |         |    2 | 00/DA09 : A9 01       |                          LDA     #1                   
 6788 | 27                  guard_lc.s    108 | Code        | 11 |         |    2 | 00/DA0B : 85 48       |                          STA     {$48}                
 6789 | 27                  guard_lc.s    109 | Code        | 11 |         |    2 | 00/DA0D : E6 F4       | _ugNext                  INC     {$F4}                
 6790 | 27                  guard_lc.s    110 | Code        | 11 |         |    2 | 00/DA0F : A6 F4       |                          LDX     {$F4}                
 6791 | 27                  guard_lc.s    111 | Code        | 11 |         |    3 | 00/DA11 : 4C 92 D9    |                          JMP     _ugLoop              
 6792 | 27                  guard_lc.s    112 | Empty       | 11 |         |    0 | 00/DA14               | _ugDone                                               
 6793 | 27                  guard_lc.s    113 | Comment     | 11 |         |    0 | 00/DA14               | * Restore collision pointer to current map
 6794 | 27                  guard_lc.s    114 | Code        | 11 |         |    3 | 00/DA14 : 20 1B 10    |                          JSR     SetCollision         
 6795 | 27                  guard_lc.s    115 | Code        | 11 |         |    1 | 00/DA17 : 60          |                          RTS                          
 6796 | 27                  guard_lc.s    116 | Empty       | 11 |         |    0 | 00/DA18               |                                                       
 6797 | 27                  guard_lc.s    117 | Comment     | 11 |         |    0 | 00/DA18               | *----------------------------------------------
 6798 | 27                  guard_lc.s    118 | Comment     | 11 |         |    0 | 00/DA18               | * GuardDecideInputs - AI: decide state + author GuardTblInp
 6799 | 27                  guard_lc.s    119 | Comment     | 11 |         |    0 | 00/DA18               | *
 6800 | 27                  guard_lc.s    120 | Comment     | 11 |         |    0 | 00/DA18               | * Called once per guard per frame from UpdateGuards, before state
 6801 | 27                  guard_lc.s    121 | Comment     | 11 |         |    0 | 00/DA18               | * dispatch. X=GuardIdx; EntX/EntY=guard pos. May transition state
 6802 | 27                  guard_lc.s    122 | Comment     | 11 |         |    0 | 00/DA18               | * (WANDER<->PURSUIT, ->CLIMB) and mutate EntX on climb entry
 6803 | 27                  guard_lc.s    123 | Comment     | 11 |         |    0 | 00/DA18               | * (EntCanClimbUp/Down snaps X to ladder center on success).
 6804 | 27                  guard_lc.s    124 | Comment     | 11 |         |    0 | 00/DA18               | * STUN/FALL/CLIMB states persist; AI only emits inputs for them.
 6805 | 27                  guard_lc.s    125 | Comment     | 11 |         |    0 | 00/DA18               | *----------------------------------------------
 6806 | 27                  guard_lc.s    126 | Empty       | 11 |         |    0 | 00/DA18               | GuardDecideInputs                                     
 6807 | 27                  guard_lc.s    127 | Code        | 11 |         |    2 | 00/DA18 : A6 F4       |                          LDX     {$F4}                
 6808 | 27                  guard_lc.s    128 | Code        | 11 |         |    3 | 00/DA1A : 9E A3 11    |                          STZ     GuardTblInp,X        
 6809 | 27                  guard_lc.s    129 | Comment     | 11 |         |    0 | 00/DA1D               | * Pickaxe fear: if active, the helper forces GST_FLEE + emits flee
 6810 | 27                  guard_lc.s    130 | Comment     | 11 |         |    0 | 00/DA1D               | * inputs and we RTS early. Otherwise continue with normal logic.
 6811 | 27                  guard_lc.s    131 | Code        | 11 |         |    3 | 00/DA1D : 20 A6 12    |                          JSR     _GuardFearFrame      
 6812 | 27                  guard_lc.s    132 | Code        | 11 |         |    2 | 00/DA20 : 90 01       |                          BCC     _gdiGo               
 6813 | 27                  guard_lc.s    133 | Code        | 11 |         |    1 | 00/DA22 : 60          |                          RTS                          
 6814 | 27                  guard_lc.s    134 | Empty       | 11 |         |    0 | 00/DA23               | _gdiGo                                                
 6815 | 27                  guard_lc.s    135 | Code        | 11 |         |    3 | 00/DA23 : BD 91 11    |                          LDA     GuardTblSt,X         
 6816 | 27                  guard_lc.s    136 | Code        | 11 |         |    2 | 00/DA26 : C9 05       |                          CMP     #{5}                 
 6817 | 27                  guard_lc.s    137 | Code        | 11 |         |    2 | 00/DA28 : F0 05       |                          BEQ     _gdiToClimb          ; state 5: emit climb inputs
 6818 | 27                  guard_lc.s    138 | Code        | 11 |         |    2 | 00/DA2A : C9 03       |                          CMP     #{3}                 
 6819 | 27                  guard_lc.s    139 | Code        | 11 |         |    2 | 00/DA2C : 90 04       |                          BCC     _gdiTrans            ; state 0/1/2: transition logic below
 6820 | 27                  guard_lc.s    140 | Code        | 11 |         |    1 | 00/DA2E : 60          |                          RTS                          ; state 3/4 (STUN/FALL): no input
 6821 | 27                  guard_lc.s    141 | Empty       | 11 |         |    0 | 00/DA2F               | _gdiToClimb                                           
 6822 | 27                  guard_lc.s    142 | Code        | 11 |         |    3 | 00/DA2F : 4C 22 DB    |                          JMP     _gdiClimb            
 6823 | 27                  guard_lc.s    143 | Empty       | 11 |         |    0 | 00/DA32               | _gdiTrans                                             
 6824 | 27                  guard_lc.s    144 | Comment     | 11 |         |    0 | 00/DA32               | * WANDER(0), PURSUIT(1), FLEE(2): do transition logic
 6825 | 27                  guard_lc.s    145 | Code        | 11 |         |    3 | 00/DA32 : BD 8E 11    |                          LDA     GuardTblMap,X        
 6826 | 27                  guard_lc.s    146 | Code        | 11 |         |    2 | 00/DA35 : C5 1C       |                          CMP     {$1C}                
 6827 | 27                  guard_lc.s    147 | Code        | 11 |         |    2 | 00/DA37 : F0 03       |                          BEQ     _gdiSameMap          
 6828 | 27                  guard_lc.s    148 | Code        | 11 |         |    3 | 00/DA39 : 4C CF DA    |                          JMP     _gdiWander           ; different map: force wander (far branch)
 6829 | 27                  guard_lc.s    149 | Empty       | 11 |         |    0 | 00/DA3C               | _gdiSameMap                                           
 6830 | 27                  guard_lc.s    150 | Comment     | 11 |         |    0 | 00/DA3C               | * LoS present -> CHASE (PURSUIT). Scanline check between sprites.
 6831 | 27                  guard_lc.s    151 | Code        | 11 |         |    3 | 00/DA3C : 20 DE 71    |                          JSR     _EntHorizLoS         
 6832 | 27                  guard_lc.s    152 | Code        | 11 |         |    2 | 00/DA3F : F0 1C       |                          BEQ     _gdiNoLoS            
 6833 | 27                  guard_lc.s    153 | Code        | 11 |         |    2 | 00/DA41 : A6 F4       |                          LDX     {$F4}                ; _EntHorizLoS clobbers X
 6834 | 27                  guard_lc.s    154 | Code        | 11 |         |    3 | 00/DA43 : BD A6 11    |                          LDA     GuardBlocked,X       
 6835 | 27                  guard_lc.s    155 | Code        | 11 |         |    2 | 00/DA46 : F0 03       |                          BEQ     _gdiPursue           
 6836 | 27                  guard_lc.s    156 | Code        | 11 |         |    3 | 00/DA48 : 4C CF DA    |                          JMP     _gdiWander           
 6837 | 27                  guard_lc.s    157 | Empty       | 11 |         |    0 | 00/DA4B               | _gdiPursue                                            
 6838 | 27                  guard_lc.s    158 | Code        | 11 |         |    2 | 00/DA4B : A9 01       |                          LDA     #{1}                 
 6839 | 27                  guard_lc.s    159 | Code        | 11 |         |    3 | 00/DA4D : 9D 91 11    |                          STA     GuardTblSt,X         
 6840 | 27                  guard_lc.s    160 | Code        | 11 |         |    2 | 00/DA50 : A5 70       |                          LDA     {$70}                
 6841 | 27                  guard_lc.s    161 | Code        | 11 |         |    2 | 00/DA52 : C5 F6       |                          CMP     {$F6}                
 6842 | 27                  guard_lc.s    162 | Code        | 11 |         |    2 | 00/DA54 : A9 02       |                          LDA     #{$02}               
 6843 | 27                  guard_lc.s    163 | Code        | 11 |         |    2 | 00/DA56 : 90 02       |                          BCC     _gdiPTr              
 6844 | 27                  guard_lc.s    164 | Code        | 11 |         |    2 | 00/DA58 : A9 01       |                          LDA     #{$01}               
 6845 | 27                  guard_lc.s    165 | Code        | 11 |         |    3 | 00/DA5A : 4C 3F DB    | _gdiPTr                  JMP     _gdiSet              
 6846 | 27                  guard_lc.s    166 | Empty       | 11 |         |    0 | 00/DA5D               | _gdiNoLoS                                             
 6847 | 27                  guard_lc.s    167 | Comment     | 11 |         |    0 | 00/DA5D               | * No horizontal LoS - try vertical LoS (shared ladder column).
 6848 | 27                  guard_lc.s    168 | Comment     | 11 |         |    0 | 00/DA5D               | * If present, commit to a ladder toward the player, skipping the
 6849 | 27                  guard_lc.s    169 | Comment     | 11 |         |    0 | 00/DA5D               | * RNG / |dy| gate; same column + clear path = high confidence.
 6850 | 27                  guard_lc.s    170 | Code        | 11 |         |    3 | 00/DA5D : 20 E2 12    |                          JSR     _EntVertLoS          
 6851 | 27                  guard_lc.s    171 | Code        | 11 |         |    2 | 00/DA60 : F0 05       |                          BEQ     _gdiRngAdvance       
 6852 | 27                  guard_lc.s    172 | Code        | 11 |         |    2 | 00/DA62 : A6 F4       |                          LDX     {$F4}                ; _EntVertLoS clobbers X
 6853 | 27                  guard_lc.s    173 | Code        | 11 |         |    3 | 00/DA64 : 4C 8E DA    |                          JMP     _gdiTryLad           
 6854 | 27                  guard_lc.s    174 | Empty       | 11 |         |    0 | 00/DA67               | _gdiRngAdvance                                        
 6855 | 27                  guard_lc.s    175 | Comment     | 11 |         |    0 | 00/DA67               | * No LoS. Advance 8-bit LFSR (x^8+x^4+x^3+x^2+1, poly $1D).
 6856 | 27                  guard_lc.s    176 | Code        | 11 |         |    3 | 00/DA67 : AD A9 11    |                          LDA     GuardRng             
 6857 | 27                  guard_lc.s    177 | Code        | 11 |         |    1 | 00/DA6A : 0A          |                          ASL                          
 6858 | 27                  guard_lc.s    178 | Code        | 11 |         |    2 | 00/DA6B : 90 02       |                          BCC     _gdiRngNF            
 6859 | 27                  guard_lc.s    179 | Code        | 11 |         |    2 | 00/DA6D : 49 1D       |                          EOR     #$1D                 
 6860 | 27                  guard_lc.s    180 | Code        | 11 |         |    3 | 00/DA6F : 8D A9 11    | _gdiRngNF                STA     GuardRng             
 6861 | 27                  guard_lc.s    181 | Comment     | 11 |         |    0 | 00/DA72               | * If |dy| big enough, consider a ladder; else wander.
 6862 | 27                  guard_lc.s    182 | Code        | 11 |         |    2 | 00/DA72 : A6 F4       |                          LDX     {$F4}                
 6863 | 27                  guard_lc.s    183 | Code        | 11 |         |    3 | 00/DA74 : BD 8B 11    |                          LDA     GuardTblY,X          
 6864 | 27                  guard_lc.s    184 | Code        | 11 |         |    1 | 00/DA77 : 38          |                          SEC                          
 6865 | 27                  guard_lc.s    185 | Code        | 11 |         |    2 | 00/DA78 : E5 71       |                          SBC     {$71}                
 6866 | 27                  guard_lc.s    186 | Code        | 11 |         |    2 | 00/DA7A : 10 03       |                          BPL     _gdiDyP              
 6867 | 27                  guard_lc.s    187 | Code        | 11 |         |    2 | 00/DA7C : 49 FF       |                          EOR     #$FF                 
 6868 | 27                  guard_lc.s    188 | Code        | 11 |         |    1 | 00/DA7E : 1A          |                          INC                          
 6869 | 27                  guard_lc.s    189 | Code        | 11 |         |    2 | 00/DA7F : C9 08       | _gdiDyP                  CMP     #8                   
 6870 | 27                  guard_lc.s    190 | Code        | 11 |         |    2 | 00/DA81 : 90 4C       |                          BCC     _gdiWander           ; |dy| < 8 and no LoS -> wander
 6871 | 27                  guard_lc.s    191 | Comment     | 11 |         |    0 | 00/DA83               | * HEARING (|dy| < 24, ~4 tile rows): skip wrong-turn roll so guard
 6872 | 27                  guard_lc.s    192 | Comment     | 11 |         |    0 | 00/DA83               | * always commits to a candidate ladder. Beyond that range the guard
 6873 | 27                  guard_lc.s    193 | Comment     | 11 |         |    0 | 00/DA83               | * is in pure WANDER and may skip ladders 1-in-4 for pathing gaps.
 6874 | 27                  guard_lc.s    194 | Code        | 11 |         |    2 | 00/DA83 : C9 18       |                          CMP     #24                  
 6875 | 27                  guard_lc.s    195 | Code        | 11 |         |    2 | 00/DA85 : 90 07       |                          BCC     _gdiTryLad           
 6876 | 27                  guard_lc.s    196 | Code        | 11 |         |    3 | 00/DA87 : AD A9 11    |                          LDA     GuardRng             
 6877 | 27                  guard_lc.s    197 | Code        | 11 |         |    2 | 00/DA8A : 29 03       |                          AND     #$03                 
 6878 | 27                  guard_lc.s    198 | Code        | 11 |         |    2 | 00/DA8C : F0 41       |                          BEQ     _gdiWander           
 6879 | 27                  guard_lc.s    199 | Empty       | 11 |         |    0 | 00/DA8E               | _gdiTryLad                                            
 6880 | 27                  guard_lc.s    200 | Comment     | 11 |         |    0 | 00/DA8E               | * |dy| >= 8 - try the ladder that reduces |dy|. If only the opposite
 6881 | 27                  guard_lc.s    201 | Comment     | 11 |         |    0 | 00/DA8E               | * ladder is available, wander instead - don't commit to climbing
 6882 | 27                  guard_lc.s    202 | Comment     | 11 |         |    0 | 00/DA8E               | * away from the player (hearing/LoS already picked this branch).
 6883 | 27                  guard_lc.s    203 | Code        | 11 |         |    3 | 00/DA8E : BD 8B 11    |                          LDA     GuardTblY,X          
 6884 | 27                  guard_lc.s    204 | Code        | 11 |         |    2 | 00/DA91 : C5 71       |                          CMP     {$71}                
 6885 | 27                  guard_lc.s    205 | Code        | 11 |         |    2 | 00/DA93 : 90 08       |                          BCC     _gdiTryDn1           ; guard above player -> climb down
 6886 | 27                  guard_lc.s    206 | Comment     | 11 |         |    0 | 00/DA95               | * Guard below player: climb up
 6887 | 27                  guard_lc.s    207 | Code        | 11 |         |    3 | 00/DA95 : 20 EE DD    |                          JSR     EntCanClimbUp        
 6888 | 27                  guard_lc.s    208 | Code        | 11 |         |    2 | 00/DA98 : D0 0B       |                          BNE     _gdiLadUp            
 6889 | 27                  guard_lc.s    209 | Code        | 11 |         |    3 | 00/DA9A : 4C CF DA    |                          JMP     _gdiWander           
 6890 | 27                  guard_lc.s    210 | Empty       | 11 |         |    0 | 00/DA9D               | _gdiTryDn1                                            
 6891 | 27                  guard_lc.s    211 | Code        | 11 |         |    3 | 00/DA9D : 20 FB DD    |                          JSR     EntCanClimbDown      
 6892 | 27                  guard_lc.s    212 | Code        | 11 |         |    2 | 00/DAA0 : D0 17       |                          BNE     _gdiLadDn            
 6893 | 27                  guard_lc.s    213 | Code        | 11 |         |    3 | 00/DAA2 : 4C CF DA    |                          JMP     _gdiWander           
 6894 | 27                  guard_lc.s    214 | Empty       | 11 |         |    0 | 00/DAA5               | _gdiLadUp                                             
 6895 | 27                  guard_lc.s    215 | Code        | 11 |         |    2 | 00/DAA5 : A6 F4       |                          LDX     {$F4}                
 6896 | 27                  guard_lc.s    216 | Code        | 11 |         |    3 | 00/DAA7 : 9E 94 11    |                          STZ     GuardTblDir,X        ; 0 = up
 6897 | 27                  guard_lc.s    217 | Code        | 11 |         |    2 | 00/DAAA : A9 05       |                          LDA     #{5}                 
 6898 | 27                  guard_lc.s    218 | Code        | 11 |         |    3 | 00/DAAC : 9D 91 11    |                          STA     GuardTblSt,X         
 6899 | 27                  guard_lc.s    219 | Code        | 11 |         |    2 | 00/DAAF : A5 F7       |                          LDA     {$F7}                ; remember entry Y so _GuardAtLanding
 6900 | 27                  guard_lc.s    220 | Code        | 11 |         |    3 | 00/DAB1 : 9D B0 11    |                          STA     GuardClimbEntryY,X   ; won't exit onto the same landing
 6901 | 27                  guard_lc.s    221 | Code        | 11 |         |    2 | 00/DAB4 : A9 04       |                          LDA     #{$04}               
 6902 | 27                  guard_lc.s    222 | Code        | 11 |         |    3 | 00/DAB6 : 4C 3F DB    |                          JMP     _gdiSet              
 6903 | 27                  guard_lc.s    223 | Empty       | 11 |         |    0 | 00/DAB9               | _gdiLadDn                                             
 6904 | 27                  guard_lc.s    224 | Code        | 11 |         |    2 | 00/DAB9 : A6 F4       |                          LDX     {$F4}                
 6905 | 27                  guard_lc.s    225 | Code        | 11 |         |    2 | 00/DABB : A9 01       |                          LDA     #1                   
 6906 | 27                  guard_lc.s    226 | Code        | 11 |         |    3 | 00/DABD : 9D 94 11    |                          STA     GuardTblDir,X        ; 1 = down
 6907 | 27                  guard_lc.s    227 | Code        | 11 |         |    2 | 00/DAC0 : A9 05       |                          LDA     #{5}                 
 6908 | 27                  guard_lc.s    228 | Code        | 11 |         |    3 | 00/DAC2 : 9D 91 11    |                          STA     GuardTblSt,X         
 6909 | 27                  guard_lc.s    229 | Code        | 11 |         |    2 | 00/DAC5 : A5 F7       |                          LDA     {$F7}                
 6910 | 27                  guard_lc.s    230 | Code        | 11 |         |    3 | 00/DAC7 : 9D B0 11    |                          STA     GuardClimbEntryY,X   
 6911 | 27                  guard_lc.s    231 | Code        | 11 |         |    2 | 00/DACA : A9 08       |                          LDA     #{$08}               
 6912 | 27                  guard_lc.s    232 | Code        | 11 |         |    3 | 00/DACC : 4C 3F DB    |                          JMP     _gdiSet              
 6913 | 27                  guard_lc.s    233 | Empty       | 11 |         |    0 | 00/DACF               | _gdiWander                                            
 6914 | 27                  guard_lc.s    234 | Code        | 11 |         |    2 | 00/DACF : A6 F4       |                          LDX     {$F4}                
 6915 | 27                  guard_lc.s    235 | Comment     | 11 |         |    0 | 00/DAD1               | * Hearing bias: when on the player's map and |dy| is within the
 6916 | 27                  guard_lc.s    236 | Comment     | 11 |         |    0 | 00/DAD1               | * hearing window (<24), face toward the player's X. Suppressed when
 6917 | 27                  guard_lc.s    237 | Comment     | 11 |         |    0 | 00/DAD1               | * handler signaled blocked - :gdiWBlk below will flip off the wall.
 6918 | 27                  guard_lc.s    238 | Code        | 11 |         |    3 | 00/DAD1 : BD A6 11    |                          LDA     GuardBlocked,X       
 6919 | 27                  guard_lc.s    239 | Code        | 11 |         |    2 | 00/DAD4 : D0 23       |                          BNE     _gdiWDemote          
 6920 | 27                  guard_lc.s    240 | Code        | 11 |         |    3 | 00/DAD6 : BD 8E 11    |                          LDA     GuardTblMap,X        
 6921 | 27                  guard_lc.s    241 | Code        | 11 |         |    2 | 00/DAD9 : C5 1C       |                          CMP     {$1C}                
 6922 | 27                  guard_lc.s    242 | Code        | 11 |         |    2 | 00/DADB : D0 1C       |                          BNE     _gdiWDemote          
 6923 | 27                  guard_lc.s    243 | Code        | 11 |         |    3 | 00/DADD : BD 8B 11    |                          LDA     GuardTblY,X          
 6924 | 27                  guard_lc.s    244 | Code        | 11 |         |    1 | 00/DAE0 : 38          |                          SEC                          
 6925 | 27                  guard_lc.s    245 | Code        | 11 |         |    2 | 00/DAE1 : E5 71       |                          SBC     {$71}                
 6926 | 27                  guard_lc.s    246 | Code        | 11 |         |    2 | 00/DAE3 : 10 03       |                          BPL     _gdiWHDyP            
 6927 | 27                  guard_lc.s    247 | Code        | 11 |         |    2 | 00/DAE5 : 49 FF       |                          EOR     #$FF                 
 6928 | 27                  guard_lc.s    248 | Code        | 11 |         |    1 | 00/DAE7 : 1A          |                          INC                          
 6929 | 27                  guard_lc.s    249 | Code        | 11 |         |    2 | 00/DAE8 : C9 18       | _gdiWHDyP                CMP     #24                  
 6930 | 27                  guard_lc.s    250 | Code        | 11 |         |    2 | 00/DAEA : B0 0D       |                          BCS     _gdiWDemote          
 6931 | 27                  guard_lc.s    251 | Code        | 11 |         |    2 | 00/DAEC : A5 F6       |                          LDA     {$F6}                
 6932 | 27                  guard_lc.s    252 | Code        | 11 |         |    2 | 00/DAEE : C5 70       |                          CMP     {$70}                
 6933 | 27                  guard_lc.s    253 | Code        | 11 |         |    2 | 00/DAF0 : A9 00       |                          LDA     #0                   ; right
 6934 | 27                  guard_lc.s    254 | Code        | 11 |         |    2 | 00/DAF2 : 90 02       |                          BCC     _gdiWHSet            
 6935 | 27                  guard_lc.s    255 | Code        | 11 |         |    2 | 00/DAF4 : A9 01       |                          LDA     #1                   ; left
 6936 | 27                  guard_lc.s    256 | Code        | 11 |         |    3 | 00/DAF6 : 9D 94 11    | _gdiWHSet                STA     GuardTblDir,X        
 6937 | 27                  guard_lc.s    257 | Empty       | 11 |         |    0 | 00/DAF9               | _gdiWDemote                                           
 6938 | 27                  guard_lc.s    258 | Comment     | 11 |         |    0 | 00/DAF9               | * Demote PURSUIT -> WANDER (we took the no-ladder path)
 6939 | 27                  guard_lc.s    259 | Code        | 11 |         |    3 | 00/DAF9 : BD 91 11    |                          LDA     GuardTblSt,X         
 6940 | 27                  guard_lc.s    260 | Code        | 11 |         |    2 | 00/DAFC : C9 01       |                          CMP     #{1}                 
 6941 | 27                  guard_lc.s    261 | Code        | 11 |         |    2 | 00/DAFE : D0 05       |                          BNE     _gdiWBlk             
 6942 | 27                  guard_lc.s    262 | Code        | 11 |         |    2 | 00/DB00 : A9 00       |                          LDA     #{0}                 
 6943 | 27                  guard_lc.s    263 | Code        | 11 |         |    3 | 00/DB02 : 9D 91 11    |                          STA     GuardTblSt,X         
 6944 | 27                  guard_lc.s    264 | Code        | 11 |         |    3 | 00/DB05 : BD A6 11    | _gdiWBlk                 LDA     GuardBlocked,X       
 6945 | 27                  guard_lc.s    265 | Code        | 11 |         |    2 | 00/DB08 : F0 0B       |                          BEQ     _gdiWDir             
 6946 | 27                  guard_lc.s    266 | Code        | 11 |         |    3 | 00/DB0A : 9E A6 11    |                          STZ     GuardBlocked,X       
 6947 | 27                  guard_lc.s    267 | Code        | 11 |         |    3 | 00/DB0D : BD 94 11    |                          LDA     GuardTblDir,X        
 6948 | 27                  guard_lc.s    268 | Code        | 11 |         |    2 | 00/DB10 : 49 01       |                          EOR     #1                   
 6949 | 27                  guard_lc.s    269 | Code        | 11 |         |    3 | 00/DB12 : 9D 94 11    |                          STA     GuardTblDir,X        
 6950 | 27                  guard_lc.s    270 | Code        | 11 |         |    3 | 00/DB15 : BD 94 11    | _gdiWDir                 LDA     GuardTblDir,X        
 6951 | 27                  guard_lc.s    271 | Code        | 11 |         |    2 | 00/DB18 : D0 04       |                          BNE     _gdiHL               
 6952 | 27                  guard_lc.s    272 | Code        | 11 |         |    2 | 00/DB1A : A9 01       |                          LDA     #{$01}               
 6953 | 27                  guard_lc.s    273 | Code        | 11 |         |    2 | 00/DB1C : 80 21       |                          BRA     _gdiSet              
 6954 | 27                  guard_lc.s    274 | Code        | 11 |         |    2 | 00/DB1E : A9 02       | _gdiHL                   LDA     #{$02}               
 6955 | 27                  guard_lc.s    275 | Code        | 11 |         |    2 | 00/DB20 : 80 1D       |                          BRA     _gdiSet              
 6956 | 27                  guard_lc.s    276 | Empty       | 11 |         |    0 | 00/DB22               |                                                       
 6957 | 27                  guard_lc.s    277 | Empty       | 11 |         |    0 | 00/DB22               | _gdiClimb                                             
 6958 | 27                  guard_lc.s    278 | Comment     | 11 |         |    0 | 00/DB22               | * In CLIMB state. Dual-input: vertical (committed Dir) + sideways
 6959 | 27                  guard_lc.s    279 | Comment     | 11 |         |    0 | 00/DB22               | * (toward player). Handler tries vertical first; at ladder
 6960 | 27                  guard_lc.s    280 | Comment     | 11 |         |    0 | 00/DB22               | * extremities, falls through to sideways exit.
 6961 | 27                  guard_lc.s    281 | Code        | 11 |         |    3 | 00/DB22 : BD 94 11    |                          LDA     GuardTblDir,X        
 6962 | 27                  guard_lc.s    282 | Code        | 11 |         |    2 | 00/DB25 : D0 04       |                          BNE     _gdiVD               
 6963 | 27                  guard_lc.s    283 | Code        | 11 |         |    2 | 00/DB27 : A9 04       |                          LDA     #{$04}               
 6964 | 27                  guard_lc.s    284 | Code        | 11 |         |    2 | 00/DB29 : 80 02       |                          BRA     _gdiCSide            
 6965 | 27                  guard_lc.s    285 | Code        | 11 |         |    2 | 00/DB2B : A9 08       | _gdiVD                   LDA     #{$08}               
 6966 | 27                  guard_lc.s    286 | Code        | 11 |         |    3 | 00/DB2D : 9D A3 11    | _gdiCSide                STA     GuardTblInp,X        ; store vertical bit
 6967 | 27                  guard_lc.s    287 | Code        | 11 |         |    2 | 00/DB30 : A5 70       |                          LDA     {$70}                
 6968 | 27                  guard_lc.s    288 | Code        | 11 |         |    2 | 00/DB32 : C5 F6       |                          CMP     {$F6}                
 6969 | 27                  guard_lc.s    289 | Code        | 11 |         |    2 | 00/DB34 : A9 02       |                          LDA     #{$02}               
 6970 | 27                  guard_lc.s    290 | Code        | 11 |         |    2 | 00/DB36 : 90 02       |                          BCC     _gdiCOr              
 6971 | 27                  guard_lc.s    291 | Code        | 11 |         |    2 | 00/DB38 : A9 01       |                          LDA     #{$01}               
 6972 | 27                  guard_lc.s    292 | Code        | 11 |         |    3 | 00/DB3A : 1D A3 11    | _gdiCOr                  ORA     GuardTblInp,X        
 6973 | 27                  guard_lc.s    293 | Code        | 11 |         |    2 | 00/DB3D : 80 00       |                          BRA     _gdiSet              
 6974 | 27                  guard_lc.s    294 | Code        | 11 |         |    3 | 00/DB3F : 9D A3 11    | _gdiSet                  STA     GuardTblInp,X        
 6975 | 27                  guard_lc.s    295 | Code        | 11 |         |    1 | 00/DB42 : 60          | _gdiRts                  RTS                          
 6976 | 27                  guard_lc.s    296 | Empty       | 11 |         |    0 | 00/DB43               |                                                       
 6977 | 27                  guard_lc.s    297 | Comment     | 11 |         |    0 | 00/DB43               | *----------------------------------------------
 6978 | 27                  guard_lc.s    298 | Comment     | 11 |         |    0 | 00/DB43               | * GuardWander - Horizontal patrol driven by AI input
 6979 | 27                  guard_lc.s    299 | Comment     | 11 |         |    0 | 00/DB43               | *
 6980 | 27                  guard_lc.s    300 | Comment     | 11 |         |    0 | 00/DB43               | * Direction read from GuardTblInp; GuardTblDir is kept in sync by
 6981 | 27                  guard_lc.s    301 | Comment     | 11 |         |    0 | 00/DB43               | * the AI (GuardDecideInputs WANDER branch) using the blocked flag.
 6982 | 27                  guard_lc.s    302 | Comment     | 11 |         |    0 | 00/DB43               | * Handler signals GuardBlocked on walls/ledges/elevator shafts.
 6983 | 27                  guard_lc.s    303 | Comment     | 11 |         |    0 | 00/DB43               | *----------------------------------------------
 6984 | 27                  guard_lc.s    304 | Empty       | 11 |         |    0 | 00/DB43               | GuardWander                                           
 6985 | 27                  guard_lc.s    305 | Code        | 11 |         |    2 | 00/DB43 : A6 F4       |                          LDX     {$F4}                
 6986 | 27                  guard_lc.s    306 | Comment     | 11 |         |    0 | 00/DB45               | * Ambush hold: freshly exited a ladder or elevator? Wait a beat
 6987 | 27                  guard_lc.s    307 | Comment     | 11 |         |    0 | 00/DB45               | * so the player can see the guard and decide what to do.
 6988 | 27                  guard_lc.s    308 | Code        | 11 |         |    3 | 00/DB45 : BD AD 11    |                          LDA     GuardWaitTmr,X       
 6989 | 27                  guard_lc.s    309 | Code        | 11 |         |    2 | 00/DB48 : F0 04       |                          BEQ     _gwActive            
 6990 | 27                  guard_lc.s    310 | Code        | 11 |         |    3 | 00/DB4A : DE AD 11    |                          DEC     GuardWaitTmr,X       
 6991 | 27                  guard_lc.s    311 | Code        | 11 |         |    1 | 00/DB4D : 60          |                          RTS                          
 6992 | 27                  guard_lc.s    312 | Empty       | 11 |         |    0 | 00/DB4E               | _gwActive                                             
 6993 | 27                  guard_lc.s    313 | Comment     | 11 |         |    0 | 00/DB4E               | * Fractional speed: add base speed to accumulator
 6994 | 27                  guard_lc.s    314 | Code        | 11 |         |    1 | 00/DB4E : 18          |                          CLC                          
 6995 | 27                  guard_lc.s    315 | Code        | 11 |         |    3 | 00/DB4F : BD A0 11    |                          LDA     GuardSpeedAcc,X      
 6996 | 27                  guard_lc.s    316 | Code        | 11 |         |    3 | 00/DB52 : 6D CA 11    |                          ADC     GuardBaseSpeed       
 6997 | 27                  guard_lc.s    317 | Code        | 11 |         |    3 | 00/DB55 : 9D A0 11    |                          STA     GuardSpeedAcc,X      
 6998 | 27                  guard_lc.s    318 | Code        | 11 |         |    2 | 00/DB58 : B0 01       |                          BCS     _gwMove              ; overflow = move this frame
 6999 | 27                  guard_lc.s    319 | Code        | 11 |         |    1 | 00/DB5A : 60          |                          RTS                          ; no movement this frame
 7000 | 27                  guard_lc.s    320 | Empty       | 11 |         |    0 | 00/DB5B               | _gwMove                                               
 7001 | 27                  guard_lc.s    321 | Comment     | 11 |         |    0 | 00/DB5B               | * Check direction (from AI-supplied input)
 7002 | 27                  guard_lc.s    322 | Code        | 11 |         |    3 | 00/DB5B : BD A3 11    |                          LDA     GuardTblInp,X        
 7003 | 27                  guard_lc.s    323 | Code        | 11 |         |    2 | 00/DB5E : 29 02       |                          AND     #{$02}               
 7004 | 27                  guard_lc.s    324 | Code        | 11 |         |    2 | 00/DB60 : D0 11       |                          BNE     _gwLeft              
 7005 | 27                  guard_lc.s    325 | Comment     | 11 |         |    0 | 00/DB62               | * Move right. EntWalkRightComplete handles walkable + slope step-up +
 7006 | 27                  guard_lc.s    326 | Comment     | 11 |         |    0 | 00/DB62               | * ground/elev + snap; returns C=1 on success, C=0 on wall/cliff.
 7007 | 27                  guard_lc.s    327 | Code        | 11 |         |    2 | 00/DB62 : A5 F6       |                          LDA     {$F6}                
 7008 | 27                  guard_lc.s    328 | Code        | 11 |         |    2 | 00/DB64 : C9 80       |                          CMP     #{128}               
 7009 | 27                  guard_lc.s    329 | Code        | 11 |         |    2 | 00/DB66 : B0 1A       |                          BCS     _gwReverse           
 7010 | 27                  guard_lc.s    330 | Code        | 11 |         |    2 | 00/DB68 : E6 F6       |                          INC     {$F6}                
 7011 | 27                  guard_lc.s    331 | Code        | 11 |         |    3 | 00/DB6A : 20 93 13    |                          JSR     EntWalkRightComplete 
 7012 | 27                  guard_lc.s    332 | Code        | 11 |         |    2 | 00/DB6D : B0 1A       |                          BCS     _gwAnimate           
 7013 | 27                  guard_lc.s    333 | Code        | 11 |         |    2 | 00/DB6F : C6 F6       |                          DEC     {$F6}                ; undo move
 7014 | 27                  guard_lc.s    334 | Code        | 11 |         |    2 | 00/DB71 : 80 0F       |                          BRA     _gwReverse           
 7015 | 27                  guard_lc.s    335 | Empty       | 11 |         |    0 | 00/DB73               |                                                       
 7016 | 27                  guard_lc.s    336 | Empty       | 11 |         |    0 | 00/DB73               | _gwLeft                                               
 7017 | 27                  guard_lc.s    337 | Code        | 11 |         |    2 | 00/DB73 : A5 F6       |                          LDA     {$F6}                
 7018 | 27                  guard_lc.s    338 | Code        | 11 |         |    2 | 00/DB75 : C9 16       |                          CMP     #{21}+1              
 7019 | 27                  guard_lc.s    339 | Code        | 11 |         |    2 | 00/DB77 : 90 09       |                          BCC     _gwReverse           
 7020 | 27                  guard_lc.s    340 | Code        | 11 |         |    2 | 00/DB79 : C6 F6       |                          DEC     {$F6}                
 7021 | 27                  guard_lc.s    341 | Code        | 11 |         |    3 | 00/DB7B : 20 A9 13    |                          JSR     EntWalkLeftComplete  
 7022 | 27                  guard_lc.s    342 | Code        | 11 |         |    2 | 00/DB7E : B0 09       |                          BCS     _gwAnimate           
 7023 | 27                  guard_lc.s    343 | Code        | 11 |         |    2 | 00/DB80 : E6 F6       |                          INC     {$F6}                ; undo move
 7024 | 27                  guard_lc.s    344 | Empty       | 11 |         |    0 | 00/DB82               | _gwReverse                                            
 7025 | 27                  guard_lc.s    345 | Code        | 11 |         |    2 | 00/DB82 : A6 F4       |                          LDX     {$F4}                
 7026 | 27                  guard_lc.s    346 | Code        | 11 |         |    2 | 00/DB84 : A9 01       |                          LDA     #1                   
 7027 | 27                  guard_lc.s    347 | Code        | 11 |         |    3 | 00/DB86 : 9D A6 11    |                          STA     GuardBlocked,X       ; signal AI: move failed (AI flips dir)
 7028 | 27                  guard_lc.s    348 | Empty       | 11 |         |    0 | 00/DB89               | _gwAnimate                                            
 7029 | 27                  guard_lc.s    349 | Code        | 11 |         |    3 | 00/DB89 : 4C 60 12    |                          JMP     GuardWalkAnim        
 7030 | 27                  guard_lc.s    350 | Empty       | 11 |         |    0 | 00/DB8C               |                                                       
 7031 | 27                  guard_lc.s    351 | Comment     | 11 |         |    0 | 00/DB8C               | *----------------------------------------------
 7032 | 27                  guard_lc.s    352 | Comment     | 11 |         |    0 | 00/DB8C               | * GuardFall - Guard falling through air
 7033 | 27                  guard_lc.s    353 | Comment     | 11 |         |    0 | 00/DB8C               | *
 7034 | 27                  guard_lc.s    354 | Comment     | 11 |         |    0 | 00/DB8C               | * Increments EntY each frame. On landing, enters stun state.
 7035 | 27                  guard_lc.s    355 | Comment     | 11 |         |    0 | 00/DB8C               | *----------------------------------------------
 7036 | 27                  guard_lc.s    356 | Empty       | 11 |         |    0 | 00/DB8C               | GuardFall                                             
 7037 | 27                  guard_lc.s    357 | Code        | 11 |         |    2 | 00/DB8C : A5 F7       |                          LDA     {$F7}                
 7038 | 27                  guard_lc.s    358 | Code        | 11 |         |    2 | 00/DB8E : C9 BA       |                          CMP     #{186}               
 7039 | 27                  guard_lc.s    359 | Code        | 11 |         |    2 | 00/DB90 : B0 25       |                          BCS     _gfBottom            ; hit screen bottom
 7040 | 27                  guard_lc.s    360 | Code        | 11 |         |    2 | 00/DB92 : E6 F7       |                          INC     {$F7}                
 7041 | 27                  guard_lc.s    361 | Code        | 11 |         |    3 | 00/DB94 : 20 75 DD    |                          JSR     EntCheckGround       
 7042 | 27                  guard_lc.s    362 | Code        | 11 |         |    2 | 00/DB97 : F0 16       |                          BEQ     _gfKeep              ; still falling
 7043 | 27                  guard_lc.s    363 | Comment     | 11 |         |    0 | 00/DB99               | * Landed - snap to ground and enter stun
 7044 | 27                  guard_lc.s    364 | Code        | 11 |         |    3 | 00/DB99 : 20 82 DD    |                          JSR     EntSnapToGround      
 7045 | 27                  guard_lc.s    365 | Code        | 11 |         |    2 | 00/DB9C : A6 F4       |                          LDX     {$F4}                
 7046 | 27                  guard_lc.s    366 | Code        | 11 |         |    2 | 00/DB9E : A9 03       |                          LDA     #{3}                 
 7047 | 27                  guard_lc.s    367 | Code        | 11 |         |    3 | 00/DBA0 : 9D 91 11    |                          STA     GuardTblSt,X         
 7048 | 27                  guard_lc.s    368 | Code        | 11 |         |    3 | 00/DBA3 : AD CB 11    |                          LDA     StunDuration         
 7049 | 27                  guard_lc.s    369 | Code        | 11 |         |    3 | 00/DBA6 : 9D 9D 11    |                          STA     GuardStunTmr,X       
 7050 | 27                  guard_lc.s    370 | Code        | 11 |         |    2 | 00/DBA9 : A9 2C       |                          LDA     #{44}                
 7051 | 27                  guard_lc.s    371 | Code        | 11 |         |    3 | 00/DBAB : 9D 97 11    |                          STA     GuardTblFr,X         
 7052 | 27                  guard_lc.s    372 | Code        | 11 |         |    1 | 00/DBAE : 60          |                          RTS                          
 7053 | 27                  guard_lc.s    373 | Empty       | 11 |         |    0 | 00/DBAF               | _gfKeep                                               
 7054 | 27                  guard_lc.s    374 | Code        | 11 |         |    2 | 00/DBAF : A6 F4       |                          LDX     {$F4}                
 7055 | 27                  guard_lc.s    375 | Code        | 11 |         |    2 | 00/DBB1 : A9 2C       |                          LDA     #{44}                
 7056 | 27                  guard_lc.s    376 | Code        | 11 |         |    3 | 00/DBB3 : 9D 97 11    |                          STA     GuardTblFr,X         
 7057 | 27                  guard_lc.s    377 | Code        | 11 |         |    1 | 00/DBB6 : 60          |                          RTS                          
 7058 | 27                  guard_lc.s    378 | Empty       | 11 |         |    0 | 00/DBB7               | _gfBottom                                             
 7059 | 27                  guard_lc.s    379 | Code        | 11 |         |    2 | 00/DBB7 : A9 BA       |                          LDA     #{186}               
 7060 | 27                  guard_lc.s    380 | Code        | 11 |         |    2 | 00/DBB9 : 85 F7       |                          STA     {$F7}                
 7061 | 27                  guard_lc.s    381 | Code        | 11 |         |    2 | 00/DBBB : A6 F4       |                          LDX     {$F4}                
 7062 | 27                  guard_lc.s    382 | Code        | 11 |         |    2 | 00/DBBD : A9 03       |                          LDA     #{3}                 
 7063 | 27                  guard_lc.s    383 | Code        | 11 |         |    3 | 00/DBBF : 9D 91 11    |                          STA     GuardTblSt,X         
 7064 | 27                  guard_lc.s    384 | Code        | 11 |         |    3 | 00/DBC2 : AD CB 11    |                          LDA     StunDuration         
 7065 | 27                  guard_lc.s    385 | Code        | 11 |         |    3 | 00/DBC5 : 9D 9D 11    |                          STA     GuardStunTmr,X       
 7066 | 27                  guard_lc.s    386 | Code        | 11 |         |    2 | 00/DBC8 : A9 2C       |                          LDA     #{44}                
 7067 | 27                  guard_lc.s    387 | Code        | 11 |         |    3 | 00/DBCA : 9D 97 11    |                          STA     GuardTblFr,X         
 7068 | 27                  guard_lc.s    388 | Code        | 11 |         |    1 | 00/DBCD : 60          |                          RTS                          
 7069 | 27                  guard_lc.s    389 | Empty       | 11 |         |    0 | 00/DBCE               |                                                       
 7070 | 27                  guard_lc.s    390 | Comment     | 11 |         |    0 | 00/DBCE               | * GuardStun moved to guard_data.s ($1800 block) to free LC space
 7071 | 27                  guard_lc.s    391 | Comment     | 11 |         |    0 | 00/DBCE               | * and gain room for the post-stun re-orient window.
 7072 | 27                  guard_lc.s    392 | Empty       | 11 |         |    0 | 00/DBCE               |                                                       
 7073 | 27                  guard_lc.s    393 | Comment     | 11 |         |    0 | 00/DBCE               | * GuardWalkAnim moved to guard_data.s ($1800 block) to free LC
 7074 | 27                  guard_lc.s    394 | Comment     | 11 |         |    0 | 00/DBCE               | * space for landing-aware climb logic.
 7075 | 27                  guard_lc.s    395 | Empty       | 11 |         |    0 | 00/DBCE               |                                                       
 7076 | 27                  guard_lc.s    396 | Comment     | 11 |         |    0 | 00/DBCE               | *----------------------------------------------
 7077 | 27                  guard_lc.s    397 | Comment     | 11 |         |    0 | 00/DBCE               | * GuardClimb - Input-driven ladder climb (mirrors player DoClimb)
 7078 | 27                  guard_lc.s    398 | Comment     | 11 |         |    0 | 00/DBCE               | *
 7079 | 27                  guard_lc.s    399 | Comment     | 11 |         |    0 | 00/DBCE               | * INP_UP   -> DEC EntY if still on ladder
 7080 | 27                  guard_lc.s    400 | Comment     | 11 |         |    0 | 00/DBCE               | * INP_DOWN -> INC EntY; land if ground appears, fall if nothing below
 7081 | 27                  guard_lc.s    401 | Comment     | 11 |         |    0 | 00/DBCE               | * INP_L/R (no vert) -> sideways exit if walkable + ground
 7082 | 27                  guard_lc.s    402 | Comment     | 11 |         |    0 | 00/DBCE               | * No input -> stay on ladder (stop climbing)
 7083 | 27                  guard_lc.s    403 | Comment     | 11 |         |    0 | 00/DBCE               | *----------------------------------------------
 7084 | 27                  guard_lc.s    404 | Empty       | 11 |         |    0 | 00/DBCE               | GuardClimb                                            
 7085 | 27                  guard_lc.s    405 | Comment     | 11 |         |    0 | 00/DBCE               | * Fractional speed gate: climb at the same rate as walk so the
 7086 | 27                  guard_lc.s    406 | Comment     | 11 |         |    0 | 00/DBCE               | * GuardBaseSpeed score-tier scaling applies on ladders too.
 7087 | 27                  guard_lc.s    407 | Code        | 11 |         |    2 | 00/DBCE : A6 F4       |                          LDX     {$F4}                
 7088 | 27                  guard_lc.s    408 | Code        | 11 |         |    1 | 00/DBD0 : 18          |                          CLC                          
 7089 | 27                  guard_lc.s    409 | Code        | 11 |         |    3 | 00/DBD1 : BD A0 11    |                          LDA     GuardSpeedAcc,X      
 7090 | 27                  guard_lc.s    410 | Code        | 11 |         |    3 | 00/DBD4 : 6D CA 11    |                          ADC     GuardBaseSpeed       
 7091 | 27                  guard_lc.s    411 | Code        | 11 |         |    3 | 00/DBD7 : 9D A0 11    |                          STA     GuardSpeedAcc,X      
 7092 | 27                  guard_lc.s    412 | Code        | 11 |         |    2 | 00/DBDA : B0 01       |                          BCS     _gcGo                ; overflow -> move this frame
 7093 | 27                  guard_lc.s    413 | Code        | 11 |         |    1 | 00/DBDC : 60          |                          RTS                          ; no movement this frame
 7094 | 27                  guard_lc.s    414 | Empty       | 11 |         |    0 | 00/DBDD               | _gcGo                                                 
 7095 | 27                  guard_lc.s    415 | Comment     | 11 |         |    0 | 00/DBDD               | * Landing-aware exit: when the guard is passing a landing on the
 7096 | 27                  guard_lc.s    416 | Comment     | 11 |         |    0 | 00/DBDD               | * player-facing side, jump into the existing :gcNoVert sideways
 7097 | 27                  guard_lc.s    417 | Comment     | 11 |         |    0 | 00/DBDD               | * exit code instead of riding the ladder to the top or bottom.
 7098 | 27                  guard_lc.s    418 | Comment     | 11 |         |    0 | 00/DBDD               | * LDX GuardIdx restores X after _GuardAtLanding clobbers it via
 7099 | 27                  guard_lc.s    419 | Comment     | 11 |         |    0 | 00/DBDD               | * the EntCheckWalkable calls; C carries the landing verdict.
 7100 | 27                  guard_lc.s    420 | Code        | 11 |         |    3 | 00/DBDD : 20 00 D0    |                          JSR     _GuardAtLanding      
 7101 | 27                  guard_lc.s    421 | Code        | 11 |         |    2 | 00/DBE0 : A6 F4       |                          LDX     {$F4}                
 7102 | 27                  guard_lc.s    422 | Code        | 11 |         |    2 | 00/DBE2 : 90 03       |                          BCC     _gcVert              
 7103 | 27                  guard_lc.s    423 | Code        | 11 |         |    3 | 00/DBE4 : 4C 85 DC    |                          JMP     _gcNoVert            
 7104 | 27                  guard_lc.s    424 | Code        | 11 |         |    3 | 00/DBE7 : BD A3 11    | _gcVert                  LDA     GuardTblInp,X        
 7105 | 27                  guard_lc.s    425 | Code        | 11 |         |    2 | 00/DBEA : 29 04       |                          AND     #{$04}               
 7106 | 27                  guard_lc.s    426 | Code        | 11 |         |    2 | 00/DBEC : F0 58       |                          BEQ     _gcNotUp             
 7107 | 27                  guard_lc.s    427 | Comment     | 11 |         |    0 | 00/DBEE               | * Climb up - check ladder at mid-sprite (same as player DoClimb)
 7108 | 27                  guard_lc.s    428 | Code        | 11 |         |    2 | 00/DBEE : A5 F7       |                          LDA     {$F7}                
 7109 | 27                  guard_lc.s    429 | Code        | 11 |         |    2 | 00/DBF0 : C9 01       |                          CMP     #{0}+1               
 7110 | 27                  guard_lc.s    430 | Code        | 11 |         |    2 | 00/DBF2 : 90 28       |                          BCC     _gcStop              
 7111 | 27                  guard_lc.s    431 | Code        | 11 |         |    2 | 00/DBF4 : C6 F7       |                          DEC     {$F7}                
 7112 | 27                  guard_lc.s    432 | Code        | 11 |         |    3 | 00/DBF6 : 20 2E DD    |                          JSR     EntCheckOnLadder     
 7113 | 27                  guard_lc.s    433 | Code        | 11 |         |    2 | 00/DBF9 : D0 07       |                          BNE     _gcMoved             
 7114 | 27                  guard_lc.s    434 | Code        | 11 |         |    2 | 00/DBFB : E6 F7       |                          INC     {$F7}                ; past ladder top, undo
 7115 | 27                  guard_lc.s    435 | Code        | 11 |         |    2 | 00/DBFD : A6 F4       |                          LDX     {$F4}                ; EntCheckOnLadder clobbers X
 7116 | 27                  guard_lc.s    436 | Code        | 11 |         |    3 | 00/DBFF : 4C 85 DC    |                          JMP     _gcNoVert            ; try sideways exit
 7117 | 27                  guard_lc.s    437 | Empty       | 11 |         |    0 | 00/DC02               |                                                       
 7118 | 27                  guard_lc.s    438 | Empty       | 11 |         |    0 | 00/DC02               | _gcMoved                                              
 7119 | 27                  guard_lc.s    439 | Comment     | 11 |         |    0 | 00/DC02               | * Successful climb move: animate 2-frame cycle
 7120 | 27                  guard_lc.s    440 | Code        | 11 |         |    2 | 00/DC02 : A6 F4       |                          LDX     {$F4}                
 7121 | 27                  guard_lc.s    441 | Code        | 11 |         |    3 | 00/DC04 : FE 9A 11    |                          INC     GuardTblAnim,X       
 7122 | 27                  guard_lc.s    442 | Code        | 11 |         |    3 | 00/DC07 : BD 9A 11    |                          LDA     GuardTblAnim,X       
 7123 | 27                  guard_lc.s    443 | Code        | 11 |         |    2 | 00/DC0A : 29 03       |                          AND     #$03                 
 7124 | 27                  guard_lc.s    444 | Code        | 11 |         |    2 | 00/DC0C : C9 02       |                          CMP     #2                   
 7125 | 27                  guard_lc.s    445 | Code        | 11 |         |    2 | 00/DC0E : 90 06       |                          BCC     _gcFr2               
 7126 | 27                  guard_lc.s    446 | Code        | 11 |         |    2 | 00/DC10 : A9 24       |                          LDA     #{36}                
 7127 | 27                  guard_lc.s    447 | Code        | 11 |         |    3 | 00/DC12 : 9D 97 11    |                          STA     GuardTblFr,X         
 7128 | 27                  guard_lc.s    448 | Code        | 11 |         |    1 | 00/DC15 : 60          |                          RTS                          
 7129 | 27                  guard_lc.s    449 | Code        | 11 |         |    2 | 00/DC16 : A9 25       | _gcFr2                   LDA     #{37}                
 7130 | 27                  guard_lc.s    450 | Code        | 11 |         |    3 | 00/DC18 : 9D 97 11    |                          STA     GuardTblFr,X         
 7131 | 27                  guard_lc.s    451 | Code        | 11 |         |    1 | 00/DC1B : 60          |                          RTS                          
 7132 | 27                  guard_lc.s    452 | Empty       | 11 |         |    0 | 00/DC1C               |                                                       
 7133 | 27                  guard_lc.s    453 | Empty       | 11 |         |    0 | 00/DC1C               | _gcStop                                               
 7134 | 27                  guard_lc.s    454 | Comment     | 11 |         |    0 | 00/DC1C               | * No movement this frame: if off-ladder on ground, transition to walk
 7135 | 27                  guard_lc.s    455 | Code        | 11 |         |    3 | 00/DC1C : 20 75 DD    |                          JSR     EntCheckGround       
 7136 | 27                  guard_lc.s    456 | Code        | 11 |         |    2 | 00/DC1F : F0 E1       |                          BEQ     _gcMoved             ; no ground, stay climbing
 7137 | 27                  guard_lc.s    457 | Code        | 11 |         |    3 | 00/DC21 : 20 2E DD    |                          JSR     EntCheckOnLadder     
 7138 | 27                  guard_lc.s    458 | Code        | 11 |         |    2 | 00/DC24 : D0 DC       |                          BNE     _gcMoved             ; still on ladder, stay
 7139 | 27                  guard_lc.s    459 | Empty       | 11 |         |    0 | 00/DC26               | _gcStopLand                                           
 7140 | 27                  guard_lc.s    460 | Comment     | 11 |         |    0 | 00/DC26               | * Landed: snap feet to ground and transition to walk. Entry point for
 7141 | 27                  guard_lc.s    461 | Comment     | 11 |         |    0 | 00/DC26               | * the climb-down bottom-exit path, which has already DEC'd EntY back
 7142 | 27                  guard_lc.s    462 | Comment     | 11 |         |    0 | 00/DC26               | * to the last ladder rung and must skip the on-ladder re-check above.
 7143 | 27                  guard_lc.s    463 | Code        | 11 |         |    3 | 00/DC26 : 20 82 DD    |                          JSR     EntSnapToGround      
 7144 | 27                  guard_lc.s    464 | Code        | 11 |         |    2 | 00/DC29 : A6 F4       |                          LDX     {$F4}                
 7145 | 27                  guard_lc.s    465 | Empty       | 11 |         |    0 | 00/DC2B               | _gcGoWalk                                             
 7146 | 27                  guard_lc.s    466 | Code        | 11 |         |    3 | 00/DC2B : BD 8E 11    |                          LDA     GuardTblMap,X        
 7147 | 27                  guard_lc.s    467 | Code        | 11 |         |    2 | 00/DC2E : C5 1C       |                          CMP     {$1C}                
 7148 | 27                  guard_lc.s    468 | Code        | 11 |         |    2 | 00/DC30 : D0 04       |                          BNE     _gcGoWdr             
 7149 | 27                  guard_lc.s    469 | Code        | 11 |         |    2 | 00/DC32 : A9 01       |                          LDA     #{1}                 
 7150 | 27                  guard_lc.s    470 | Code        | 11 |         |    2 | 00/DC34 : 80 02       |                          BRA     _gcSetSt             
 7151 | 27                  guard_lc.s    471 | Code        | 11 |         |    2 | 00/DC36 : A9 00       | _gcGoWdr                 LDA     #{0}                 
 7152 | 27                  guard_lc.s    472 | Code        | 11 |         |    3 | 00/DC38 : 9D 91 11    | _gcSetSt                 STA     GuardTblSt,X         
 7153 | 27                  guard_lc.s    473 | Code        | 11 |         |    2 | 00/DC3B : A9 1F       |                          LDA     #{31}                
 7154 | 27                  guard_lc.s    474 | Code        | 11 |         |    3 | 00/DC3D : 9D 97 11    |                          STA     GuardTblFr,X         
 7155 | 27                  guard_lc.s    475 | Comment     | 11 |         |    0 | 00/DC40               | * Ambush hold at the ladder extremity (ignored in PURSUIT - timer is
 7156 | 27                  guard_lc.s    476 | Comment     | 11 |         |    0 | 00/DC40               | * only consulted by GuardWander).
 7157 | 27                  guard_lc.s    477 | Code        | 11 |         |    2 | 00/DC40 : A9 1E       |                          LDA     #{30}                
 7158 | 27                  guard_lc.s    478 | Code        | 11 |         |    3 | 00/DC42 : 9D AD 11    |                          STA     GuardWaitTmr,X       
 7159 | 27                  guard_lc.s    479 | Code        | 11 |         |    1 | 00/DC45 : 60          |                          RTS                          
 7160 | 27                  guard_lc.s    480 | Empty       | 11 |         |    0 | 00/DC46               |                                                       
 7161 | 27                  guard_lc.s    481 | Empty       | 11 |         |    0 | 00/DC46               | _gcNotUp                                              
 7162 | 27                  guard_lc.s    482 | Code        | 11 |         |    3 | 00/DC46 : BD A3 11    |                          LDA     GuardTblInp,X        
 7163 | 27                  guard_lc.s    483 | Code        | 11 |         |    2 | 00/DC49 : 29 08       |                          AND     #{$08}               
 7164 | 27                  guard_lc.s    484 | Code        | 11 |         |    2 | 00/DC4B : F0 38       |                          BEQ     _gcNoVert            
 7165 | 27                  guard_lc.s    485 | Comment     | 11 |         |    0 | 00/DC4D               | * Climb down - check ladder at mid-sprite (same as player DoClimb)
 7166 | 27                  guard_lc.s    486 | Code        | 11 |         |    2 | 00/DC4D : A5 F7       |                          LDA     {$F7}                
 7167 | 27                  guard_lc.s    487 | Code        | 11 |         |    2 | 00/DC4F : C9 BA       |                          CMP     #{186}               
 7168 | 27                  guard_lc.s    488 | Code        | 11 |         |    2 | 00/DC51 : B0 C9       |                          BCS     _gcStop              
 7169 | 27                  guard_lc.s    489 | Code        | 11 |         |    2 | 00/DC53 : E6 F7       |                          INC     {$F7}                
 7170 | 27                  guard_lc.s    490 | Code        | 11 |         |    3 | 00/DC55 : 20 2E DD    |                          JSR     EntCheckOnLadder     
 7171 | 27                  guard_lc.s    491 | Code        | 11 |         |    2 | 00/DC58 : D0 16       |                          BNE     _gcChkFeet           
 7172 | 27                  guard_lc.s    492 | Comment     | 11 |         |    0 | 00/DC5A               | * Off ladder going down: ground or fall
 7173 | 27                  guard_lc.s    493 | Code        | 11 |         |    3 | 00/DC5A : 20 75 DD    |                          JSR     EntCheckGround       
 7174 | 27                  guard_lc.s    494 | Code        | 11 |         |    2 | 00/DC5D : D0 0D       |                          BNE     _gcUndoDn            
 7175 | 27                  guard_lc.s    495 | Code        | 11 |         |    2 | 00/DC5F : A6 F4       |                          LDX     {$F4}                
 7176 | 27                  guard_lc.s    496 | Code        | 11 |         |    2 | 00/DC61 : A9 04       |                          LDA     #{4}                 
 7177 | 27                  guard_lc.s    497 | Code        | 11 |         |    3 | 00/DC63 : 9D 91 11    |                          STA     GuardTblSt,X         
 7178 | 27                  guard_lc.s    498 | Code        | 11 |         |    2 | 00/DC66 : A9 2C       |                          LDA     #{44}                
 7179 | 27                  guard_lc.s    499 | Code        | 11 |         |    3 | 00/DC68 : 9D 97 11    |                          STA     GuardTblFr,X         
 7180 | 27                  guard_lc.s    500 | Code        | 11 |         |    1 | 00/DC6B : 60          |                          RTS                          
 7181 | 27                  guard_lc.s    501 | Code        | 11 |         |    2 | 00/DC6C : C6 F7       | _gcUndoDn                DEC     {$F7}                
 7182 | 27                  guard_lc.s    502 | Code        | 11 |         |    2 | 00/DC6E : 80 B6       |                          BRA     _gcStopLand          
 7183 | 27                  guard_lc.s    503 | Empty       | 11 |         |    0 | 00/DC70               | _gcChkFeet                                            
 7184 | 27                  guard_lc.s    504 | Code        | 11 |         |    2 | 00/DC70 : A5 F7       |                          LDA     {$F7}                
 7185 | 27                  guard_lc.s    505 | Code        | 11 |         |    1 | 00/DC72 : 18          |                          CLC                          
 7186 | 27                  guard_lc.s    506 | Code        | 11 |         |    2 | 00/DC73 : 69 0C       |                          ADC     #12                  
 7187 | 27                  guard_lc.s    507 | Code        | 11 |         |    2 | 00/DC75 : A6 F6       |                          LDX     {$F6}                
 7188 | 27                  guard_lc.s    508 | Code        | 11 |         |    1 | 00/DC77 : E8          |                          INX                          
 7189 | 27                  guard_lc.s    509 | Code        | 11 |         |    1 | 00/DC78 : E8          |                          INX                          
 7190 | 27                  guard_lc.s    510 | Code        | 11 |         |    1 | 00/DC79 : E8          |                          INX                          
 7191 | 27                  guard_lc.s    511 | Code        | 11 |         |    3 | 00/DC7A : 20 0E 11    |                          JSR     CheckWalkableAt      
 7192 | 27                  guard_lc.s    512 | Code        | 11 |         |    2 | 00/DC7D : D0 83       |                          BNE     _gcMoved             
 7193 | 27                  guard_lc.s    513 | Code        | 11 |         |    2 | 00/DC7F : C6 F7       |                          DEC     {$F7}                
 7194 | 27                  guard_lc.s    514 | Code        | 11 |         |    2 | 00/DC81 : A6 F4       |                          LDX     {$F4}                ; CheckWalkableAt clobbers X
 7195 | 27                  guard_lc.s    515 | Code        | 11 |         |    2 | 00/DC83 : 80 00       |                          BRA     _gcNoVert            ; feet blocked, try sideways
 7196 | 27                  guard_lc.s    516 | Empty       | 11 |         |    0 | 00/DC85               |                                                       
 7197 | 27                  guard_lc.s    517 | Empty       | 11 |         |    0 | 00/DC85               | _gcNoVert                                             
 7198 | 27                  guard_lc.s    518 | Comment     | 11 |         |    0 | 00/DC85               | * Sideways exit: mirrors player DoClimb:noVert. Test-and-undo the X
 7199 | 27                  guard_lc.s    519 | Comment     | 11 |         |    0 | 00/DC85               | * probe and skip EntSnapToGround - next-frame GuardWander/Pursuit
 7200 | 27                  guard_lc.s    520 | Comment     | 11 |         |    0 | 00/DC85               | * commits the move and snaps via EntWalkLeftComplete/Right. Eager
 7201 | 27                  guard_lc.s    521 | Comment     | 11 |         |    0 | 00/DC85               | * snapping here was parking guards 6px below the legal floor row.
 7202 | 27                  guard_lc.s    522 | Code        | 11 |         |    3 | 00/DC85 : BD A3 11    |                          LDA     GuardTblInp,X        
 7203 | 27                  guard_lc.s    523 | Code        | 11 |         |    2 | 00/DC88 : 29 03       |                          AND     #{$02}+{$01}         
 7204 | 27                  guard_lc.s    524 | Code        | 11 |         |    2 | 00/DC8A : D0 03       |                          BNE     _gcTryEx             
 7205 | 27                  guard_lc.s    525 | Code        | 11 |         |    3 | 00/DC8C : 4C 1C DC    |                          JMP     _gcStop              
 7206 | 27                  guard_lc.s    526 | Code        | 11 |         |    3 | 00/DC8F : 20 75 DD    | _gcTryEx                 JSR     EntCheckGround       
 7207 | 27                  guard_lc.s    527 | Code        | 11 |         |    2 | 00/DC92 : D0 14       |                          BNE     _gcGround            
 7208 | 27                  guard_lc.s    528 | Comment     | 11 |         |    0 | 00/DC94               | * CheckGround skips rails - accept COLL_RAIL as exit ground (mirrors
 7209 | 27                  guard_lc.s    529 | Comment     | 11 |         |    0 | 00/DC94               | * player.s :tryExit RAIL fallback).
 7210 | 27                  guard_lc.s    530 | Code        | 11 |         |    2 | 00/DC94 : A5 F7       |                          LDA     {$F7}                
 7211 | 27                  guard_lc.s    531 | Code        | 11 |         |    1 | 00/DC96 : 18          |                          CLC                          
 7212 | 27                  guard_lc.s    532 | Code        | 11 |         |    2 | 00/DC97 : 69 0C       |                          ADC     #12                  
 7213 | 27                  guard_lc.s    533 | Code        | 11 |         |    2 | 00/DC99 : A6 F6       |                          LDX     {$F6}                
 7214 | 27                  guard_lc.s    534 | Code        | 11 |         |    1 | 00/DC9B : E8          |                          INX                          
 7215 | 27                  guard_lc.s    535 | Code        | 11 |         |    1 | 00/DC9C : E8          |                          INX                          
 7216 | 27                  guard_lc.s    536 | Code        | 11 |         |    1 | 00/DC9D : E8          |                          INX                          ; center X
 7217 | 27                  guard_lc.s    537 | Code        | 11 |         |    3 | 00/DC9E : 20 40 10    |                          JSR     GetCollType          
 7218 | 27                  guard_lc.s    538 | Code        | 11 |         |    2 | 00/DCA1 : C9 04       |                          CMP     #{4}                 
 7219 | 27                  guard_lc.s    539 | Code        | 11 |         |    2 | 00/DCA3 : F0 03       |                          BEQ     _gcGround            
 7220 | 27                  guard_lc.s    540 | Code        | 11 |         |    3 | 00/DCA5 : 4C 1C DC    |                          JMP     _gcStop              
 7221 | 27                  guard_lc.s    541 | Empty       | 11 |         |    0 | 00/DCA8               | _gcGround                                             
 7222 | 27                  guard_lc.s    542 | Code        | 11 |         |    2 | 00/DCA8 : A6 F4       |                          LDX     {$F4}                
 7223 | 27                  guard_lc.s    543 | Code        | 11 |         |    3 | 00/DCAA : BD A3 11    |                          LDA     GuardTblInp,X        
 7224 | 27                  guard_lc.s    544 | Code        | 11 |         |    2 | 00/DCAD : 29 01       |                          AND     #{$01}               
 7225 | 27                  guard_lc.s    545 | Code        | 11 |         |    2 | 00/DCAF : F0 16       |                          BEQ     _gcExitL             
 7226 | 27                  guard_lc.s    546 | Comment     | 11 |         |    0 | 00/DCB1               | * Exit right: walkable + ground already verified above
 7227 | 27                  guard_lc.s    547 | Code        | 11 |         |    2 | 00/DCB1 : E6 F6       |                          INC     {$F6}                
 7228 | 27                  guard_lc.s    548 | Code        | 11 |         |    3 | 00/DCB3 : 20 3B DD    |                          JSR     EntCheckWalkableR    
 7229 | 27                  guard_lc.s    549 | Code        | 11 |         |    1 | 00/DCB6 : 48          |                          PHA                          
 7230 | 27                  guard_lc.s    550 | Code        | 11 |         |    2 | 00/DCB7 : C6 F6       |                          DEC     {$F6}                ; undo probe
 7231 | 27                  guard_lc.s    551 | Code        | 11 |         |    1 | 00/DCB9 : 68          |                          PLA                          
 7232 | 27                  guard_lc.s    552 | Code        | 11 |         |    2 | 00/DCBA : D0 03       |                          BNE     _gcExitRGo           
 7233 | 27                  guard_lc.s    553 | Code        | 11 |         |    3 | 00/DCBC : 4C 1C DC    |                          JMP     _gcStop              
 7234 | 27                  guard_lc.s    554 | Empty       | 11 |         |    0 | 00/DCBF               | _gcExitRGo                                            
 7235 | 27                  guard_lc.s    555 | Code        | 11 |         |    2 | 00/DCBF : A6 F4       |                          LDX     {$F4}                
 7236 | 27                  guard_lc.s    556 | Code        | 11 |         |    3 | 00/DCC1 : 9E 94 11    |                          STZ     GuardTblDir,X        
 7237 | 27                  guard_lc.s    557 | Code        | 11 |         |    3 | 00/DCC4 : 4C 2B DC    |                          JMP     _gcGoWalk            
 7238 | 27                  guard_lc.s    558 | Code        | 11 |         |    2 | 00/DCC7 : C6 F6       | _gcExitL                 DEC     {$F6}                
 7239 | 27                  guard_lc.s    559 | Code        | 11 |         |    3 | 00/DCC9 : 20 5E DD    |                          JSR     EntCheckWalkableL    
 7240 | 27                  guard_lc.s    560 | Code        | 11 |         |    1 | 00/DCCC : 48          |                          PHA                          
 7241 | 27                  guard_lc.s    561 | Code        | 11 |         |    2 | 00/DCCD : E6 F6       |                          INC     {$F6}                ; undo probe
 7242 | 27                  guard_lc.s    562 | Code        | 11 |         |    1 | 00/DCCF : 68          |                          PLA                          
 7243 | 27                  guard_lc.s    563 | Code        | 11 |         |    2 | 00/DCD0 : D0 03       |                          BNE     _gcExitLGo           
 7244 | 27                  guard_lc.s    564 | Code        | 11 |         |    3 | 00/DCD2 : 4C 1C DC    |                          JMP     _gcStop              
 7245 | 27                  guard_lc.s    565 | Empty       | 11 |         |    0 | 00/DCD5               | _gcExitLGo                                            
 7246 | 27                  guard_lc.s    566 | Code        | 11 |         |    2 | 00/DCD5 : A6 F4       |                          LDX     {$F4}                
 7247 | 27                  guard_lc.s    567 | Code        | 11 |         |    2 | 00/DCD7 : A9 01       |                          LDA     #1                   
 7248 | 27                  guard_lc.s    568 | Code        | 11 |         |    3 | 00/DCD9 : 9D 94 11    |                          STA     GuardTblDir,X        
 7249 | 27                  guard_lc.s    569 | Code        | 11 |         |    3 | 00/DCDC : 4C 2B DC    |                          JMP     _gcGoWalk            
 7250 | 27                  guard_lc.s    570 | Empty       | 11 |         |    0 | 00/DCDF               |                                                       
 7251 | 27                  guard_lc.s    571 | Comment     | 11 |         |    0 | 00/DCDF               | *----------------------------------------------
 7252 | 27                  guard_lc.s    572 | Comment     | 11 |         |    0 | 00/DCDF               | * GuardPursuit - Walk in the direction AI specified
 7253 | 27                  guard_lc.s    573 | Comment     | 11 |         |    0 | 00/DCDF               | *
 7254 | 27                  guard_lc.s    574 | Comment     | 11 |         |    0 | 00/DCDF               | * Direction read from GuardTblInp (INP_LEFT/RIGHT) and mirrored
 7255 | 27                  guard_lc.s    575 | Comment     | 11 |         |    0 | 00/DCDF               | * into GuardTblDir for sprite facing. Signals GuardBlocked on
 7256 | 27                  guard_lc.s    576 | Comment     | 11 |         |    0 | 00/DCDF               | * wall/ledge; AI demotes to WANDER next frame.
 7257 | 27                  guard_lc.s    577 | Comment     | 11 |         |    0 | 00/DCDF               | *----------------------------------------------
 7258 | 27                  guard_lc.s    578 | Empty       | 11 |         |    0 | 00/DCDF               | GuardPursuit                                          
 7259 | 27                  guard_lc.s    579 | Code        | 11 |         |    2 | 00/DCDF : A6 F4       |                          LDX     {$F4}                
 7260 | 27                  guard_lc.s    580 | Comment     | 11 |         |    0 | 00/DCE1               | * Fractional speed gate (shared with wander): score-tier GuardBaseSpeed
 7261 | 27                  guard_lc.s    581 | Comment     | 11 |         |    0 | 00/DCE1               | * caps pursuit speed so early-game chasing is slower than an encumbered
 7262 | 27                  guard_lc.s    582 | Comment     | 11 |         |    0 | 00/DCE1               | * player; reaches 1.0x at 40,000 points (GSPD_T4).
 7263 | 27                  guard_lc.s    583 | Code        | 11 |         |    1 | 00/DCE1 : 18          |                          CLC                          
 7264 | 27                  guard_lc.s    584 | Code        | 11 |         |    3 | 00/DCE2 : BD A0 11    |                          LDA     GuardSpeedAcc,X      
 7265 | 27                  guard_lc.s    585 | Code        | 11 |         |    3 | 00/DCE5 : 6D CA 11    |                          ADC     GuardBaseSpeed       
 7266 | 27                  guard_lc.s    586 | Code        | 11 |         |    3 | 00/DCE8 : 9D A0 11    |                          STA     GuardSpeedAcc,X      
 7267 | 27                  guard_lc.s    587 | Code        | 11 |         |    2 | 00/DCEB : 90 40       |                          BCC     _gpRts               ; no overflow -> skip movement this frame
 7268 | 27                  guard_lc.s    588 | Comment     | 11 |         |    0 | 00/DCED               | * Direction from AI input; sync sprite-dir via GuardTblDir
 7269 | 27                  guard_lc.s    589 | Code        | 11 |         |    3 | 00/DCED : BD A3 11    |                          LDA     GuardTblInp,X        
 7270 | 27                  guard_lc.s    590 | Code        | 11 |         |    2 | 00/DCF0 : 29 02       |                          AND     #{$02}               
 7271 | 27                  guard_lc.s    591 | Code        | 11 |         |    2 | 00/DCF2 : D0 05       |                          BNE     _gpFaceL             
 7272 | 27                  guard_lc.s    592 | Code        | 11 |         |    3 | 00/DCF4 : 9E 94 11    |                          STZ     GuardTblDir,X        ; 0 = right
 7273 | 27                  guard_lc.s    593 | Code        | 11 |         |    2 | 00/DCF7 : 80 05       |                          BRA     _gpDoMove            
 7274 | 27                  guard_lc.s    594 | Code        | 11 |         |    2 | 00/DCF9 : A9 01       | _gpFaceL                 LDA     #1                   
 7275 | 27                  guard_lc.s    595 | Code        | 11 |         |    3 | 00/DCFB : 9D 94 11    |                          STA     GuardTblDir,X        ; 1 = left
 7276 | 27                  guard_lc.s    596 | Empty       | 11 |         |    0 | 00/DCFE               | _gpDoMove                                             
 7277 | 27                  guard_lc.s    597 | Code        | 11 |         |    3 | 00/DCFE : BD 94 11    |                          LDA     GuardTblDir,X        
 7278 | 27                  guard_lc.s    598 | Code        | 11 |         |    2 | 00/DD01 : D0 11       |                          BNE     _gpLeft              
 7279 | 27                  guard_lc.s    599 | Comment     | 11 |         |    0 | 00/DD03               | * Move right. EntWalkRightComplete handles walkable + slope step-up +
 7280 | 27                  guard_lc.s    600 | Comment     | 11 |         |    0 | 00/DD03               | * ground/elev + snap; returns C=1 on success, C=0 on wall/cliff.
 7281 | 27                  guard_lc.s    601 | Code        | 11 |         |    2 | 00/DD03 : A5 F6       |                          LDA     {$F6}                
 7282 | 27                  guard_lc.s    602 | Code        | 11 |         |    2 | 00/DD05 : C9 80       |                          CMP     #{128}               
 7283 | 27                  guard_lc.s    603 | Code        | 11 |         |    2 | 00/DD07 : B0 1A       |                          BCS     _gpRevWander         
 7284 | 27                  guard_lc.s    604 | Code        | 11 |         |    2 | 00/DD09 : E6 F6       |                          INC     {$F6}                
 7285 | 27                  guard_lc.s    605 | Code        | 11 |         |    3 | 00/DD0B : 20 93 13    |                          JSR     EntWalkRightComplete 
 7286 | 27                  guard_lc.s    606 | Code        | 11 |         |    2 | 00/DD0E : B0 1A       |                          BCS     _gpAnimate           
 7287 | 27                  guard_lc.s    607 | Code        | 11 |         |    2 | 00/DD10 : C6 F6       |                          DEC     {$F6}                
 7288 | 27                  guard_lc.s    608 | Code        | 11 |         |    2 | 00/DD12 : 80 0F       |                          BRA     _gpRevWander         
 7289 | 27                  guard_lc.s    609 | Empty       | 11 |         |    0 | 00/DD14               |                                                       
 7290 | 27                  guard_lc.s    610 | Empty       | 11 |         |    0 | 00/DD14               | _gpLeft                                               
 7291 | 27                  guard_lc.s    611 | Code        | 11 |         |    2 | 00/DD14 : A5 F6       |                          LDA     {$F6}                
 7292 | 27                  guard_lc.s    612 | Code        | 11 |         |    2 | 00/DD16 : C9 16       |                          CMP     #{21}+1              
 7293 | 27                  guard_lc.s    613 | Code        | 11 |         |    2 | 00/DD18 : 90 09       |                          BCC     _gpRevWander         
 7294 | 27                  guard_lc.s    614 | Code        | 11 |         |    2 | 00/DD1A : C6 F6       |                          DEC     {$F6}                
 7295 | 27                  guard_lc.s    615 | Code        | 11 |         |    3 | 00/DD1C : 20 A9 13    |                          JSR     EntWalkLeftComplete  
 7296 | 27                  guard_lc.s    616 | Code        | 11 |         |    2 | 00/DD1F : B0 09       |                          BCS     _gpAnimate           
 7297 | 27                  guard_lc.s    617 | Code        | 11 |         |    2 | 00/DD21 : E6 F6       |                          INC     {$F6}                
 7298 | 27                  guard_lc.s    618 | Empty       | 11 |         |    0 | 00/DD23               | _gpRevWander                                          
 7299 | 27                  guard_lc.s    619 | Comment     | 11 |         |    0 | 00/DD23               | * Blocked in pursuit - signal AI; AI handles state/dir next frame
 7300 | 27                  guard_lc.s    620 | Code        | 11 |         |    2 | 00/DD23 : A6 F4       |                          LDX     {$F4}                
 7301 | 27                  guard_lc.s    621 | Code        | 11 |         |    2 | 00/DD25 : A9 01       |                          LDA     #1                   
 7302 | 27                  guard_lc.s    622 | Code        | 11 |         |    3 | 00/DD27 : 9D A6 11    |                          STA     GuardBlocked,X       
 7303 | 27                  guard_lc.s    623 | Empty       | 11 |         |    0 | 00/DD2A               | _gpAnimate                                            
 7304 | 27                  guard_lc.s    624 | Code        | 11 |         |    3 | 00/DD2A : 4C 60 12    |                          JMP     GuardWalkAnim        
 7305 | 27                  guard_lc.s    625 | Code        | 11 |         |    1 | 00/DD2D : 60          | _gpRts                   RTS                          
 7306 | 27                  guard_lc.s    626 | Comment     | 11 |         |    0 | 00/DD2E               | *----------------------------------------------
 7307 | 27                  guard_lc.s    627 | Comment     | 11 |         |    0 | 00/DD2E               | * Entity-parameterized movement helpers
 7308 | 27                  guard_lc.s    628 | Comment     | 11 |         |    0 | 00/DD2E               | * Use EntX/EntY instead of PlayerX/PlayerY.
 7309 | 27                  guard_lc.s    629 | Comment     | 11 |         |    0 | 00/DD2E               | * Call after setting EntX/EntY to the entity's position.
 7310 | 27                  guard_lc.s    630 | Comment     | 11 |         |    0 | 00/DD2E               | *----------------------------------------------
 7311 | 27                  guard_lc.s    631 | Empty       | 11 |         |    0 | 00/DD2E               |                                                       
 7312 | 27                  guard_lc.s    632 | Comment     | 11 |         |    0 | 00/DD2E               | *----------------------------------------------
 7313 | 27                  guard_lc.s    633 | Comment     | 11 |         |    0 | 00/DD2E               | * EntCheckOnLadder - Is entity mid-sprite center on a ladder?
 7314 | 27                  guard_lc.s    634 | Comment     | 11 |         |    0 | 00/DD2E               | * Out: Z=0 (BNE) if on ladder, Z=1 (BEQ) if not
 7315 | 27                  guard_lc.s    635 | Comment     | 11 |         |    0 | 00/DD2E               | *----------------------------------------------
 7316 | 27                  guard_lc.s    636 | Empty       | 11 |         |    0 | 00/DD2E               | EntCheckOnLadder                                      
 7317 | 27                  guard_lc.s    637 | Code        | 11 |         |    2 | 00/DD2E : A5 F7       |                          LDA     {$F7}                
 7318 | 27                  guard_lc.s    638 | Code        | 11 |         |    1 | 00/DD30 : 18          |                          CLC                          
 7319 | 27                  guard_lc.s    639 | Code        | 11 |         |    2 | 00/DD31 : 69 06       |                          ADC     #6                   
 7320 | 27                  guard_lc.s    640 | Code        | 11 |         |    2 | 00/DD33 : A6 F6       |                          LDX     {$F6}                
 7321 | 27                  guard_lc.s    641 | Code        | 11 |         |    1 | 00/DD35 : E8          |                          INX                          
 7322 | 27                  guard_lc.s    642 | Code        | 11 |         |    1 | 00/DD36 : E8          |                          INX                          
 7323 | 27                  guard_lc.s    643 | Code        | 11 |         |    1 | 00/DD37 : E8          |                          INX                          
 7324 | 27                  guard_lc.s    644 | Code        | 11 |         |    3 | 00/DD38 : 4C 7B 11    |                          JMP     CheckLadderAt        
 7325 | 27                  guard_lc.s    645 | Empty       | 11 |         |    0 | 00/DD3B               |                                                       
 7326 | 27                  guard_lc.s    646 | Comment     | 11 |         |    0 | 00/DD3B               | *----------------------------------------------
 7327 | 27                  guard_lc.s    647 | Comment     | 11 |         |    0 | 00/DD3B               | * EntCheckWalkableR - Can entity move right?
 7328 | 27                  guard_lc.s    648 | Comment     | 11 |         |    0 | 00/DD3B               | * Checks right edge (EntX+6) at mid-sprite AND feet level.
 7329 | 27                  guard_lc.s    649 | Comment     | 11 |         |    0 | 00/DD3B               | * Out: Z=0 (BNE) if walkable, Z=1 (BEQ) if blocked
 7330 | 27                  guard_lc.s    650 | Comment     | 11 |         |    0 | 00/DD3B               | *----------------------------------------------
 7331 | 27                  guard_lc.s    651 | Empty       | 11 |         |    0 | 00/DD3B               | EntCheckWalkableR                                     
 7332 | 27                  guard_lc.s    652 | Code        | 11 |         |    2 | 00/DD3B : A5 F7       |                          LDA     {$F7}                
 7333 | 27                  guard_lc.s    653 | Code        | 11 |         |    1 | 00/DD3D : 18          |                          CLC                          
 7334 | 27                  guard_lc.s    654 | Code        | 11 |         |    2 | 00/DD3E : 69 06       |                          ADC     #6                   ; mid sprite
 7335 | 27                  guard_lc.s    655 | Code        | 11 |         |    2 | 00/DD40 : A6 F6       |                          LDX     {$F6}                
 7336 | 27                  guard_lc.s    656 | Code        | 11 |         |    1 | 00/DD42 : E8          |                          INX                          
 7337 | 27                  guard_lc.s    657 | Code        | 11 |         |    1 | 00/DD43 : E8          |                          INX                          
 7338 | 27                  guard_lc.s    658 | Code        | 11 |         |    1 | 00/DD44 : E8          |                          INX                          
 7339 | 27                  guard_lc.s    659 | Code        | 11 |         |    1 | 00/DD45 : E8          |                          INX                          
 7340 | 27                  guard_lc.s    660 | Code        | 11 |         |    1 | 00/DD46 : E8          |                          INX                          
 7341 | 27                  guard_lc.s    661 | Code        | 11 |         |    1 | 00/DD47 : E8          |                          INX                          ; right edge X+6
 7342 | 27                  guard_lc.s    662 | Code        | 11 |         |    3 | 00/DD48 : 20 0E 11    |                          JSR     CheckWalkableAt      
 7343 | 27                  guard_lc.s    663 | Code        | 11 |         |    2 | 00/DD4B : F0 10       |                          BEQ     _ewrBlk              
 7344 | 27                  guard_lc.s    664 | Code        | 11 |         |    2 | 00/DD4D : A5 F7       |                          LDA     {$F7}                
 7345 | 27                  guard_lc.s    665 | Code        | 11 |         |    1 | 00/DD4F : 18          |                          CLC                          
 7346 | 27                  guard_lc.s    666 | Code        | 11 |         |    2 | 00/DD50 : 69 0B       |                          ADC     #11                  ; feet level
 7347 | 27                  guard_lc.s    667 | Code        | 11 |         |    2 | 00/DD52 : A6 F6       |                          LDX     {$F6}                
 7348 | 27                  guard_lc.s    668 | Code        | 11 |         |    1 | 00/DD54 : E8          |                          INX                          
 7349 | 27                  guard_lc.s    669 | Code        | 11 |         |    1 | 00/DD55 : E8          |                          INX                          
 7350 | 27                  guard_lc.s    670 | Code        | 11 |         |    1 | 00/DD56 : E8          |                          INX                          
 7351 | 27                  guard_lc.s    671 | Code        | 11 |         |    1 | 00/DD57 : E8          |                          INX                          
 7352 | 27                  guard_lc.s    672 | Code        | 11 |         |    1 | 00/DD58 : E8          |                          INX                          
 7353 | 27                  guard_lc.s    673 | Code        | 11 |         |    1 | 00/DD59 : E8          |                          INX                          
 7354 | 27                  guard_lc.s    674 | Code        | 11 |         |    3 | 00/DD5A : 20 0E 11    |                          JSR     CheckWalkableAt      
 7355 | 27                  guard_lc.s    675 | Code        | 11 |         |    1 | 00/DD5D : 60          | _ewrBlk                  RTS                          
 7356 | 27                  guard_lc.s    676 | Empty       | 11 |         |    0 | 00/DD5E               |                                                       
 7357 | 27                  guard_lc.s    677 | Comment     | 11 |         |    0 | 00/DD5E               | *----------------------------------------------
 7358 | 27                  guard_lc.s    678 | Comment     | 11 |         |    0 | 00/DD5E               | * EntCheckWalkableL - Can entity move left?
 7359 | 27                  guard_lc.s    679 | Comment     | 11 |         |    0 | 00/DD5E               | * Checks left edge (EntX) at mid-sprite AND feet level.
 7360 | 27                  guard_lc.s    680 | Comment     | 11 |         |    0 | 00/DD5E               | * Out: Z=0 (BNE) if walkable, Z=1 (BEQ) if blocked
 7361 | 27                  guard_lc.s    681 | Comment     | 11 |         |    0 | 00/DD5E               | *----------------------------------------------
 7362 | 27                  guard_lc.s    682 | Empty       | 11 |         |    0 | 00/DD5E               | EntCheckWalkableL                                     
 7363 | 27                  guard_lc.s    683 | Code        | 11 |         |    2 | 00/DD5E : A5 F7       |                          LDA     {$F7}                
 7364 | 27                  guard_lc.s    684 | Code        | 11 |         |    1 | 00/DD60 : 18          |                          CLC                          
 7365 | 27                  guard_lc.s    685 | Code        | 11 |         |    2 | 00/DD61 : 69 06       |                          ADC     #6                   ; mid sprite
 7366 | 27                  guard_lc.s    686 | Code        | 11 |         |    2 | 00/DD63 : A6 F6       |                          LDX     {$F6}                ; left edge
 7367 | 27                  guard_lc.s    687 | Code        | 11 |         |    3 | 00/DD65 : 20 0E 11    |                          JSR     CheckWalkableAt      
 7368 | 27                  guard_lc.s    688 | Code        | 11 |         |    2 | 00/DD68 : F0 0A       |                          BEQ     _ewlBlk              
 7369 | 27                  guard_lc.s    689 | Code        | 11 |         |    2 | 00/DD6A : A5 F7       |                          LDA     {$F7}                
 7370 | 27                  guard_lc.s    690 | Code        | 11 |         |    1 | 00/DD6C : 18          |                          CLC                          
 7371 | 27                  guard_lc.s    691 | Code        | 11 |         |    2 | 00/DD6D : 69 0B       |                          ADC     #11                  ; feet level
 7372 | 27                  guard_lc.s    692 | Code        | 11 |         |    2 | 00/DD6F : A6 F6       |                          LDX     {$F6}                
 7373 | 27                  guard_lc.s    693 | Code        | 11 |         |    3 | 00/DD71 : 20 0E 11    |                          JSR     CheckWalkableAt      
 7374 | 27                  guard_lc.s    694 | Code        | 11 |         |    1 | 00/DD74 : 60          | _ewlBlk                  RTS                          
 7375 | 27                  guard_lc.s    695 | Empty       | 11 |         |    0 | 00/DD75               |                                                       
 7376 | 27                  guard_lc.s    696 | Comment     | 11 |         |    0 | 00/DD75               | *----------------------------------------------
 7377 | 27                  guard_lc.s    697 | Comment     | 11 |         |    0 | 00/DD75               | * EntCheckGround - Is there ground below entity's feet?
 7378 | 27                  guard_lc.s    698 | Comment     | 11 |         |    0 | 00/DD75               | * Does NOT check elevator car (guards fall through shafts).
 7379 | 27                  guard_lc.s    699 | Comment     | 11 |         |    0 | 00/DD75               | * Out: Z=0 (BNE) if ground, Z=1 (BEQ) if no ground
 7380 | 27                  guard_lc.s    700 | Comment     | 11 |         |    0 | 00/DD75               | *----------------------------------------------
 7381 | 27                  guard_lc.s    701 | Empty       | 11 |         |    0 | 00/DD75               | EntCheckGround                                        
 7382 | 27                  guard_lc.s    702 | Code        | 11 |         |    2 | 00/DD75 : A5 F7       |                          LDA     {$F7}                
 7383 | 27                  guard_lc.s    703 | Code        | 11 |         |    1 | 00/DD77 : 18          |                          CLC                          
 7384 | 27                  guard_lc.s    704 | Code        | 11 |         |    2 | 00/DD78 : 69 0C       |                          ADC     #12                  ; one pixel below feet
 7385 | 27                  guard_lc.s    705 | Code        | 11 |         |    2 | 00/DD7A : A6 F6       |                          LDX     {$F6}                
 7386 | 27                  guard_lc.s    706 | Code        | 11 |         |    1 | 00/DD7C : E8          |                          INX                          
 7387 | 27                  guard_lc.s    707 | Code        | 11 |         |    1 | 00/DD7D : E8          |                          INX                          
 7388 | 27                  guard_lc.s    708 | Code        | 11 |         |    1 | 00/DD7E : E8          |                          INX                          ; center of sprite (X+3)
 7389 | 27                  guard_lc.s    709 | Code        | 11 |         |    3 | 00/DD7F : 4C EA 10    |                          JMP     CheckGroundAt        ; tail call
 7390 | 27                  guard_lc.s    710 | Empty       | 11 |         |    0 | 00/DD82               |                                                       
 7391 | 27                  guard_lc.s    711 | Comment     | 11 |         |    0 | 00/DD82               | *----------------------------------------------
 7392 | 27                  guard_lc.s    712 | Comment     | 11 |         |    0 | 00/DD82               | * EntSnapToGround - Snap entity Y to surface
 7393 | 27                  guard_lc.s    713 | Comment     | 11 |         |    0 | 00/DD82               | * Writes to EntY. Call after EntCheckGround confirms ground.
 7394 | 27                  guard_lc.s    714 | Comment     | 11 |         |    0 | 00/DD82               | *----------------------------------------------
 7395 | 27                  guard_lc.s    715 | Empty       | 11 |         |    0 | 00/DD82               | EntSnapToGround                                       
 7396 | 27                  guard_lc.s    716 | Comment     | 11 |         |    0 | 00/DD82               | * Check at feet level (Y+11)
 7397 | 27                  guard_lc.s    717 | Code        | 11 |         |    2 | 00/DD82 : A5 F7       |                          LDA     {$F7}                
 7398 | 27                  guard_lc.s    718 | Code        | 11 |         |    1 | 00/DD84 : 18          |                          CLC                          
 7399 | 27                  guard_lc.s    719 | Code        | 11 |         |    2 | 00/DD85 : 69 0B       |                          ADC     #11                  
 7400 | 27                  guard_lc.s    720 | Code        | 11 |         |    2 | 00/DD87 : A6 F6       |                          LDX     {$F6}                
 7401 | 27                  guard_lc.s    721 | Code        | 11 |         |    1 | 00/DD89 : E8          |                          INX                          
 7402 | 27                  guard_lc.s    722 | Code        | 11 |         |    1 | 00/DD8A : E8          |                          INX                          
 7403 | 27                  guard_lc.s    723 | Code        | 11 |         |    1 | 00/DD8B : E8          |                          INX                          ; center X
 7404 | 27                  guard_lc.s    724 | Code        | 11 |         |    3 | 00/DD8C : 20 40 10    |                          JSR     GetCollType          
 7405 | 27                  guard_lc.s    725 | Code        | 11 |         |    2 | 00/DD8F : C9 06       |                          CMP     #{6}                 
 7406 | 27                  guard_lc.s    726 | Code        | 11 |         |    2 | 00/DD91 : F0 3E       |                          BEQ     _esSlope             
 7407 | 27                  guard_lc.s    727 | Code        | 11 |         |    2 | 00/DD93 : C9 01       |                          CMP     #{1}                 
 7408 | 27                  guard_lc.s    728 | Code        | 11 |         |    2 | 00/DD95 : F0 22       |                          BEQ     _esSolid             
 7409 | 27                  guard_lc.s    729 | Code        | 11 |         |    2 | 00/DD97 : C9 04       |                          CMP     #{4}                 
 7410 | 27                  guard_lc.s    730 | Code        | 11 |         |    2 | 00/DD99 : F0 2A       |                          BEQ     _esRail              
 7411 | 27                  guard_lc.s    731 | Code        | 11 |         |    2 | 00/DD9B : C9 00       |                          CMP     #{0}                 
 7412 | 27                  guard_lc.s    732 | Code        | 11 |         |    2 | 00/DD9D : D0 4E       |                          BNE     _esDone              
 7413 | 27                  guard_lc.s    733 | Comment     | 11 |         |    0 | 00/DD9F               | * Feet in empty space - check one below (Y+12)
 7414 | 27                  guard_lc.s    734 | Code        | 11 |         |    2 | 00/DD9F : A5 F7       |                          LDA     {$F7}                
 7415 | 27                  guard_lc.s    735 | Code        | 11 |         |    1 | 00/DDA1 : 18          |                          CLC                          
 7416 | 27                  guard_lc.s    736 | Code        | 11 |         |    2 | 00/DDA2 : 69 0C       |                          ADC     #12                  
 7417 | 27                  guard_lc.s    737 | Code        | 11 |         |    2 | 00/DDA4 : A6 F6       |                          LDX     {$F6}                
 7418 | 27                  guard_lc.s    738 | Code        | 11 |         |    1 | 00/DDA6 : E8          |                          INX                          
 7419 | 27                  guard_lc.s    739 | Code        | 11 |         |    1 | 00/DDA7 : E8          |                          INX                          
 7420 | 27                  guard_lc.s    740 | Code        | 11 |         |    1 | 00/DDA8 : E8          |                          INX                          
 7421 | 27                  guard_lc.s    741 | Code        | 11 |         |    3 | 00/DDA9 : 20 40 10    |                          JSR     GetCollType          
 7422 | 27                  guard_lc.s    742 | Code        | 11 |         |    2 | 00/DDAC : C9 01       |                          CMP     #{1}                 
 7423 | 27                  guard_lc.s    743 | Code        | 11 |         |    2 | 00/DDAE : F0 09       |                          BEQ     _esSolid             
 7424 | 27                  guard_lc.s    744 | Code        | 11 |         |    2 | 00/DDB0 : C9 04       |                          CMP     #{4}                 
 7425 | 27                  guard_lc.s    745 | Code        | 11 |         |    2 | 00/DDB2 : F0 11       |                          BEQ     _esRail              
 7426 | 27                  guard_lc.s    746 | Code        | 11 |         |    2 | 00/DDB4 : C9 06       |                          CMP     #{6}                 
 7427 | 27                  guard_lc.s    747 | Code        | 11 |         |    2 | 00/DDB6 : F0 19       |                          BEQ     _esSlope             
 7428 | 27                  guard_lc.s    748 | Code        | 11 |         |    1 | 00/DDB8 : 60          |                          RTS                          
 7429 | 27                  guard_lc.s    749 | Empty       | 11 |         |    0 | 00/DDB9               |                                                       
 7430 | 27                  guard_lc.s    750 | Empty       | 11 |         |    0 | 00/DDB9               | _esSolid                                              
 7431 | 27                  guard_lc.s    751 | Code        | 11 |         |    2 | 00/DDB9 : A5 19       |                          LDA     {$19}                
 7432 | 27                  guard_lc.s    752 | Code        | 11 |         |    1 | 00/DDBB : 0A          |                          ASL                          
 7433 | 27                  guard_lc.s    753 | Code        | 11 |         |    2 | 00/DDBC : 65 19       |                          ADC     {$19}                ; *3
 7434 | 27                  guard_lc.s    754 | Code        | 11 |         |    1 | 00/DDBE : 0A          |                          ASL                          ; *6
 7435 | 27                  guard_lc.s    755 | Code        | 11 |         |    1 | 00/DDBF : 38          |                          SEC                          
 7436 | 27                  guard_lc.s    756 | Code        | 11 |         |    2 | 00/DDC0 : E9 0C       |                          SBC     #12                  
 7437 | 27                  guard_lc.s    757 | Code        | 11 |         |    2 | 00/DDC2 : 85 F7       |                          STA     {$F7}                
 7438 | 27                  guard_lc.s    758 | Code        | 11 |         |    1 | 00/DDC4 : 60          |                          RTS                          
 7439 | 27                  guard_lc.s    759 | Empty       | 11 |         |    0 | 00/DDC5               |                                                       
 7440 | 27                  guard_lc.s    760 | Empty       | 11 |         |    0 | 00/DDC5               | _esRail                                               
 7441 | 27                  guard_lc.s    761 | Code        | 11 |         |    2 | 00/DDC5 : A5 19       |                          LDA     {$19}                
 7442 | 27                  guard_lc.s    762 | Code        | 11 |         |    1 | 00/DDC7 : 0A          |                          ASL                          
 7443 | 27                  guard_lc.s    763 | Code        | 11 |         |    2 | 00/DDC8 : 65 19       |                          ADC     {$19}                
 7444 | 27                  guard_lc.s    764 | Code        | 11 |         |    1 | 00/DDCA : 0A          |                          ASL                          
 7445 | 27                  guard_lc.s    765 | Code        | 11 |         |    1 | 00/DDCB : 38          |                          SEC                          
 7446 | 27                  guard_lc.s    766 | Code        | 11 |         |    2 | 00/DDCC : E9 07       |                          SBC     #7                   
 7447 | 27                  guard_lc.s    767 | Code        | 11 |         |    2 | 00/DDCE : 85 F7       |                          STA     {$F7}                
 7448 | 27                  guard_lc.s    768 | Code        | 11 |         |    1 | 00/DDD0 : 60          |                          RTS                          
 7449 | 27                  guard_lc.s    769 | Empty       | 11 |         |    0 | 00/DDD1               |                                                       
 7450 | 27                  guard_lc.s    770 | Empty       | 11 |         |    0 | 00/DDD1               | _esSlope                                              
 7451 | 27                  guard_lc.s    771 | Code        | 11 |         |    2 | 00/DDD1 : A5 19       |                          LDA     {$19}                
 7452 | 27                  guard_lc.s    772 | Code        | 11 |         |    2 | 00/DDD3 : 85 1A       |                          STA     {$1A}                
 7453 | 27                  guard_lc.s    773 | Code        | 11 |         |    3 | 00/DDD5 : 20 82 10    |                          JSR     GetSlopeHeight       
 7454 | 27                  guard_lc.s    774 | Code        | 11 |         |    2 | 00/DDD8 : F0 13       |                          BEQ     _esDone              
 7455 | 27                  guard_lc.s    775 | Code        | 11 |         |    2 | 00/DDDA : 85 1B       |                          STA     {$1B}                
 7456 | 27                  guard_lc.s    776 | Code        | 11 |         |    2 | 00/DDDC : A5 1A       |                          LDA     {$1A}                
 7457 | 27                  guard_lc.s    777 | Code        | 11 |         |    1 | 00/DDDE : 0A          |                          ASL                          
 7458 | 27                  guard_lc.s    778 | Code        | 11 |         |    2 | 00/DDDF : 65 1A       |                          ADC     {$1A}                
 7459 | 27                  guard_lc.s    779 | Code        | 11 |         |    1 | 00/DDE1 : 0A          |                          ASL                          
 7460 | 27                  guard_lc.s    780 | Code        | 11 |         |    1 | 00/DDE2 : 18          |                          CLC                          
 7461 | 27                  guard_lc.s    781 | Code        | 11 |         |    2 | 00/DDE3 : 69 06       |                          ADC     #6                   
 7462 | 27                  guard_lc.s    782 | Code        | 11 |         |    1 | 00/DDE5 : 38          |                          SEC                          
 7463 | 27                  guard_lc.s    783 | Code        | 11 |         |    2 | 00/DDE6 : E5 1B       |                          SBC     {$1B}                
 7464 | 27                  guard_lc.s    784 | Code        | 11 |         |    1 | 00/DDE8 : 38          |                          SEC                          
 7465 | 27                  guard_lc.s    785 | Code        | 11 |         |    2 | 00/DDE9 : E9 0C       |                          SBC     #12                  
 7466 | 27                  guard_lc.s    786 | Code        | 11 |         |    2 | 00/DDEB : 85 F7       |                          STA     {$F7}                
 7467 | 27                  guard_lc.s    787 | Code        | 11 |         |    1 | 00/DDED : 60          | _esDone                  RTS                          
 7468 | 27                  guard_lc.s    788 | Empty       | 11 |         |    0 | 00/DDEE               |                                                       
 7469 | 27                  guard_lc.s    789 | Comment     | 11 |         |    0 | 00/DDEE               | *----------------------------------------------
 7470 | 27                  guard_lc.s    790 | Comment     | 11 |         |    0 | 00/DDEE               | * EntCanClimbUp - Is there a ladder above the entity?
 7471 | 27                  guard_lc.s    791 | Comment     | 11 |         |    0 | 00/DDEE               | * Snaps EntX to ladder center (see _LadderCenterSnap) on success,
 7472 | 27                  guard_lc.s    792 | Comment     | 11 |         |    0 | 00/DDEE               | * so callers do NOT need a separate EntCenterOnLadder call.
 7473 | 27                  guard_lc.s    793 | Comment     | 11 |         |    0 | 00/DDEE               | * Out: Z=0 (BNE) if can climb, Z=1 (BEQ) if not
 7474 | 27                  guard_lc.s    794 | Comment     | 11 |         |    0 | 00/DDEE               | *----------------------------------------------
 7475 | 27                  guard_lc.s    795 | Empty       | 11 |         |    0 | 00/DDEE               | EntCanClimbUp                                         
 7476 | 27                  guard_lc.s    796 | Code        | 11 |         |    2 | 00/DDEE : A5 F7       |                          LDA     {$F7}                
 7477 | 27                  guard_lc.s    797 | Code        | 11 |         |    1 | 00/DDF0 : 18          |                          CLC                          
 7478 | 27                  guard_lc.s    798 | Code        | 11 |         |    2 | 00/DDF1 : 69 02       |                          ADC     #2                   
 7479 | 27                  guard_lc.s    799 | Code        | 11 |         |    2 | 00/DDF3 : A6 F6       |                          LDX     {$F6}                
 7480 | 27                  guard_lc.s    800 | Code        | 11 |         |    1 | 00/DDF5 : E8          |                          INX                          
 7481 | 27                  guard_lc.s    801 | Code        | 11 |         |    1 | 00/DDF6 : E8          |                          INX                          
 7482 | 27                  guard_lc.s    802 | Code        | 11 |         |    1 | 00/DDF7 : E8          |                          INX                          
 7483 | 27                  guard_lc.s    803 | Code        | 11 |         |    3 | 00/DDF8 : 4C BD 71    |                          JMP     _LadderCenterSnap    
 7484 | 27                  guard_lc.s    804 | Empty       | 11 |         |    0 | 00/DDFB               |                                                       
 7485 | 27                  guard_lc.s    805 | Comment     | 11 |         |    0 | 00/DDFB               | *----------------------------------------------
 7486 | 27                  guard_lc.s    806 | Comment     | 11 |         |    0 | 00/DDFB               | * EntCanClimbDown - Is there a ladder below the entity?
 7487 | 27                  guard_lc.s    807 | Comment     | 11 |         |    0 | 00/DDFB               | * Snaps EntX on success (see EntCanClimbUp).
 7488 | 27                  guard_lc.s    808 | Comment     | 11 |         |    0 | 00/DDFB               | * Out: Z=0 (BNE) if can climb, Z=1 (BEQ) if not
 7489 | 27                  guard_lc.s    809 | Comment     | 11 |         |    0 | 00/DDFB               | *----------------------------------------------
 7490 | 27                  guard_lc.s    810 | Empty       | 11 |         |    0 | 00/DDFB               | EntCanClimbDown                                       
 7491 | 27                  guard_lc.s    811 | Code        | 11 |         |    2 | 00/DDFB : A5 F7       |                          LDA     {$F7}                
 7492 | 27                  guard_lc.s    812 | Code        | 11 |         |    1 | 00/DDFD : 18          |                          CLC                          
 7493 | 27                  guard_lc.s    813 | Code        | 11 |         |    2 | 00/DDFE : 69 0C       |                          ADC     #12                  
 7494 | 27                  guard_lc.s    814 | Code        | 11 |         |    2 | 00/DE00 : C9 C0       |                          CMP     #192                 
 7495 | 27                  guard_lc.s    815 | Code        | 11 |         |    2 | 00/DE02 : B0 08       |                          BCS     _ecdNo               
 7496 | 27                  guard_lc.s    816 | Code        | 11 |         |    2 | 00/DE04 : A6 F6       |                          LDX     {$F6}                
 7497 | 27                  guard_lc.s    817 | Code        | 11 |         |    1 | 00/DE06 : E8          |                          INX                          
 7498 | 27                  guard_lc.s    818 | Code        | 11 |         |    1 | 00/DE07 : E8          |                          INX                          
 7499 | 27                  guard_lc.s    819 | Code        | 11 |         |    1 | 00/DE08 : E8          |                          INX                          
 7500 | 27                  guard_lc.s    820 | Code        | 11 |         |    3 | 00/DE09 : 4C BD 71    |                          JMP     _LadderCenterSnap    
 7501 | 27                  guard_lc.s    821 | Code        | 11 |         |    2 | 00/DE0C : A9 00       | _ecdNo                   LDA     #0                   
 7502 | 27                  guard_lc.s    822 | Code        | 11 |         |    1 | 00/DE0E : 60          |                          RTS                          
 7503 | 27                  guard_lc.s    823 | Empty       | 11 |         |    0 | 00/DE0F               |                                                       
 7504 | 27                  guard_lc.s    824 | Comment     | 11 |         |    0 | 00/DE0F               | * _LadderCenterSnap is shared with the player and lives in player.s
 7505 | 27                  guard_lc.s    825 | Comment     | 11 |         |    0 | 00/DE0F               | * (main RAM) so it can be reused without consuming LC bank 2 budget.
 7506 | 27                  guard_lc.s    826 | Empty       | 11 |         |    0 | 00/DE0F               |                                                       
 7507 | 27                  guard_lc.s    827 | Comment     | 11 |         |    0 | 00/DE0F               | *----------------------------------------------
 7508 | 27                  guard_lc.s    828 | Comment     | 11 |         |    0 | 00/DE0F               | * Guard rendering routines (in LC for main RAM space savings)
 7509 | 27                  guard_lc.s    829 | Comment     | 11 |         |    0 | 00/DE0F               | *----------------------------------------------
 7510 | 27                  guard_lc.s    830 | Empty       | 11 |         |    0 | 00/DE0F               |                                                       
 7511 | 27                  guard_lc.s    831 | Empty       | 11 |         |    0 | 00/DE0F               | SaveGuardItem                                         
 7512 | 27                  guard_lc.s    832 | Code        | 11 |         |    3 | 00/DE0F : 20 C9 DE    |                          JSR     _GuardSlotY          
 7513 | 27                  guard_lc.s    833 | Code        | 11 |         |    2 | 00/DE12 : A5 1E       |                          LDA     {$1E}                
 7514 | 27                  guard_lc.s    834 | Code        | 11 |         |    2 | 00/DE14 : D0 13       |                          BNE     ozunid_26            
 7515 | 27                  guard_lc.s    835 | Code        | 11 |         |    3 | 00/DE16 : BD 88 11    |                          LDA     GuardTblX,X          
 7516 | 27                  guard_lc.s    836 | Code        | 11 |         |    3 | 00/DE19 : 99 7C 03    |                          STA     {$037C},Y            
 7517 | 27                  guard_lc.s    837 | Code        | 11 |         |    3 | 00/DE1C : BD 8B 11    |                          LDA     GuardTblY,X          
 7518 | 27                  guard_lc.s    838 | Code        | 11 |         |    3 | 00/DE1F : 99 7D 03    |                          STA     {$037C}+1,Y          
 7519 | 27                  guard_lc.s    839 | Code        | 11 |         |    3 | 00/DE22 : BD 97 11    |                          LDA     GuardTblFr,X         
 7520 | 27                  guard_lc.s    840 | Code        | 11 |         |    3 | 00/DE25 : 99 7E 03    |                          STA     {$037C}+2,Y          
 7521 | 27                  guard_lc.s    841 | Code        | 11 |         |    1 | 00/DE28 : 60          |                          RTS                          
 7522 | 27                  guard_lc.s    842 | Code        | 11 |         |    3 | 00/DE29 : BD 88 11    | ozunid_26                LDA     GuardTblX,X          
 7523 | 27                  guard_lc.s    843 | Code        | 11 |         |    3 | 00/DE2C : 99 85 03    |                          STA     {$0385},Y            
 7524 | 27                  guard_lc.s    844 | Code        | 11 |         |    3 | 00/DE2F : BD 8B 11    |                          LDA     GuardTblY,X          
 7525 | 27                  guard_lc.s    845 | Code        | 11 |         |    3 | 00/DE32 : 99 86 03    |                          STA     {$0385}+1,Y          
 7526 | 27                  guard_lc.s    846 | Code        | 11 |         |    3 | 00/DE35 : BD 97 11    |                          LDA     GuardTblFr,X         
 7527 | 27                  guard_lc.s    847 | Code        | 11 |         |    3 | 00/DE38 : 99 87 03    |                          STA     {$0385}+2,Y          
 7528 | 27                  guard_lc.s    848 | Code        | 11 |         |    1 | 00/DE3B : 60          |                          RTS                          
 7529 | 27                  guard_lc.s    849 | Empty       | 11 |         |    0 | 00/DE3C               |                                                       
 7530 | 27                  guard_lc.s    850 | Empty       | 11 |         |    0 | 00/DE3C               | LoadGuardItem                                         
 7531 | 27                  guard_lc.s    851 | Code        | 11 |         |    3 | 00/DE3C : 20 C9 DE    |                          JSR     _GuardSlotY          
 7532 | 27                  guard_lc.s    852 | Code        | 11 |         |    2 | 00/DE3F : A5 1E       |                          LDA     {$1E}                
 7533 | 27                  guard_lc.s    853 | Code        | 11 |         |    2 | 00/DE41 : D0 16       |                          BNE     ozunid_27            
 7534 | 27                  guard_lc.s    854 | Code        | 11 |         |    3 | 00/DE43 : B9 7E 03    |                          LDA     {$037C}+2,Y          
 7535 | 27                  guard_lc.s    855 | Code        | 11 |         |    2 | 00/DE46 : C9 FF       |                          CMP     #$FF                 
 7536 | 27                  guard_lc.s    856 | Code        | 11 |         |    2 | 00/DE48 : F0 25       |                          BEQ     ozunid_28            
 7537 | 27                  guard_lc.s    857 | Code        | 11 |         |    2 | 00/DE4A : 85 16       |                          STA     {$16}                
 7538 | 27                  guard_lc.s    858 | Code        | 11 |         |    3 | 00/DE4C : B9 7C 03    |                          LDA     {$037C},Y            
 7539 | 27                  guard_lc.s    859 | Code        | 11 |         |    2 | 00/DE4F : 85 14       |                          STA     {$14}                
 7540 | 27                  guard_lc.s    860 | Code        | 11 |         |    3 | 00/DE51 : B9 7D 03    |                          LDA     {$037C}+1,Y          
 7541 | 27                  guard_lc.s    861 | Code        | 11 |         |    2 | 00/DE54 : 85 15       |                          STA     {$15}                
 7542 | 27                  guard_lc.s    862 | Code        | 11 |         |    2 | 00/DE56 : A5 16       |                          LDA     {$16}                
 7543 | 27                  guard_lc.s    863 | Code        | 11 |         |    1 | 00/DE58 : 60          |                          RTS                          
 7544 | 27                  guard_lc.s    864 | Code        | 11 |         |    3 | 00/DE59 : B9 87 03    | ozunid_27                LDA     {$0385}+2,Y          
 7545 | 27                  guard_lc.s    865 | Code        | 11 |         |    2 | 00/DE5C : C9 FF       |                          CMP     #$FF                 
 7546 | 27                  guard_lc.s    866 | Code        | 11 |         |    2 | 00/DE5E : F0 0F       |                          BEQ     ozunid_28            
 7547 | 27                  guard_lc.s    867 | Code        | 11 |         |    2 | 00/DE60 : 85 16       |                          STA     {$16}                
 7548 | 27                  guard_lc.s    868 | Code        | 11 |         |    3 | 00/DE62 : B9 85 03    |                          LDA     {$0385},Y            
 7549 | 27                  guard_lc.s    869 | Code        | 11 |         |    2 | 00/DE65 : 85 14       |                          STA     {$14}                
 7550 | 27                  guard_lc.s    870 | Code        | 11 |         |    3 | 00/DE67 : B9 86 03    |                          LDA     {$0385}+1,Y          
 7551 | 27                  guard_lc.s    871 | Code        | 11 |         |    2 | 00/DE6A : 85 15       |                          STA     {$15}                
 7552 | 27                  guard_lc.s    872 | Code        | 11 |         |    2 | 00/DE6C : A5 16       |                          LDA     {$16}                
 7553 | 27                  guard_lc.s    873 | Code        | 11 |         |    1 | 00/DE6E : 60          |                          RTS                          
 7554 | 27                  guard_lc.s    874 | Code        | 11 |         |    2 | 00/DE6F : A9 FF       | ozunid_28                LDA     #$FF                 
 7555 | 27                  guard_lc.s    875 | Code        | 11 |         |    1 | 00/DE71 : 60          |                          RTS                          
 7556 | 27                  guard_lc.s    876 | Empty       | 11 |         |    0 | 00/DE72               |                                                       
 7557 | 27                  guard_lc.s    877 | Empty       | 11 |         |    0 | 00/DE72               | MarkGuardEmpty                                        
 7558 | 27                  guard_lc.s    878 | Code        | 11 |         |    3 | 00/DE72 : 20 C9 DE    |                          JSR     _GuardSlotY          
 7559 | 27                  guard_lc.s    879 | Code        | 11 |         |    2 | 00/DE75 : A5 1E       |                          LDA     {$1E}                
 7560 | 27                  guard_lc.s    880 | Code        | 11 |         |    2 | 00/DE77 : D0 06       |                          BNE     _mgP1                
 7561 | 27                  guard_lc.s    881 | Code        | 11 |         |    2 | 00/DE79 : A9 FF       |                          LDA     #$FF                 
 7562 | 27                  guard_lc.s    882 | Code        | 11 |         |    3 | 00/DE7B : 99 7E 03    |                          STA     {$037C}+2,Y          
 7563 | 27                  guard_lc.s    883 | Code        | 11 |         |    1 | 00/DE7E : 60          |                          RTS                          
 7564 | 27                  guard_lc.s    884 | Code        | 11 |         |    2 | 00/DE7F : A9 FF       | _mgP1                    LDA     #$FF                 
 7565 | 27                  guard_lc.s    885 | Code        | 11 |         |    3 | 00/DE81 : 99 87 03    |                          STA     {$0385}+2,Y          
 7566 | 27                  guard_lc.s    886 | Code        | 11 |         |    1 | 00/DE84 : 60          |                          RTS                          
 7567 | 27                  guard_lc.s    887 | Empty       | 11 |         |    0 | 00/DE85               |                                                       
 7568 | 27                  guard_lc.s    888 | Empty       | 11 |         |    0 | 00/DE85               | DrawGuards                                            
 7569 | 27                  guard_lc.s    889 | Code        | 11 |         |    2 | 00/DE85 : A2 00       |                          LDX     #0                   
 7570 | 27                  guard_lc.s    890 | Code        | 11 |         |    3 | 00/DE87 : EC C8 11    | ozunid_29                CPX     GuardActiveCount     
 7571 | 27                  guard_lc.s    891 | Code        | 11 |         |    2 | 00/DE8A : B0 26       |                          BCS     ozunid_32            
 7572 | 27                  guard_lc.s    892 | Code        | 11 |         |    3 | 00/DE8C : BD 8E 11    |                          LDA     GuardTblMap,X        
 7573 | 27                  guard_lc.s    893 | Code        | 11 |         |    2 | 00/DE8F : C5 1C       |                          CMP     {$1C}                
 7574 | 27                  guard_lc.s    894 | Code        | 11 |         |    2 | 00/DE91 : D0 19       |                          BNE     ozunid_30            
 7575 | 27                  guard_lc.s    895 | Code        | 11 |         |    1 | 00/DE93 : DA          |                          PHX                          
 7576 | 27                  guard_lc.s    896 | Code        | 11 |         |    3 | 00/DE94 : BD 88 11    |                          LDA     GuardTblX,X          
 7577 | 27                  guard_lc.s    897 | Code        | 11 |         |    2 | 00/DE97 : 85 14       |                          STA     {$14}                
 7578 | 27                  guard_lc.s    898 | Code        | 11 |         |    3 | 00/DE99 : BD 8B 11    |                          LDA     GuardTblY,X          
 7579 | 27                  guard_lc.s    899 | Code        | 11 |         |    2 | 00/DE9C : 85 15       |                          STA     {$15}                
 7580 | 27                  guard_lc.s    900 | Code        | 11 |         |    3 | 00/DE9E : BD 97 11    |                          LDA     GuardTblFr,X         
 7581 | 27                  guard_lc.s    901 | Code        | 11 |         |    2 | 00/DEA1 : 85 16       |                          STA     {$16}                
 7582 | 27                  guard_lc.s    902 | Code        | 11 |         |    3 | 00/DEA3 : 20 AB 7E    |                          JSR     DrawSprite           
 7583 | 27                  guard_lc.s    903 | Code        | 11 |         |    1 | 00/DEA6 : FA          |                          PLX                          
 7584 | 27                  guard_lc.s    904 | Code        | 11 |         |    3 | 00/DEA7 : 20 0F DE    |                          JSR     SaveGuardItem        
 7585 | 27                  guard_lc.s    905 | Code        | 11 |         |    2 | 00/DEAA : 80 03       |                          BRA     ozunid_31            
 7586 | 27                  guard_lc.s    906 | Code        | 11 |         |    3 | 00/DEAC : 20 72 DE    | ozunid_30                JSR     MarkGuardEmpty       
 7587 | 27                  guard_lc.s    907 | Code        | 11 |         |    1 | 00/DEAF : E8          | ozunid_31                INX                          
 7588 | 27                  guard_lc.s    908 | Code        | 11 |         |    2 | 00/DEB0 : 80 D5       |                          BRA     ozunid_29            
 7589 | 27                  guard_lc.s    909 | Code        | 11 |         |    1 | 00/DEB2 : 60          | ozunid_32                RTS                          
 7590 | 27                  guard_lc.s    910 | Empty       | 11 |         |    0 | 00/DEB3               |                                                       
 7591 | 27                  guard_lc.s    911 | Empty       | 11 |         |    0 | 00/DEB3               | EraseGuards                                           
 7592 | 27                  guard_lc.s    912 | Code        | 11 |         |    2 | 00/DEB3 : A2 00       |                          LDX     #0                   
 7593 | 27                  guard_lc.s    913 | Code        | 11 |         |    2 | 00/DEB5 : E0 03       | ozunid_33                CPX     #{3}                 
 7594 | 27                  guard_lc.s    914 | Code        | 11 |         |    2 | 00/DEB7 : B0 0F       |                          BCS     ozunid_35            
 7595 | 27                  guard_lc.s    915 | Code        | 11 |         |    3 | 00/DEB9 : 20 3C DE    |                          JSR     LoadGuardItem        
 7596 | 27                  guard_lc.s    916 | Code        | 11 |         |    2 | 00/DEBC : C9 FF       |                          CMP     #$FF                 
 7597 | 27                  guard_lc.s    917 | Code        | 11 |         |    2 | 00/DEBE : F0 05       |                          BEQ     ozunid_34            
 7598 | 27                  guard_lc.s    918 | Code        | 11 |         |    1 | 00/DEC0 : DA          |                          PHX                          
 7599 | 27                  guard_lc.s    919 | Code        | 11 |         |    3 | 00/DEC1 : 20 08 65    |                          JSR     EraseSpriteArea      
 7600 | 27                  guard_lc.s    920 | Code        | 11 |         |    1 | 00/DEC4 : FA          |                          PLX                          
 7601 | 27                  guard_lc.s    921 | Code        | 11 |         |    1 | 00/DEC5 : E8          | ozunid_34                INX                          
 7602 | 27                  guard_lc.s    922 | Code        | 11 |         |    2 | 00/DEC6 : 80 ED       |                          BRA     ozunid_33            
 7603 | 27                  guard_lc.s    923 | Code        | 11 |         |    1 | 00/DEC8 : 60          | ozunid_35                RTS                          
 7604 | 27                  guard_lc.s    924 | Empty       | 11 |         |    0 | 00/DEC9               |                                                       
 7605 | 27                  guard_lc.s    925 | Empty       | 11 |         |    0 | 00/DEC9               | _GuardSlotY                                           
 7606 | 27                  guard_lc.s    926 | Code        | 11 |         |    1 | 00/DEC9 : 8A          |                          TXA                          
 7607 | 27                  guard_lc.s    927 | Code        | 11 |         |    2 | 00/DECA : 85 1A       |                          STA     {$1A}                
 7608 | 27                  guard_lc.s    928 | Code        | 11 |         |    1 | 00/DECC : 0A          |                          ASL                          
 7609 | 27                  guard_lc.s    929 | Code        | 11 |         |    1 | 00/DECD : 18          |                          CLC                          
 7610 | 27                  guard_lc.s    930 | Code        | 11 |         |    2 | 00/DECE : 65 1A       |                          ADC     {$1A}                
 7611 | 27                  guard_lc.s    931 | Code        | 11 |         |    1 | 00/DED0 : A8          |                          TAY                          
 7612 | 27                  guard_lc.s    932 | Code        | 11 |         |    1 | 00/DED1 : 60          |                          RTS                          
 7613 | 27                  guard_lc.s    933 | Empty       | 11 |         |    0 | 00/DED2               |                                                       
 7614 | 27                  guard_lc.s    934 | Empty       | 11 |         |    0 | 00/DED2               | DrawPreviewGuards                                     
 7615 | 27                  guard_lc.s    935 | Code        | 11 |         |    2 | 00/DED2 : A2 00       |                          LDX     #0                   
 7616 | 27                  guard_lc.s    936 | Code        | 11 |         |    3 | 00/DED4 : EC C8 11    | _dpgLoop                 CPX     GuardActiveCount     
 7617 | 27                  guard_lc.s    937 | Code        | 11 |         |    2 | 00/DED7 : B0 5D       |                          BCS     _dpgDone             
 7618 | 27                  guard_lc.s    938 | Code        | 11 |         |    3 | 00/DED9 : BD 8E 11    |                          LDA     GuardTblMap,X        
 7619 | 27                  guard_lc.s    939 | Code        | 11 |         |    2 | 00/DEDC : C5 1C       |                          CMP     {$1C}                
 7620 | 27                  guard_lc.s    940 | Code        | 11 |         |    2 | 00/DEDE : F0 4B       |                          BEQ     _dpgSkip             
 7621 | 27                  guard_lc.s    941 | Code        | 11 |         |    1 | 00/DEE0 : DA          |                          PHX                          
 7622 | 27                  guard_lc.s    942 | Code        | 11 |         |    2 | 00/DEE1 : A6 1C       |                          LDX     {$1C}                
 7623 | 27                  guard_lc.s    943 | Code        | 11 |         |    3 | 00/DEE3 : BD B4 77    |                          LDA     CartAdjL,X           
 7624 | 27                  guard_lc.s    944 | Code        | 11 |         |    1 | 00/DEE6 : FA          |                          PLX                          
 7625 | 27                  guard_lc.s    945 | Code        | 11 |         |    3 | 00/DEE7 : DD 8E 11    |                          CMP     GuardTblMap,X        
 7626 | 27                  guard_lc.s    946 | Code        | 11 |         |    2 | 00/DEEA : D0 0E       |                          BNE     _dpgChkR             
 7627 | 27                  guard_lc.s    947 | Code        | 11 |         |    3 | 00/DEEC : BD 88 11    |                          LDA     GuardTblX,X          
 7628 | 27                  guard_lc.s    948 | Code        | 11 |         |    1 | 00/DEEF : 38          |                          SEC                          
 7629 | 27                  guard_lc.s    949 | Code        | 11 |         |    2 | 00/DEF0 : E9 62       |                          SBC     #{98}                
 7630 | 27                  guard_lc.s    950 | Code        | 11 |         |    2 | 00/DEF2 : 90 37       |                          BCC     _dpgSkip             
 7631 | 27                  guard_lc.s    951 | Code        | 11 |         |    2 | 00/DEF4 : C9 86       |                          CMP     #134                 
 7632 | 27                  guard_lc.s    952 | Code        | 11 |         |    2 | 00/DEF6 : B0 33       |                          BCS     _dpgSkip             
 7633 | 27                  guard_lc.s    953 | Code        | 11 |         |    2 | 00/DEF8 : 80 18       |                          BRA     _dpgDraw             
 7634 | 27                  guard_lc.s    954 | Code        | 11 |         |    1 | 00/DEFA : DA          | _dpgChkR                 PHX                          
 7635 | 27                  guard_lc.s    955 | Code        | 11 |         |    2 | 00/DEFB : A6 1C       |                          LDX     {$1C}                
 7636 | 27                  guard_lc.s    956 | Code        | 11 |         |    3 | 00/DEFD : BD B7 77    |                          LDA     CartAdjR,X           
 7637 | 27                  guard_lc.s    957 | Code        | 11 |         |    1 | 00/DF00 : FA          |                          PLX                          
 7638 | 27                  guard_lc.s    958 | Code        | 11 |         |    3 | 00/DF01 : DD 8E 11    |                          CMP     GuardTblMap,X        
 7639 | 27                  guard_lc.s    959 | Code        | 11 |         |    2 | 00/DF04 : D0 25       |                          BNE     _dpgSkip             
 7640 | 27                  guard_lc.s    960 | Code        | 11 |         |    3 | 00/DF06 : BD 88 11    |                          LDA     GuardTblX,X          
 7641 | 27                  guard_lc.s    961 | Code        | 11 |         |    1 | 00/DF09 : 18          |                          CLC                          
 7642 | 27                  guard_lc.s    962 | Code        | 11 |         |    2 | 00/DF0A : 69 62       |                          ADC     #{98}                
 7643 | 27                  guard_lc.s    963 | Code        | 11 |         |    2 | 00/DF0C : B0 1D       |                          BCS     _dpgSkip             
 7644 | 27                  guard_lc.s    964 | Code        | 11 |         |    2 | 00/DF0E : C9 86       |                          CMP     #134                 
 7645 | 27                  guard_lc.s    965 | Code        | 11 |         |    2 | 00/DF10 : B0 19       |                          BCS     _dpgSkip             
 7646 | 27                  guard_lc.s    966 | Code        | 11 |         |    2 | 00/DF12 : 85 14       | _dpgDraw                 STA     {$14}                
 7647 | 27                  guard_lc.s    967 | Code        | 11 |         |    3 | 00/DF14 : BD 8B 11    |                          LDA     GuardTblY,X          
 7648 | 27                  guard_lc.s    968 | Code        | 11 |         |    2 | 00/DF17 : 85 15       |                          STA     {$15}                
 7649 | 27                  guard_lc.s    969 | Code        | 11 |         |    3 | 00/DF19 : BD 97 11    |                          LDA     GuardTblFr,X         
 7650 | 27                  guard_lc.s    970 | Code        | 11 |         |    2 | 00/DF1C : 85 16       |                          STA     {$16}                
 7651 | 27                  guard_lc.s    971 | Code        | 11 |         |    1 | 00/DF1E : DA          |                          PHX                          
 7652 | 27                  guard_lc.s    972 | Code        | 11 |         |    3 | 00/DF1F : 20 C9 DE    |                          JSR     _GuardSlotY          
 7653 | 27                  guard_lc.s    973 | Code        | 11 |         |    3 | 00/DF22 : 20 50 DF    |                          JSR     _SavePrvGrdSlot      
 7654 | 27                  guard_lc.s    974 | Code        | 11 |         |    3 | 00/DF25 : 20 AB 7E    |                          JSR     DrawSprite           
 7655 | 27                  guard_lc.s    975 | Code        | 11 |         |    1 | 00/DF28 : FA          |                          PLX                          
 7656 | 27                  guard_lc.s    976 | Code        | 11 |         |    2 | 00/DF29 : 80 08       |                          BRA     _dpgNext             
 7657 | 27                  guard_lc.s    977 | Code        | 11 |         |    1 | 00/DF2B : DA          | _dpgSkip                 PHX                          
 7658 | 27                  guard_lc.s    978 | Code        | 11 |         |    3 | 00/DF2C : 20 C9 DE    |                          JSR     _GuardSlotY          
 7659 | 27                  guard_lc.s    979 | Code        | 11 |         |    3 | 00/DF2F : 20 74 DF    |                          JSR     _MarkPrvGrdEmpty     
 7660 | 27                  guard_lc.s    980 | Code        | 11 |         |    1 | 00/DF32 : FA          |                          PLX                          
 7661 | 27                  guard_lc.s    981 | Code        | 11 |         |    1 | 00/DF33 : E8          | _dpgNext                 INX                          
 7662 | 27                  guard_lc.s    982 | Code        | 11 |         |    2 | 00/DF34 : 80 9E       |                          BRA     _dpgLoop             
 7663 | 27                  guard_lc.s    983 | Code        | 11 |         |    1 | 00/DF36 : 60          | _dpgDone                 RTS                          
 7664 | 27                  guard_lc.s    984 | Empty       | 11 |         |    0 | 00/DF37               |                                                       
 7665 | 27                  guard_lc.s    985 | Empty       | 11 |         |    0 | 00/DF37               | ErasePreviewGuards                                    
 7666 | 27                  guard_lc.s    986 | Code        | 11 |         |    2 | 00/DF37 : A2 00       |                          LDX     #0                   
 7667 | 27                  guard_lc.s    987 | Code        | 11 |         |    2 | 00/DF39 : E0 03       | _epgLoop                 CPX     #{3}                 
 7668 | 27                  guard_lc.s    988 | Code        | 11 |         |    2 | 00/DF3B : B0 12       |                          BCS     _epgDone             
 7669 | 27                  guard_lc.s    989 | Code        | 11 |         |    1 | 00/DF3D : DA          |                          PHX                          
 7670 | 27                  guard_lc.s    990 | Code        | 11 |         |    3 | 00/DF3E : 20 C9 DE    |                          JSR     _GuardSlotY          
 7671 | 27                  guard_lc.s    991 | Code        | 11 |         |    3 | 00/DF41 : 20 84 DF    |                          JSR     _LoadPrvGrdSlot      
 7672 | 27                  guard_lc.s    992 | Code        | 11 |         |    2 | 00/DF44 : C9 FF       |                          CMP     #$FF                 
 7673 | 27                  guard_lc.s    993 | Code        | 11 |         |    2 | 00/DF46 : F0 03       |                          BEQ     _epgSkip             
 7674 | 27                  guard_lc.s    994 | Code        | 11 |         |    3 | 00/DF48 : 20 08 65    |                          JSR     EraseSpriteArea      
 7675 | 27                  guard_lc.s    995 | Code        | 11 |         |    1 | 00/DF4B : FA          | _epgSkip                 PLX                          
 7676 | 27                  guard_lc.s    996 | Code        | 11 |         |    1 | 00/DF4C : E8          |                          INX                          
 7677 | 27                  guard_lc.s    997 | Code        | 11 |         |    2 | 00/DF4D : 80 EA       |                          BRA     _epgLoop             
 7678 | 27                  guard_lc.s    998 | Code        | 11 |         |    1 | 00/DF4F : 60          | _epgDone                 RTS                          
 7679 | 27                  guard_lc.s    999 | Empty       | 11 |         |    0 | 00/DF50               |                                                       
 7680 | 27                  guard_lc.s   1000 | Empty       | 11 |         |    0 | 00/DF50               | _SavePrvGrdSlot                                       
 7681 | 27                  guard_lc.s   1001 | Code        | 11 |         |    2 | 00/DF50 : A5 1E       |                          LDA     {$1E}                
 7682 | 27                  guard_lc.s   1002 | Code        | 11 |         |    2 | 00/DF52 : D0 10       |                          BNE     _spgP1               
 7683 | 27                  guard_lc.s   1003 | Code        | 11 |         |    2 | 00/DF54 : A5 14       |                          LDA     {$14}                
 7684 | 27                  guard_lc.s   1004 | Code        | 11 |         |    3 | 00/DF56 : 99 8E 03    |                          STA     {$038E},Y            
 7685 | 27                  guard_lc.s   1005 | Code        | 11 |         |    2 | 00/DF59 : A5 15       |                          LDA     {$15}                
 7686 | 27                  guard_lc.s   1006 | Code        | 11 |         |    3 | 00/DF5B : 99 8F 03    |                          STA     {$038E}+1,Y          
 7687 | 27                  guard_lc.s   1007 | Code        | 11 |         |    2 | 00/DF5E : A5 16       |                          LDA     {$16}                
 7688 | 27                  guard_lc.s   1008 | Code        | 11 |         |    3 | 00/DF60 : 99 90 03    |                          STA     {$038E}+2,Y          
 7689 | 27                  guard_lc.s   1009 | Code        | 11 |         |    1 | 00/DF63 : 60          |                          RTS                          
 7690 | 27                  guard_lc.s   1010 | Code        | 11 |         |    2 | 00/DF64 : A5 14       | _spgP1                   LDA     {$14}                
 7691 | 27                  guard_lc.s   1011 | Code        | 11 |         |    3 | 00/DF66 : 99 9A 03    |                          STA     {$039A},Y            
 7692 | 27                  guard_lc.s   1012 | Code        | 11 |         |    2 | 00/DF69 : A5 15       |                          LDA     {$15}                
 7693 | 27                  guard_lc.s   1013 | Code        | 11 |         |    3 | 00/DF6B : 99 9B 03    |                          STA     {$039A}+1,Y          
 7694 | 27                  guard_lc.s   1014 | Code        | 11 |         |    2 | 00/DF6E : A5 16       |                          LDA     {$16}                
 7695 | 27                  guard_lc.s   1015 | Code        | 11 |         |    3 | 00/DF70 : 99 9C 03    |                          STA     {$039A}+2,Y          
 7696 | 27                  guard_lc.s   1016 | Code        | 11 |         |    1 | 00/DF73 : 60          |                          RTS                          
 7697 | 27                  guard_lc.s   1017 | Empty       | 11 |         |    0 | 00/DF74               |                                                       
 7698 | 27                  guard_lc.s   1018 | Empty       | 11 |         |    0 | 00/DF74               | _MarkPrvGrdEmpty                                      
 7699 | 27                  guard_lc.s   1019 | Code        | 11 |         |    2 | 00/DF74 : A5 1E       |                          LDA     {$1E}                
 7700 | 27                  guard_lc.s   1020 | Code        | 11 |         |    2 | 00/DF76 : D0 06       |                          BNE     _mpgP1               
 7701 | 27                  guard_lc.s   1021 | Code        | 11 |         |    2 | 00/DF78 : A9 FF       |                          LDA     #$FF                 
 7702 | 27                  guard_lc.s   1022 | Code        | 11 |         |    3 | 00/DF7A : 99 90 03    |                          STA     {$038E}+2,Y          
 7703 | 27                  guard_lc.s   1023 | Code        | 11 |         |    1 | 00/DF7D : 60          |                          RTS                          
 7704 | 27                  guard_lc.s   1024 | Code        | 11 |         |    2 | 00/DF7E : A9 FF       | _mpgP1                   LDA     #$FF                 
 7705 | 27                  guard_lc.s   1025 | Code        | 11 |         |    3 | 00/DF80 : 99 9C 03    |                          STA     {$039A}+2,Y          
 7706 | 27                  guard_lc.s   1026 | Code        | 11 |         |    1 | 00/DF83 : 60          |                          RTS                          
 7707 | 27                  guard_lc.s   1027 | Empty       | 11 |         |    0 | 00/DF84               |                                                       
 7708 | 27                  guard_lc.s   1028 | Empty       | 11 |         |    0 | 00/DF84               | _LoadPrvGrdSlot                                       
 7709 | 27                  guard_lc.s   1029 | Code        | 11 |         |    2 | 00/DF84 : A5 1E       |                          LDA     {$1E}                
 7710 | 27                  guard_lc.s   1030 | Code        | 11 |         |    2 | 00/DF86 : D0 16       |                          BNE     _lpgP1               
 7711 | 27                  guard_lc.s   1031 | Code        | 11 |         |    3 | 00/DF88 : B9 90 03    |                          LDA     {$038E}+2,Y          
 7712 | 27                  guard_lc.s   1032 | Code        | 11 |         |    2 | 00/DF8B : C9 FF       |                          CMP     #$FF                 
 7713 | 27                  guard_lc.s   1033 | Code        | 11 |         |    2 | 00/DF8D : F0 25       |                          BEQ     _lpgEmpty            
 7714 | 27                  guard_lc.s   1034 | Code        | 11 |         |    2 | 00/DF8F : 85 16       |                          STA     {$16}                
 7715 | 27                  guard_lc.s   1035 | Code        | 11 |         |    3 | 00/DF91 : B9 8E 03    |                          LDA     {$038E},Y            
 7716 | 27                  guard_lc.s   1036 | Code        | 11 |         |    2 | 00/DF94 : 85 14       |                          STA     {$14}                
 7717 | 27                  guard_lc.s   1037 | Code        | 11 |         |    3 | 00/DF96 : B9 8F 03    |                          LDA     {$038E}+1,Y          
 7718 | 27                  guard_lc.s   1038 | Code        | 11 |         |    2 | 00/DF99 : 85 15       |                          STA     {$15}                
 7719 | 27                  guard_lc.s   1039 | Code        | 11 |         |    2 | 00/DF9B : A5 16       |                          LDA     {$16}                
 7720 | 27                  guard_lc.s   1040 | Code        | 11 |         |    1 | 00/DF9D : 60          |                          RTS                          
 7721 | 27                  guard_lc.s   1041 | Code        | 11 |         |    3 | 00/DF9E : B9 9C 03    | _lpgP1                   LDA     {$039A}+2,Y          
 7722 | 27                  guard_lc.s   1042 | Code        | 11 |         |    2 | 00/DFA1 : C9 FF       |                          CMP     #$FF                 
 7723 | 27                  guard_lc.s   1043 | Code        | 11 |         |    2 | 00/DFA3 : F0 0F       |                          BEQ     _lpgEmpty            
 7724 | 27                  guard_lc.s   1044 | Code        | 11 |         |    2 | 00/DFA5 : 85 16       |                          STA     {$16}                
 7725 | 27                  guard_lc.s   1045 | Code        | 11 |         |    3 | 00/DFA7 : B9 9A 03    |                          LDA     {$039A},Y            
 7726 | 27                  guard_lc.s   1046 | Code        | 11 |         |    2 | 00/DFAA : 85 14       |                          STA     {$14}                
 7727 | 27                  guard_lc.s   1047 | Code        | 11 |         |    3 | 00/DFAC : B9 9B 03    |                          LDA     {$039A}+1,Y          
 7728 | 27                  guard_lc.s   1048 | Code        | 11 |         |    2 | 00/DFAF : 85 15       |                          STA     {$15}                
 7729 | 27                  guard_lc.s   1049 | Code        | 11 |         |    2 | 00/DFB1 : A5 16       |                          LDA     {$16}                
 7730 | 27                  guard_lc.s   1050 | Code        | 11 |         |    1 | 00/DFB3 : 60          |                          RTS                          
 7731 | 27                  guard_lc.s   1051 | Code        | 11 |         |    2 | 00/DFB4 : A9 FF       | _lpgEmpty                LDA     #$FF                 
 7732 | 27                  guard_lc.s   1052 | Code        | 11 |         |    1 | 00/DFB6 : 60          |                          RTS                          
 7733 | 27                  guard_lc.s   1053 | Empty       | 11 |         |    0 | 00/DFB7               |                                                       
 7734 | 27                  guard_lc.s   1054 | Empty       | 11 |         |    0 | 00/DFB7               |                                                       
 7735 |  1                    bagman.s     63 | Empty       | 11 |         |    0 | 00/DFB7               | ozunid_90                                             
 7736 |  1                    bagman.s     63 | Equivalence | 11 |         |    0 | 00/DFB7               | LCBlockLen               =       ozunid_90-{$D400}    
 7737 |  1                    bagman.s     64 | Empty       | 11 |         |    0 | 00/DFB7               |                                                       
 7738 |  1                    bagman.s     65 | Comment     | 11 |         |    0 | 00/DFB7               | * --- Aux-LC shadow of ReadAux2 at $D0C3 ---
 7739 |  1                    bagman.s     66 | Comment     | 11 |         |    0 | 00/DFB7               | * DrawSpriteSolid's JSR ReadAux2 targets $D0C3. When called from
 7740 |  1                    bagman.s     67 | Comment     | 11 |         |    0 | 00/DFB7               | * aux-LC code (ShowSpriteCatalog), ALTZP is on so $D0C3 hits AUX LC.
 7741 |  1                    bagman.s     68 | Comment     | 11 |         |    0 | 00/DFB7               | * Mirror the ReadAux2 body at aux LC $D0C3 so the address resolves
 7742 |  1                    bagman.s     69 | Comment     | 11 |         |    0 | 00/DFB7               | * to working code in both banks.
 7743 |  1                    bagman.s     70 | Equivalence | 11 |         |    0 | 00/DFB7               | AuxLC2Dest               =       $D000                
 7744 |  1                    bagman.s     71 | Directive   | 11 |         |    0 | 00/DFB7               |                          ORG     {$D000}              
 7745 |  1                    bagman.s     72 | Directive   | 11 |         |    0 | 00/D000               |                          PUT     aux_read_aux2.s      
 7746 | 28             aux_read_aux2.s      1 | Comment     | 11 |         |    0 | 00/D000               | *
 7747 | 28             aux_read_aux2.s      2 | Comment     | 11 |         |    0 | 00/D000               | * Bagman - Aux-LC Shadow of ReadAux2
 7748 | 28             aux_read_aux2.s      3 | Comment     | 11 |         |    0 | 00/D000               | *
 7749 | 28             aux_read_aux2.s      4 | Comment     | 11 |         |    0 | 00/D000               | * DrawSpriteSolid (main code at $6000+) calls JSR ReadAux2 at $D0C3.
 7750 | 28             aux_read_aux2.s      5 | Comment     | 11 |         |    0 | 00/D000               | * When called from aux-LC code (ShowSpriteCatalog), ALTZP is on so
 7751 | 28             aux_read_aux2.s      6 | Comment     | 11 |         |    0 | 00/D000               | * the JSR indirects through AUX LC at $D0C3. This file lays down
 7752 | 28             aux_read_aux2.s      7 | Comment     | 11 |         |    0 | 00/D000               | * the same instruction bytes at aux LC $D0C3 so the call works in
 7753 | 28             aux_read_aux2.s      8 | Comment     | 11 |         |    0 | 00/D000               | * either bank.
 7754 | 28             aux_read_aux2.s      9 | Comment     | 11 |         |    0 | 00/D000               | *
 7755 | 28             aux_read_aux2.s     10 | Comment     | 11 |         |    0 | 00/D000               | * Preceded by DS padding to reach $D0C3.
 7756 | 28             aux_read_aux2.s     11 | Comment     | 11 |         |    0 | 00/D000               | *
 7757 | 28             aux_read_aux2.s     12 | Empty       | 11 |         |    0 | 00/D000               |                                                       
 7758 | 28             aux_read_aux2.s     13 | Empty       | 11 |         |    0 | 00/D000               | ozunid_91                                             
 7759 | 28             aux_read_aux2.s     13 | Data        | 11 |         |  195 | 00/D000 : 00 00 00 00 |                          DS      $D0C3-ozunid_91      ; pad from AuxLC2Dest ($D000) to $D0C3
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00    |
 7760 | 28             aux_read_aux2.s     14 | Empty       | 11 |         |    0 | 00/D0C3               | _AuxReadAux2                                          
 7761 | 28             aux_read_aux2.s     15 | Code        | 11 |         |    3 | 00/D0C3 : 8D 03 C0    |                          STA     {$C003}              
 7762 | 28             aux_read_aux2.s     16 | Code        | 11 |         |    2 | 00/D0C6 : A0 00       |                          LDY     #0                   
 7763 | 28             aux_read_aux2.s     17 | Code        | 11 |         |    2 | 00/D0C8 : B1 04       |                          LDA     ({$04}),Y            
 7764 | 28             aux_read_aux2.s     18 | Code        | 11 |         |    2 | 00/D0CA : 85 38       |                          STA     {$38}                
 7765 | 28             aux_read_aux2.s     19 | Code        | 11 |         |    1 | 00/D0CC : C8          |                          INY                          
 7766 | 28             aux_read_aux2.s     20 | Code        | 11 |         |    2 | 00/D0CD : B1 04       |                          LDA     ({$04}),Y            
 7767 | 28             aux_read_aux2.s     21 | Code        | 11 |         |    2 | 00/D0CF : 85 39       |                          STA     {$38}+1              
 7768 | 28             aux_read_aux2.s     22 | Code        | 11 |         |    1 | 00/D0D1 : C8          |                          INY                          
 7769 | 28             aux_read_aux2.s     23 | Code        | 11 |         |    2 | 00/D0D2 : B1 04       |                          LDA     ({$04}),Y            
 7770 | 28             aux_read_aux2.s     24 | Code        | 11 |         |    2 | 00/D0D4 : 85 3A       |                          STA     {$38}+2              
 7771 | 28             aux_read_aux2.s     25 | Code        | 11 |         |    1 | 00/D0D6 : C8          |                          INY                          
 7772 | 28             aux_read_aux2.s     26 | Code        | 11 |         |    2 | 00/D0D7 : B1 04       |                          LDA     ({$04}),Y            
 7773 | 28             aux_read_aux2.s     27 | Code        | 11 |         |    2 | 00/D0D9 : 85 3B       |                          STA     {$38}+3              
 7774 | 28             aux_read_aux2.s     28 | Code        | 11 |         |    1 | 00/D0DB : C8          |                          INY                          
 7775 | 28             aux_read_aux2.s     29 | Code        | 11 |         |    2 | 00/D0DC : B1 04       |                          LDA     ({$04}),Y            
 7776 | 28             aux_read_aux2.s     30 | Code        | 11 |         |    2 | 00/D0DE : 85 3C       |                          STA     {$38}+4              
 7777 | 28             aux_read_aux2.s     31 | Code        | 11 |         |    1 | 00/D0E0 : C8          |                          INY                          
 7778 | 28             aux_read_aux2.s     32 | Code        | 11 |         |    2 | 00/D0E1 : B1 04       |                          LDA     ({$04}),Y            
 7779 | 28             aux_read_aux2.s     33 | Code        | 11 |         |    2 | 00/D0E3 : 85 3D       |                          STA     {$38}+5              
 7780 | 28             aux_read_aux2.s     34 | Code        | 11 |         |    1 | 00/D0E5 : C8          |                          INY                          
 7781 | 28             aux_read_aux2.s     35 | Code        | 11 |         |    2 | 00/D0E6 : B1 04       |                          LDA     ({$04}),Y            
 7782 | 28             aux_read_aux2.s     36 | Code        | 11 |         |    2 | 00/D0E8 : 85 3E       |                          STA     {$38}+6              
 7783 | 28             aux_read_aux2.s     37 | Code        | 11 |         |    1 | 00/D0EA : C8          |                          INY                          
 7784 | 28             aux_read_aux2.s     38 | Code        | 11 |         |    2 | 00/D0EB : B1 04       |                          LDA     ({$04}),Y            
 7785 | 28             aux_read_aux2.s     39 | Code        | 11 |         |    2 | 00/D0ED : 85 3F       |                          STA     {$38}+7              
 7786 | 28             aux_read_aux2.s     40 | Code        | 11 |         |    2 | 00/D0EF : A4 0D       |                          LDY     {$0D}                
 7787 | 28             aux_read_aux2.s     41 | Code        | 11 |         |    2 | 00/D0F1 : B1 06       |                          LDA     ({$06}),Y            
 7788 | 28             aux_read_aux2.s     42 | Code        | 11 |         |    2 | 00/D0F3 : 85 18       |                          STA     {$18}                
 7789 | 28             aux_read_aux2.s     43 | Code        | 11 |         |    3 | 00/D0F5 : 8D 02 C0    |                          STA     {$C002}              
 7790 | 28             aux_read_aux2.s     44 | Code        | 11 |         |    1 | 00/D0F8 : 60          |                          RTS                          
 7791 | 28             aux_read_aux2.s     45 | Empty       | 11 |         |    0 | 00/D0F9               |                                                       
 7792 |  1                    bagman.s     73 | Empty       | 11 |         |    0 | 00/D0F9               | ozunid_92                                             
 7793 |  1                    bagman.s     73 | Equivalence | 11 |         |    0 | 00/D0F9               | AuxLC2Len                =       ozunid_92-{$D000}    
 7794 |  1                    bagman.s     74 | Equivalence | 11 |         |    0 | 00/D0F9               | AuxLC2Pages              =       {ozunid_92-{$D000}}/256+1
 7795 |  1                    bagman.s     75 | Empty       | 11 |         |    0 | 00/D0F9               |                                                       
 7796 |  1                    bagman.s     76 | Comment     | 11 |         |    0 | 00/D0F9               | * --- Aux-LC cold code block (font + fonttest + title + intermission) ---
 7797 |  1                    bagman.s     77 | Comment     | 11 |         |    0 | 00/D0F9               | * Starts at $D100 (above the guard_lc_d0 shadow).
 7798 |  1                    bagman.s     78 | Comment     | 11 |         |    0 | 00/D0F9               | * Reached from main via AuxLCCall trampoline in the low block.
 7799 |  1                    bagman.s     79 | Comment     | 11 |         |    0 | 00/D0F9               | * fonttest (ShowFontTest + ShowSpriteCatalog) = title menu T/S paths.
 7800 |  1                    bagman.s     80 | Comment     | 11 |         |    0 | 00/D0F9               | * title + intermission moved here in Phase 2 (frees main $0800 block).
 7801 |  1                    bagman.s     81 | Equivalence | 11 |         |    0 | 00/D0F9               | AuxColdDest              =       $D100                
 7802 |  1                    bagman.s     82 | Directive   | 11 |         |    0 | 00/D0F9               |                          ORG     {$D100}              
 7803 |  1                    bagman.s     83 | Directive   | 11 |         |    0 | 00/D100               |                          PUT     aux_cold_wrappers.s  
 7804 | 29         aux_cold_wrappers.s      1 | Comment     | 11 |         |    0 | 00/D100               | *
 7805 | 29         aux_cold_wrappers.s      2 | Comment     | 11 |         |    0 | 00/D100               | * Bagman - Aux-LC Cold Region Entry Wrappers
 7806 | 29         aux_cold_wrappers.s      3 | Comment     | 11 |         |    0 | 00/D100               | *
 7807 | 29         aux_cold_wrappers.s      4 | Comment     | 11 |         |    0 | 00/D100               | * Sits at the top of the aux-LC cold block ($D000+).
 7808 | 29         aux_cold_wrappers.s      5 | Comment     | 11 |         |    0 | 00/D100               | * Callers reach these via AuxLCCall (main low block).
 7809 | 29         aux_cold_wrappers.s      6 | Comment     | 11 |         |    0 | 00/D100               | * When wrappers run, ALTZP is ON, so ZP writes target aux ZP.
 7810 | 29         aux_cold_wrappers.s      7 | Comment     | 11 |         |    0 | 00/D100               | *
 7811 | 29         aux_cold_wrappers.s      8 | Comment     | 11 |         |    0 | 00/D100               | * Arg staging convention (main scratch, unaffected by ALTZP):
 7812 | 29         aux_cold_wrappers.s      9 | Comment     | 11 |         |    0 | 00/D100               | *   $0306/$0307 = SrcPtr    (string pointer)
 7813 | 29         aux_cold_wrappers.s     10 | Comment     | 11 |         |    0 | 00/D100               | *   $0308       = TextRow
 7814 | 29         aux_cold_wrappers.s     11 | Comment     | 11 |         |    0 | 00/D100               | *   $0309       = TextCol
 7815 | 29         aux_cold_wrappers.s     12 | Comment     | 11 |         |    0 | 00/D100               | *   $030C       = PageOfs   (caller mirrors main-ZP PageOfs here; AuxDrawText
 7816 | 29         aux_cold_wrappers.s     13 | Comment     | 11 |         |    0 | 00/D100               | *                            copies it into aux-ZP PageOfs at entry)
 7817 | 29         aux_cold_wrappers.s     14 | Comment     | 11 |         |    0 | 00/D100               | *
 7818 | 29         aux_cold_wrappers.s     15 | Empty       | 11 |         |    0 | 00/D100               |                                                       
 7819 | 29         aux_cold_wrappers.s     16 | Comment     | 11 |         |    0 | 00/D100               | *----------------------------------------------
 7820 | 29         aux_cold_wrappers.s     17 | Comment     | 11 |         |    0 | 00/D100               | * AuxDrawText - stage full args, fall into DrawText
 7821 | 29         aux_cold_wrappers.s     18 | Comment     | 11 |         |    0 | 00/D100               | *----------------------------------------------
 7822 | 29         aux_cold_wrappers.s     19 | Empty       | 11 |         |    0 | 00/D100               | AuxDrawText                                           
 7823 | 29         aux_cold_wrappers.s     20 | Code        | 11 |         |    3 | 00/D100 : AD 0C 03    |                          LDA     $030C                ; main-RAM pass-through: caller's PageOfs
 7824 | 29         aux_cold_wrappers.s     21 | Code        | 11 |         |    2 | 00/D103 : 85 1E       |                          STA     {$1E}                ; mirror into aux-ZP for this draw
 7825 | 29         aux_cold_wrappers.s     22 | Code        | 11 |         |    3 | 00/D105 : AD 06 03    |                          LDA     $0306                
 7826 | 29         aux_cold_wrappers.s     23 | Code        | 11 |         |    2 | 00/D108 : 85 04       |                          STA     {$04}                
 7827 | 29         aux_cold_wrappers.s     24 | Code        | 11 |         |    3 | 00/D10A : AD 07 03    |                          LDA     $0307                
 7828 | 29         aux_cold_wrappers.s     25 | Code        | 11 |         |    2 | 00/D10D : 85 05       |                          STA     {$04}+1              
 7829 | 29         aux_cold_wrappers.s     26 | Code        | 11 |         |    3 | 00/D10F : AD 08 03    |                          LDA     $0308                
 7830 | 29         aux_cold_wrappers.s     27 | Code        | 11 |         |    2 | 00/D112 : 85 1B       |                          STA     {{$1B}}              
 7831 | 29         aux_cold_wrappers.s     28 | Code        | 11 |         |    3 | 00/D114 : AD 09 03    |                          LDA     $0309                
 7832 | 29         aux_cold_wrappers.s     29 | Code        | 11 |         |    2 | 00/D117 : 85 1A       |                          STA     {{$1A}}              
 7833 | 29         aux_cold_wrappers.s     30 | Code        | 11 |         |    3 | 00/D119 : 4C 54 D1    |                          JMP     DrawText             
 7834 | 29         aux_cold_wrappers.s     31 | Empty       | 11 |         |    0 | 00/D11C               |                                                       
 7835 | 29         aux_cold_wrappers.s     32 | Comment     | 11 |         |    0 | 00/D11C               | *----------------------------------------------
 7836 | 29         aux_cold_wrappers.s     33 | Comment     | 11 |         |    0 | 00/D11C               | * AuxShowFontTest / AuxShowSpriteCatalog - no args
 7837 | 29         aux_cold_wrappers.s     34 | Comment     | 11 |         |    0 | 00/D11C               | * AuxShowTitle / AuxDoIntermission - no args (Phase 2)
 7838 | 29         aux_cold_wrappers.s     35 | Comment     | 11 |         |    0 | 00/D11C               | *----------------------------------------------
 7839 | 29         aux_cold_wrappers.s     36 | Empty       | 11 |         |    0 | 00/D11C               | AuxShowFontTest                                       
 7840 | 29         aux_cold_wrappers.s     37 | Code        | 11 |         |    3 | 00/D11C : 4C 6A D2    |                          JMP     ShowFontTest         
 7841 | 29         aux_cold_wrappers.s     38 | Empty       | 11 |         |    0 | 00/D11F               |                                                       
 7842 | 29         aux_cold_wrappers.s     39 | Empty       | 11 |         |    0 | 00/D11F               | AuxShowSpriteCatalog                                  
 7843 | 29         aux_cold_wrappers.s     40 | Code        | 11 |         |    3 | 00/D11F : 4C C0 D3    |                          JMP     ShowSpriteCatalog    
 7844 | 29         aux_cold_wrappers.s     41 | Empty       | 11 |         |    0 | 00/D122               |                                                       
 7845 | 29         aux_cold_wrappers.s     42 | Empty       | 11 |         |    0 | 00/D122               | AuxShowTitle                                          
 7846 | 29         aux_cold_wrappers.s     43 | Code        | 11 |         |    3 | 00/D122 : 4C 0E D4    |                          JMP     ShowTitle            
 7847 | 29         aux_cold_wrappers.s     44 | Empty       | 11 |         |    0 | 00/D125               |                                                       
 7848 | 29         aux_cold_wrappers.s     45 | Empty       | 11 |         |    0 | 00/D125               | AuxDoIntermission                                     
 7849 | 29         aux_cold_wrappers.s     46 | Code        | 11 |         |    3 | 00/D125 : 4C B5 D4    |                          JMP     DoIntermission       
 7850 | 29         aux_cold_wrappers.s     47 | Empty       | 11 |         |    0 | 00/D128               |                                                       
 7851 | 29         aux_cold_wrappers.s     48 | Empty       | 11 |         |    0 | 00/D128               | AuxGoToLeaderboard                                    
 7852 | 29         aux_cold_wrappers.s     49 | Code        | 11 |         |    3 | 00/D128 : 4C F3 D8    |                          JMP     GoToLeaderboard      
 7853 | 29         aux_cold_wrappers.s     50 | Empty       | 11 |         |    0 | 00/D12B               |                                                       
 7854 | 29         aux_cold_wrappers.s     51 | Empty       | 11 |         |    0 | 00/D12B               | AuxHiScoreView                                        
 7855 | 29         aux_cold_wrappers.s     52 | Code        | 11 |         |    3 | 00/D12B : 4C CA D8    |                          JMP     HiScoreView          
 7856 | 29         aux_cold_wrappers.s     53 | Empty       | 11 |         |    0 | 00/D12E               |                                                       
 7857 | 29         aux_cold_wrappers.s     54 | Comment     | 11 |         |    0 | 00/D12E               | *----------------------------------------------
 7858 | 29         aux_cold_wrappers.s     55 | Comment     | 11 |         |    0 | 00/D12E               | * PlayMusicNoSwap - call aux music player from aux-LC context.
 7859 | 29         aux_cold_wrappers.s     56 | Comment     | 11 |         |    0 | 00/D12E               | * Assumes ALTZP is already ON (caller is in aux LC).
 7860 | 29         aux_cold_wrappers.s     57 | Comment     | 11 |         |    0 | 00/D12E               | * In: A = tune addr lo, X = tune addr hi (aux LC addr of tune data)
 7861 | 29         aux_cold_wrappers.s     58 | Comment     | 11 |         |    0 | 00/D12E               | *----------------------------------------------
 7862 | 29         aux_cold_wrappers.s     59 | Empty       | 11 |         |    0 | 00/D12E               | PlayMusicNoSwap                                       
 7863 | 29         aux_cold_wrappers.s     60 | Code        | 11 |         |    3 | 00/D12E : 8D 0A 03    |                          STA     $030A                ; save A arg (main scratch)
 7864 | 29         aux_cold_wrappers.s     61 | Code        | 11 |         |    3 | 00/D131 : 8E 0B 03    |                          STX     $030B                ; save X arg
 7865 | 29         aux_cold_wrappers.s     62 | Code        | 11 |         |    3 | 00/D134 : AD 83 C0    |                          LDA     $C083                
 7866 | 29         aux_cold_wrappers.s     63 | Code        | 11 |         |    3 | 00/D137 : AD 83 C0    |                          LDA     $C083                ; LC read+write (music player self-mods)
 7867 | 29         aux_cold_wrappers.s     64 | Code        | 11 |         |    3 | 00/D13A : AD 0A 03    |                          LDA     $030A                ; restore args
 7868 | 29         aux_cold_wrappers.s     65 | Code        | 11 |         |    3 | 00/D13D : AE 0B 03    |                          LDX     $030B                
 7869 | 29         aux_cold_wrappers.s     66 | Code        | 11 |         |    3 | 00/D140 : 20 60 E6    |                          JSR     AuxPlayMusic         
 7870 | 29         aux_cold_wrappers.s     67 | Code        | 11 |         |    3 | 00/D143 : AD 80 C0    |                          LDA     $C080                ; LC read-only
 7871 | 29         aux_cold_wrappers.s     68 | Code        | 11 |         |    1 | 00/D146 : 60          |                          RTS                          
 7872 | 29         aux_cold_wrappers.s     69 | Empty       | 11 |         |    0 | 00/D147               |                                                       
 7873 | 29         aux_cold_wrappers.s     70 | Comment     | 11 |         |    0 | 00/D147               | *----------------------------------------------
 7874 | 29         aux_cold_wrappers.s     71 | Comment     | 11 |         |    0 | 00/D147               | * PlayMusicResumeNoSwap - resume playback without touching MusicPtr.
 7875 | 29         aux_cold_wrappers.s     72 | Comment     | 11 |         |    0 | 00/D147               | * NotesLeft (main RAM) controls early-exit; caller sets it before the
 7876 | 29         aux_cold_wrappers.s     73 | Comment     | 11 |         |    0 | 00/D147               | * call. Assumes ALTZP is already ON (aux-LC context).
 7877 | 29         aux_cold_wrappers.s     74 | Comment     | 11 |         |    0 | 00/D147               | *----------------------------------------------
 7878 | 29         aux_cold_wrappers.s     75 | Empty       | 11 |         |    0 | 00/D147               | PlayMusicResumeNoSwap                                 
 7879 | 29         aux_cold_wrappers.s     76 | Code        | 11 |         |    3 | 00/D147 : AD 83 C0    |                          LDA     $C083                
 7880 | 29         aux_cold_wrappers.s     77 | Code        | 11 |         |    3 | 00/D14A : AD 83 C0    |                          LDA     $C083                ; LC read+write
 7881 | 29         aux_cold_wrappers.s     78 | Code        | 11 |         |    3 | 00/D14D : 20 64 E6    |                          JSR     ResumeMusic          
 7882 | 29         aux_cold_wrappers.s     79 | Code        | 11 |         |    3 | 00/D150 : AD 80 C0    |                          LDA     $C080                ; LC read-only
 7883 | 29         aux_cold_wrappers.s     80 | Code        | 11 |         |    1 | 00/D153 : 60          |                          RTS                          
 7884 | 29         aux_cold_wrappers.s     81 | Empty       | 11 |         |    0 | 00/D154               |                                                       
 7885 |  1                    bagman.s     84 | Directive   | 11 |         |    0 | 00/D154               |                          PUT     font.s               
 7886 | 30                      font.s      1 | Comment     | 11 |         |    0 | 00/D154               | *
 7887 | 30                      font.s      2 | Comment     | 11 |         |    0 | 00/D154               | * Bagman - Font Rendering
 7888 | 30                      font.s      3 | Comment     | 11 |         |    0 | 00/D154               | *
 7889 | 30                      font.s      4 | Comment     | 11 |         |    0 | 00/D154               | * Renders 1bpp monochrome text onto DHGR screen at 16-pixel pitch.
 7890 | 30                      font.s      5 | Comment     | 11 |         |    0 | 00/D154               | * Each glyph is 16x8 pixels. Characters are placed at 16-pixel
 7891 | 30                      font.s      6 | Comment     | 11 |         |    0 | 00/D154               | * intervals across the 560-pixel mono DHGR display (35 chars/line).
 7892 | 30                      font.s      7 | Comment     | 11 |         |    0 | 00/D154               | * Sub-byte rendering handles the 7-bit DHGR byte boundaries.
 7893 | 30                      font.s      8 | Comment     | 11 |         |    0 | 00/D154               | *
 7894 | 30                      font.s      9 | Empty       | 11 |         |    0 | 00/D154               |                                                       
 7895 | 30                      font.s     10 | Equivalence | 11 |         |    0 | 00/D154               | TextCol                  =       {$1A}                ; current text column (0-34)
 7896 | 30                      font.s     11 | Equivalence | 11 |         |    0 | 00/D154               | TextRow                  =       {$1B}                ; current text row (0-23)
 7897 | 30                      font.s     12 | Equivalence | 11 |         |    0 | 00/D154               | GlyphPtr                 =       {$02}                ; pointer to glyph data (2 bytes)
 7898 | 30                      font.s     13 | Equivalence | 11 |         |    0 | 00/D154               | FontRow                  =       $4E                  ; font row counter (0-7)
 7899 | 30                      font.s     14 | Equivalence | 11 |         |    0 | 00/D154               | BaseScan                 =       $4F                  ; base scanline = TextRow*8
 7900 | 30                      font.s     15 | Equivalence | 11 |         |    0 | 00/D154               | ShiftBuf                 =       $27                  ; 3-byte shift buffer (reuse DstBuf area)
 7901 | 30                      font.s     16 | Empty       | 11 |         |    0 | 00/D154               |                                                       
 7902 | 30                      font.s     17 | Comment     | 11 |         |    0 | 00/D154               | *----------------------------------------------
 7903 | 30                      font.s     18 | Comment     | 11 |         |    0 | 00/D154               | * DrawText - Render null-terminated string
 7904 | 30                      font.s     19 | Comment     | 11 |         |    0 | 00/D154               | *
 7905 | 30                      font.s     20 | Comment     | 11 |         |    0 | 00/D154               | * Input: SrcPtr  = pointer to string
 7906 | 30                      font.s     21 | Comment     | 11 |         |    0 | 00/D154               | *        TextCol = starting column (0-34)
 7907 | 30                      font.s     22 | Comment     | 11 |         |    0 | 00/D154               | *        TextRow = text row (0-23)
 7908 | 30                      font.s     23 | Comment     | 11 |         |    0 | 00/D154               | *----------------------------------------------
 7909 | 30                      font.s     24 | Empty       | 11 |         |    0 | 00/D154               | DrawText                                              
 7910 | 30                      font.s     25 | Code        | 11 |         |    2 | 00/D154 : A0 00       |                          LDY     #0                   
 7911 | 30                      font.s     26 | Code        | 11 |         |    2 | 00/D156 : B1 04       | _nextCh                  LDA     ({$04}),Y            
 7912 | 30                      font.s     27 | Code        | 11 |         |    2 | 00/D158 : D0 01       |                          BNE     _notDone             
 7913 | 30                      font.s     28 | Code        | 11 |         |    1 | 00/D15A : 60          |                          RTS                          
 7914 | 30                      font.s     29 | Code        | 11 |         |    1 | 00/D15B : 5A          | _notDone                 PHY                          
 7915 | 30                      font.s     30 | Empty       | 11 |         |    0 | 00/D15C               |                                                       
 7916 | 30                      font.s     31 | Comment     | 11 |         |    0 | 00/D15C               | * Compute glyph pointer: FontBase + (char-$20) * 16
 7917 | 30                      font.s     32 | Code        | 11 |         |    2 | 00/D15C : 29 7F       |                          AND     #$7F                 
 7918 | 30                      font.s     33 | Code        | 11 |         |    1 | 00/D15E : 38          |                          SEC                          
 7919 | 30                      font.s     34 | Code        | 11 |         |    2 | 00/D15F : E9 20       |                          SBC     #$20                 
 7920 | 30                      font.s     35 | Code        | 11 |         |    2 | 00/D161 : 85 18       |                          STA     {$18}                
 7921 | 30                      font.s     36 | Code        | 11 |         |    2 | 00/D163 : 64 19       |                          STZ     {$19}                
 7922 | 30                      font.s     37 | Code        | 11 |         |    2 | 00/D165 : 06 18       |                          ASL     {$18}                
 7923 | 30                      font.s     38 | Code        | 11 |         |    2 | 00/D167 : 26 19       |                          ROL     {$19}                
 7924 | 30                      font.s     39 | Code        | 11 |         |    2 | 00/D169 : 06 18       |                          ASL     {$18}                
 7925 | 30                      font.s     40 | Code        | 11 |         |    2 | 00/D16B : 26 19       |                          ROL     {$19}                
 7926 | 30                      font.s     41 | Code        | 11 |         |    2 | 00/D16D : 06 18       |                          ASL     {$18}                
 7927 | 30                      font.s     42 | Code        | 11 |         |    2 | 00/D16F : 26 19       |                          ROL     {$19}                
 7928 | 30                      font.s     43 | Code        | 11 |         |    2 | 00/D171 : 06 18       |                          ASL     {$18}                
 7929 | 30                      font.s     44 | Code        | 11 |         |    2 | 00/D173 : 26 19       |                          ROL     {$19}                
 7930 | 30                      font.s     45 | Code        | 11 |         |    1 | 00/D175 : 18          |                          CLC                          
 7931 | 30                      font.s     46 | Code        | 11 |         |    2 | 00/D176 : A9 60       |                          LDA     #<{$E260}            
 7932 | 30                      font.s     47 | Code        | 11 |         |    2 | 00/D178 : 65 18       |                          ADC     {$18}                
 7933 | 30                      font.s     48 | Code        | 11 |         |    2 | 00/D17A : 85 02       |                          STA     {{$02}}              
 7934 | 30                      font.s     49 | Code        | 11 |         |    2 | 00/D17C : A9 E2       |                          LDA     #>{$E260}            
 7935 | 30                      font.s     50 | Code        | 11 |         |    2 | 00/D17E : 65 19       |                          ADC     {$19}                
 7936 | 30                      font.s     51 | Code        | 11 |         |    2 | 00/D180 : 85 03       |                          STA     {{$02}}+1            
 7937 | 30                      font.s     52 | Empty       | 11 |         |    0 | 00/D182               |                                                       
 7938 | 30                      font.s     53 | Comment     | 11 |         |    0 | 00/D182               | * Compute base scanline
 7939 | 30                      font.s     54 | Code        | 11 |         |    2 | 00/D182 : A5 1B       |                          LDA     {{$1B}}              
 7940 | 30                      font.s     55 | Code        | 11 |         |    1 | 00/D184 : 0A          |                          ASL                          
 7941 | 30                      font.s     56 | Code        | 11 |         |    1 | 00/D185 : 0A          |                          ASL                          
 7942 | 30                      font.s     57 | Code        | 11 |         |    1 | 00/D186 : 0A          |                          ASL                          
 7943 | 30                      font.s     58 | Code        | 11 |         |    2 | 00/D187 : 85 4F       |                          STA     {$4F}                
 7944 | 30                      font.s     59 | Empty       | 11 |         |    0 | 00/D189               |                                                       
 7945 | 30                      font.s     60 | Comment     | 11 |         |    0 | 00/D189               | * Draw 8 scanlines
 7946 | 30                      font.s     61 | Code        | 11 |         |    2 | 00/D189 : 64 4E       |                          STZ     {$4E}                
 7947 | 30                      font.s     62 | Empty       | 11 |         |    0 | 00/D18B               | ozunid_36                                             
 7948 | 30                      font.s     63 | Code        | 11 |         |    2 | 00/D18B : A5 4F       |                          LDA     {$4F}                
 7949 | 30                      font.s     64 | Code        | 11 |         |    1 | 00/D18D : 18          |                          CLC                          
 7950 | 30                      font.s     65 | Code        | 11 |         |    2 | 00/D18E : 65 4E       |                          ADC     {$4E}                
 7951 | 30                      font.s     66 | Code        | 11 |         |    1 | 00/D190 : A8          |                          TAY                          
 7952 | 30                      font.s     67 | Code        | 11 |         |    2 | 00/D191 : C0 C0       |                          CPY     #192                 
 7953 | 30                      font.s     68 | Code        | 11 |         |    2 | 00/D193 : 90 03       |                          BCC     _rowOk               
 7954 | 30                      font.s     69 | Code        | 11 |         |    3 | 00/D195 : 4C 16 D2    |                          JMP     _skipRow             
 7955 | 30                      font.s     70 | Empty       | 11 |         |    0 | 00/D198               | _rowOk                                                
 7956 | 30                      font.s     71 | Empty       | 11 |         |    0 | 00/D198               |                                                       
 7957 | 30                      font.s     72 | Comment     | 11 |         |    0 | 00/D198               | * Get screen address
 7958 | 30                      font.s     73 | Code        | 11 |         |    3 | 00/D198 : B9 26 81    |                          LDA     ScanAdrL,Y           
 7959 | 30                      font.s     74 | Code        | 11 |         |    2 | 00/D19B : 85 00       |                          STA     {$00}                
 7960 | 30                      font.s     75 | Code        | 11 |         |    3 | 00/D19D : B9 E6 81    |                          LDA     ScanAdrH,Y           
 7961 | 30                      font.s     76 | Code        | 11 |         |    1 | 00/D1A0 : 18          |                          CLC                          
 7962 | 30                      font.s     77 | Code        | 11 |         |    2 | 00/D1A1 : 65 1E       |                          ADC     {$1E}                
 7963 | 30                      font.s     78 | Code        | 11 |         |    2 | 00/D1A3 : 85 01       |                          STA     {$00}+1              
 7964 | 30                      font.s     79 | Empty       | 11 |         |    0 | 00/D1A5               |                                                       
 7965 | 30                      font.s     80 | Comment     | 11 |         |    0 | 00/D1A5               | * Read glyph row (font data in AUX LC via ALTZP)
 7966 | 30                      font.s     81 | Code        | 11 |         |    3 | 00/D1A5 : 20 5C D2    |                          JSR     ReadGlyphRow         ; sets Temp1/Temp2 from AUX LC
 7967 | 30                      font.s     82 | Empty       | 11 |         |    0 | 00/D1A8               |                                                       
 7968 | 30                      font.s     83 | Comment     | 11 |         |    0 | 00/D1A8               | * Shift glyph into 3-byte buffer by bit offset
 7969 | 30                      font.s     84 | Code        | 11 |         |    2 | 00/D1A8 : A5 18       |                          LDA     {$18}                
 7970 | 30                      font.s     85 | Code        | 11 |         |    2 | 00/D1AA : 85 27       |                          STA     {$27}                
 7971 | 30                      font.s     86 | Code        | 11 |         |    2 | 00/D1AC : A5 19       |                          LDA     {$19}                
 7972 | 30                      font.s     87 | Code        | 11 |         |    2 | 00/D1AE : 85 28       |                          STA     {$27}+1              
 7973 | 30                      font.s     88 | Code        | 11 |         |    2 | 00/D1B0 : 64 29       |                          STZ     {$27}+2              
 7974 | 30                      font.s     89 | Empty       | 11 |         |    0 | 00/D1B2               |                                                       
 7975 | 30                      font.s     90 | Comment     | 11 |         |    0 | 00/D1B2               | * Compute bit offset: (TextCol*2) mod 7
 7976 | 30                      font.s     91 | Code        | 11 |         |    2 | 00/D1B2 : A5 1A       |                          LDA     {{$1A}}              
 7977 | 30                      font.s     92 | Code        | 11 |         |    1 | 00/D1B4 : 0A          |                          ASL                          
 7978 | 30                      font.s     93 | Code        | 11 |         |    2 | 00/D1B5 : C9 07       | _mod7                    CMP     #7                   
 7979 | 30                      font.s     94 | Code        | 11 |         |    2 | 00/D1B7 : 90 04       |                          BCC     _modDone             
 7980 | 30                      font.s     95 | Code        | 11 |         |    2 | 00/D1B9 : E9 07       |                          SBC     #7                   
 7981 | 30                      font.s     96 | Code        | 11 |         |    2 | 00/D1BB : 80 F8       |                          BRA     _mod7                
 7982 | 30                      font.s     97 | Code        | 11 |         |    1 | 00/D1BD : AA          | _modDone                 TAX                          
 7983 | 30                      font.s     98 | Code        | 11 |         |    2 | 00/D1BE : F0 09       |                          BEQ     ozunid_37            
 7984 | 30                      font.s     99 | Code        | 11 |         |    2 | 00/D1C0 : 06 27       | _shLoop                  ASL     {$27}                
 7985 | 30                      font.s    100 | Code        | 11 |         |    2 | 00/D1C2 : 26 28       |                          ROL     {$27}+1              
 7986 | 30                      font.s    101 | Code        | 11 |         |    2 | 00/D1C4 : 26 29       |                          ROL     {$27}+2              
 7987 | 30                      font.s    102 | Code        | 11 |         |    1 | 00/D1C6 : CA          |                          DEX                          
 7988 | 30                      font.s    103 | Code        | 11 |         |    2 | 00/D1C7 : D0 F7       |                          BNE     _shLoop              
 7989 | 30                      font.s    104 | Empty       | 11 |         |    0 | 00/D1C9               | ozunid_37                                             
 7990 | 30                      font.s    105 | Empty       | 11 |         |    0 | 00/D1C9               |                                                       
 7991 | 30                      font.s    106 | Comment     | 11 |         |    0 | 00/D1C9               | * Extract 3 DHGR bytes and write them
 7992 | 30                      font.s    107 | Comment     | 11 |         |    0 | 00/D1C9               | * DHGR byte 0 = buffer bits 0-6
 7993 | 30                      font.s    108 | Comment     | 11 |         |    0 | 00/D1C9               | * Compute byte index: (TextCol*16) / 7 (16-bit)
 7994 | 30                      font.s    109 | Code        | 11 |         |    2 | 00/D1C9 : 64 19       |                          STZ     {$19}                
 7995 | 30                      font.s    110 | Code        | 11 |         |    2 | 00/D1CB : A5 1A       |                          LDA     {{$1A}}              
 7996 | 30                      font.s    111 | Code        | 11 |         |    1 | 00/D1CD : 0A          |                          ASL                          
 7997 | 30                      font.s    112 | Code        | 11 |         |    1 | 00/D1CE : 0A          |                          ASL                          
 7998 | 30                      font.s    113 | Code        | 11 |         |    1 | 00/D1CF : 0A          |                          ASL                          
 7999 | 30                      font.s    114 | Code        | 11 |         |    1 | 00/D1D0 : 0A          |                          ASL                          ; 16-bit: Temp2:A = TextCol * 16
 8000 | 30                      font.s    115 | Code        | 11 |         |    2 | 00/D1D1 : 26 19       |                          ROL     {$19}                
 8001 | 30                      font.s    116 | Code        | 11 |         |    2 | 00/D1D3 : A2 00       |                          LDX     #0                   
 8002 | 30                      font.s    117 | Code        | 11 |         |    2 | 00/D1D5 : C9 07       | _div7                    CMP     #7                   
 8003 | 30                      font.s    118 | Code        | 11 |         |    2 | 00/D1D7 : B0 04       |                          BCS     _div7a               
 8004 | 30                      font.s    119 | Code        | 11 |         |    2 | 00/D1D9 : A4 19       |                          LDY     {$19}                
 8005 | 30                      font.s    120 | Code        | 11 |         |    2 | 00/D1DB : F0 0A       |                          BEQ     _divDn               
 8006 | 30                      font.s    121 | Code        | 11 |         |    1 | 00/D1DD : 38          | _div7a                   SEC                          
 8007 | 30                      font.s    122 | Code        | 11 |         |    2 | 00/D1DE : E9 07       |                          SBC     #7                   
 8008 | 30                      font.s    123 | Code        | 11 |         |    2 | 00/D1E0 : B0 02       |                          BCS     _div7b               
 8009 | 30                      font.s    124 | Code        | 11 |         |    2 | 00/D1E2 : C6 19       |                          DEC     {$19}                
 8010 | 30                      font.s    125 | Code        | 11 |         |    1 | 00/D1E4 : E8          | _div7b                   INX                          
 8011 | 30                      font.s    126 | Code        | 11 |         |    2 | 00/D1E5 : 80 EE       |                          BRA     _div7                
 8012 | 30                      font.s    127 | Empty       | 11 |         |    0 | 00/D1E7               | _divDn                                                ; X = starting DHGR byte index
 8013 | 30                      font.s    128 | Code        | 11 |         |    2 | 00/D1E7 : A5 27       |                          LDA     {$27}                
 8014 | 30                      font.s    129 | Code        | 11 |         |    2 | 00/D1E9 : 29 7F       |                          AND     #$7F                 
 8015 | 30                      font.s    130 | Code        | 11 |         |    2 | 00/D1EB : 09 80       |                          ORA     #$80                 
 8016 | 30                      font.s    131 | Code        | 11 |         |    3 | 00/D1ED : 20 28 D2    |                          JSR     _writeByte           
 8017 | 30                      font.s    132 | Empty       | 11 |         |    0 | 00/D1F0               |                                                       
 8018 | 30                      font.s    133 | Comment     | 11 |         |    0 | 00/D1F0               | * DHGR byte 1 = buffer bits 7-13
 8019 | 30                      font.s    134 | Comment     | 11 |         |    0 | 00/D1F0               | * byte1 = (ShiftBuf>>7) | (ShiftBuf+1 << 1)
 8020 | 30                      font.s    135 | Code        | 11 |         |    1 | 00/D1F0 : E8          |                          INX                          
 8021 | 30                      font.s    136 | Code        | 11 |         |    2 | 00/D1F1 : A5 27       |                          LDA     {$27}                
 8022 | 30                      font.s    137 | Code        | 11 |         |    1 | 00/D1F3 : 0A          |                          ASL                          ; bit 7 -> carry
 8023 | 30                      font.s    138 | Code        | 11 |         |    2 | 00/D1F4 : A5 28       |                          LDA     {$27}+1              
 8024 | 30                      font.s    139 | Code        | 11 |         |    1 | 00/D1F6 : 2A          |                          ROL                          ; carry -> bit 0
 8025 | 30                      font.s    140 | Code        | 11 |         |    2 | 00/D1F7 : 29 7F       |                          AND     #$7F                 
 8026 | 30                      font.s    141 | Code        | 11 |         |    2 | 00/D1F9 : 09 80       |                          ORA     #$80                 
 8027 | 30                      font.s    142 | Code        | 11 |         |    3 | 00/D1FB : 20 28 D2    |                          JSR     _writeByte           
 8028 | 30                      font.s    143 | Empty       | 11 |         |    0 | 00/D1FE               |                                                       
 8029 | 30                      font.s    144 | Comment     | 11 |         |    0 | 00/D1FE               | * DHGR byte 2 = buffer bits 14-20
 8030 | 30                      font.s    145 | Comment     | 11 |         |    0 | 00/D1FE               | * byte2 = (ShiftBuf+1 >> 6) | (ShiftBuf+2 << 2)
 8031 | 30                      font.s    146 | Code        | 11 |         |    1 | 00/D1FE : E8          |                          INX                          
 8032 | 30                      font.s    147 | Code        | 11 |         |    2 | 00/D1FF : A5 29       |                          LDA     {$27}+2              
 8033 | 30                      font.s    148 | Code        | 11 |         |    1 | 00/D201 : 0A          |                          ASL                          
 8034 | 30                      font.s    149 | Code        | 11 |         |    1 | 00/D202 : 0A          |                          ASL                          
 8035 | 30                      font.s    150 | Code        | 11 |         |    2 | 00/D203 : 85 18       |                          STA     {$18}                
 8036 | 30                      font.s    151 | Code        | 11 |         |    2 | 00/D205 : A5 28       |                          LDA     {$27}+1              
 8037 | 30                      font.s    152 | Code        | 11 |         |    1 | 00/D207 : 4A          |                          LSR                          
 8038 | 30                      font.s    153 | Code        | 11 |         |    1 | 00/D208 : 4A          |                          LSR                          
 8039 | 30                      font.s    154 | Code        | 11 |         |    1 | 00/D209 : 4A          |                          LSR                          
 8040 | 30                      font.s    155 | Code        | 11 |         |    1 | 00/D20A : 4A          |                          LSR                          
 8041 | 30                      font.s    156 | Code        | 11 |         |    1 | 00/D20B : 4A          |                          LSR                          
 8042 | 30                      font.s    157 | Code        | 11 |         |    1 | 00/D20C : 4A          |                          LSR                          ; bits 6-7 -> bits 0-1
 8043 | 30                      font.s    158 | Code        | 11 |         |    2 | 00/D20D : 05 18       |                          ORA     {$18}                
 8044 | 30                      font.s    159 | Code        | 11 |         |    2 | 00/D20F : 29 7F       |                          AND     #$7F                 
 8045 | 30                      font.s    160 | Code        | 11 |         |    2 | 00/D211 : 09 80       |                          ORA     #$80                 
 8046 | 30                      font.s    161 | Code        | 11 |         |    3 | 00/D213 : 20 28 D2    |                          JSR     _writeByte           
 8047 | 30                      font.s    162 | Empty       | 11 |         |    0 | 00/D216               |                                                       
 8048 | 30                      font.s    163 | Empty       | 11 |         |    0 | 00/D216               | _skipRow                                              
 8049 | 30                      font.s    164 | Code        | 11 |         |    2 | 00/D216 : E6 4E       |                          INC     {$4E}                
 8050 | 30                      font.s    165 | Code        | 11 |         |    2 | 00/D218 : A5 4E       |                          LDA     {$4E}                
 8051 | 30                      font.s    166 | Code        | 11 |         |    2 | 00/D21A : C9 08       |                          CMP     #8                   
 8052 | 30                      font.s    167 | Code        | 11 |         |    2 | 00/D21C : F0 03       |                          BEQ     ozunid_38            
 8053 | 30                      font.s    168 | Code        | 11 |         |    3 | 00/D21E : 4C 8B D1    |                          JMP     ozunid_36            
 8054 | 30                      font.s    169 | Empty       | 11 |         |    0 | 00/D221               | ozunid_38                                             
 8055 | 30                      font.s    170 | Empty       | 11 |         |    0 | 00/D221               |                                                       
 8056 | 30                      font.s    171 | Code        | 11 |         |    2 | 00/D221 : E6 1A       |                          INC     {{$1A}}              
 8057 | 30                      font.s    172 | Code        | 11 |         |    1 | 00/D223 : 7A          |                          PLY                          
 8058 | 30                      font.s    173 | Code        | 11 |         |    1 | 00/D224 : C8          |                          INY                          
 8059 | 30                      font.s    174 | Code        | 11 |         |    3 | 00/D225 : 4C 56 D1    |                          JMP     _nextCh              
 8060 | 30                      font.s    175 | Empty       | 11 |         |    0 | 00/D228               |                                                       
 8061 | 30                      font.s    176 | Comment     | 11 |         |    0 | 00/D228               | *----------------------------------------------
 8062 | 30                      font.s    177 | Comment     | 11 |         |    0 | 00/D228               | * Write one DHGR byte at byte index X, OR with existing screen.
 8063 | 30                      font.s    178 | Comment     | 11 |         |    0 | 00/D228               | * Aux bytes: reads via ReadAuxByte ZP trampoline (safe from
 8064 | 30                      font.s    179 | Comment     | 11 |         |    0 | 00/D228               | * main code), writes via RAMWRTAUX. Never touches STORE80
 8065 | 30                      font.s    180 | Comment     | 11 |         |    0 | 00/D228               | * or PAGE1/PAGE2 — safe for double-buffered rendering.
 8066 | 30                      font.s    181 | Comment     | 11 |         |    0 | 00/D228               | * A = byte value (with $80 set), X = byte index (0-79)
 8067 | 30                      font.s    182 | Comment     | 11 |         |    0 | 00/D228               | * Preserves X.
 8068 | 30                      font.s    183 | Empty       | 11 |         |    0 | 00/D228               | _writeByte                                            
 8069 | 30                      font.s    184 | Code        | 11 |         |    2 | 00/D228 : E0 50       |                          CPX     #80                  
 8070 | 30                      font.s    185 | Code        | 11 |         |    2 | 00/D22A : B0 1E       |                          BCS     ozunid_39            ; off screen
 8071 | 30                      font.s    186 | Code        | 11 |         |    1 | 00/D22C : DA          |                          PHX                          
 8072 | 30                      font.s    187 | Code        | 11 |         |    1 | 00/D22D : 48          |                          PHA                          ; save byte value
 8073 | 30                      font.s    188 | Code        | 11 |         |    1 | 00/D22E : 8A          |                          TXA                          
 8074 | 30                      font.s    189 | Code        | 11 |         |    1 | 00/D22F : 4A          |                          LSR                          ; A = column, carry = aux(0)/main(1)
 8075 | 30                      font.s    190 | Code        | 11 |         |    1 | 00/D230 : A8          |                          TAY                          
 8076 | 30                      font.s    191 | Code        | 11 |         |    1 | 00/D231 : 68          |                          PLA                          ; restore byte value
 8077 | 30                      font.s    192 | Code        | 11 |         |    2 | 00/D232 : B0 17       |                          BCS     _wbMain              
 8078 | 30                      font.s    193 | Comment     | 11 |         |    0 | 00/D234               | * Aux byte: read existing via ZP trampoline, write via RAMWRT
 8079 | 30                      font.s    194 | Code        | 11 |         |    1 | 00/D234 : 48          |                          PHA                          ; save glyph byte
 8080 | 30                      font.s    195 | Code        | 11 |         |    3 | 00/D235 : 20 2A 00    |                          JSR     {$2A}                ; A = existing aux byte at (ScreenPtr),Y
 8081 | 30                      font.s    196 | Code        | 11 |         |    2 | 00/D238 : 85 18       |                          STA     {$18}                
 8082 | 30                      font.s    197 | Code        | 11 |         |    1 | 00/D23A : 68          |                          PLA                          ; restore glyph byte
 8083 | 30                      font.s    198 | Code        | 11 |         |    2 | 00/D23B : 29 7F       |                          AND     #$7F                 
 8084 | 30                      font.s    199 | Code        | 11 |         |    2 | 00/D23D : 05 18       |                          ORA     {$18}                
 8085 | 30                      font.s    200 | Code        | 11 |         |    2 | 00/D23F : 09 80       |                          ORA     #$80                 
 8086 | 30                      font.s    201 | Code        | 11 |         |    3 | 00/D241 : 8D 05 C0    |                          STA     {$C005}              
 8087 | 30                      font.s    202 | Code        | 11 |         |    2 | 00/D244 : 91 00       |                          STA     ({$00}),Y            
 8088 | 30                      font.s    203 | Code        | 11 |         |    3 | 00/D246 : 8D 04 C0    |                          STA     {$C004}              
 8089 | 30                      font.s    204 | Code        | 11 |         |    1 | 00/D249 : FA          |                          PLX                          
 8090 | 30                      font.s    205 | Code        | 11 |         |    1 | 00/D24A : 60          | ozunid_39                RTS                          
 8091 | 30                      font.s    206 | Comment     | 11 |         |    0 | 00/D24B               | * Main byte: direct read-OR-write
 8092 | 30                      font.s    207 | Code        | 11 |         |    2 | 00/D24B : 29 7F       | _wbMain                  AND     #$7F                 
 8093 | 30                      font.s    208 | Code        | 11 |         |    2 | 00/D24D : 11 00       |                          ORA     ({$00}),Y            
 8094 | 30                      font.s    209 | Code        | 11 |         |    2 | 00/D24F : 09 80       |                          ORA     #$80                 
 8095 | 30                      font.s    210 | Code        | 11 |         |    2 | 00/D251 : 91 00       |                          STA     ({$00}),Y            
 8096 | 30                      font.s    211 | Code        | 11 |         |    1 | 00/D253 : FA          |                          PLX                          
 8097 | 30                      font.s    212 | Code        | 11 |         |    1 | 00/D254 : 60          |                          RTS                          
 8098 | 30                      font.s    213 | Empty       | 11 |         |    0 | 00/D255               |                                                       
 8099 | 30                      font.s    214 | Comment     | 11 |         |    0 | 00/D255               | *----------------------------------------------
 8100 | 30                      font.s    215 | Comment     | 11 |         |    0 | 00/D255               | * DrawTextAt - Set col/row then draw
 8101 | 30                      font.s    216 | Comment     | 11 |         |    0 | 00/D255               | * Input: A = text row, X = text column, SrcPtr = string
 8102 | 30                      font.s    217 | Comment     | 11 |         |    0 | 00/D255               | *----------------------------------------------
 8103 | 30                      font.s    218 | Empty       | 11 |         |    0 | 00/D255               | DrawTextAt                                            
 8104 | 30                      font.s    219 | Code        | 11 |         |    2 | 00/D255 : 85 1B       |                          STA     {{$1B}}              
 8105 | 30                      font.s    220 | Code        | 11 |         |    2 | 00/D257 : 86 1A       |                          STX     {{$1A}}              
 8106 | 30                      font.s    221 | Code        | 11 |         |    3 | 00/D259 : 4C 54 D1    |                          JMP     DrawText             
 8107 | 30                      font.s    222 | Empty       | 11 |         |    0 | 00/D25C               |                                                       
 8108 | 30                      font.s    223 | Comment     | 11 |         |    0 | 00/D25C               | *----------------------------------------------
 8109 | 30                      font.s    224 | Comment     | 11 |         |    0 | 00/D25C               | * ReadGlyphRow - Read 2 glyph bytes from AUX LC
 8110 | 30                      font.s    225 | Comment     | 11 |         |    0 | 00/D25C               | *
 8111 | 30                      font.s    226 | Comment     | 11 |         |    0 | 00/D25C               | * font.s now lives in aux LC; the caller reaches DrawText via
 8112 | 30                      font.s    227 | Comment     | 11 |         |    0 | 00/D25C               | * AuxLCCall, which turns ALTZP ON before we run. With ALTZP on,
 8113 | 30                      font.s    228 | Comment     | 11 |         |    0 | 00/D25C               | * (GlyphPtr),Y indirection uses aux ZP and reads from aux LC
 8114 | 30                      font.s    229 | Comment     | 11 |         |    0 | 00/D25C               | * ($E260+ for FontBase) directly - no bank dance needed here.
 8115 | 30                      font.s    230 | Comment     | 11 |         |    0 | 00/D25C               | *
 8116 | 30                      font.s    231 | Comment     | 11 |         |    0 | 00/D25C               | * In:  GlyphPtr = pointer to glyph data (FontBase-relative)
 8117 | 30                      font.s    232 | Comment     | 11 |         |    0 | 00/D25C               | *      FontRow  = current row (0-7)
 8118 | 30                      font.s    233 | Comment     | 11 |         |    0 | 00/D25C               | * Out: Temp1 = glyph lo, Temp2 = glyph hi
 8119 | 30                      font.s    234 | Comment     | 11 |         |    0 | 00/D25C               | *----------------------------------------------
 8120 | 30                      font.s    235 | Empty       | 11 |         |    0 | 00/D25C               | ReadGlyphRow                                          
 8121 | 30                      font.s    236 | Code        | 11 |         |    2 | 00/D25C : A5 4E       |                          LDA     {$4E}                
 8122 | 30                      font.s    237 | Code        | 11 |         |    1 | 00/D25E : 0A          |                          ASL                          
 8123 | 30                      font.s    238 | Code        | 11 |         |    1 | 00/D25F : A8          |                          TAY                          
 8124 | 30                      font.s    239 | Code        | 11 |         |    2 | 00/D260 : B1 02       |                          LDA     ({{$02}}),Y          ; glyph lo from aux LC
 8125 | 30                      font.s    240 | Code        | 11 |         |    2 | 00/D262 : 85 18       |                          STA     {$18}                
 8126 | 30                      font.s    241 | Code        | 11 |         |    1 | 00/D264 : C8          |                          INY                          
 8127 | 30                      font.s    242 | Code        | 11 |         |    2 | 00/D265 : B1 02       |                          LDA     ({{$02}}),Y          ; glyph hi
 8128 | 30                      font.s    243 | Code        | 11 |         |    2 | 00/D267 : 85 19       |                          STA     {$19}                
 8129 | 30                      font.s    244 | Code        | 11 |         |    1 | 00/D269 : 60          |                          RTS                          
 8130 | 30                      font.s    245 | Empty       | 11 |         |    0 | 00/D26A               |                                                       
 8131 | 30                      font.s    246 | Empty       | 11 |         |    0 | 00/D26A               |                                                       
 8132 | 30                      font.s    247 | Empty       | 11 |         |    0 | 00/D26A               |                                                       
 8133 |  1                    bagman.s     85 | Directive   | 11 |         |    0 | 00/D26A               |                          PUT     fonttest.s           
 8134 | 31                  fonttest.s      1 | Comment     | 11 |         |    0 | 00/D26A               | *
 8135 | 31                  fonttest.s      2 | Comment     | 11 |         |    0 | 00/D26A               | * Music test menu + sprite catalog page (init-only)
 8136 | 31                  fonttest.s      3 | Comment     | 11 |         |    0 | 00/D26A               | *
 8137 | 31                  fonttest.s      4 | Empty       | 11 |         |    0 | 00/D26A               |                                                       
 8138 | 31                  fonttest.s      5 | Comment     | 11 |         |    0 | 00/D26A               | *----------------------------------------------
 8139 | 31                  fonttest.s      6 | Comment     | 11 |         |    0 | 00/D26A               | * ShowFontTest - Music test menu
 8140 | 31                  fonttest.s      7 | Comment     | 11 |         |    0 | 00/D26A               | * Keys 1-5 play tunes, ESC exits
 8141 | 31                  fonttest.s      8 | Comment     | 11 |         |    0 | 00/D26A               | *----------------------------------------------
 8142 | 31                  fonttest.s      9 | Empty       | 11 |         |    0 | 00/D26A               | ShowFontTest                                          
 8143 | 31                  fonttest.s     10 | Code        | 11 |         |    2 | 00/D26A : 64 1E       |                          STZ     {$1E}                
 8144 | 31                  fonttest.s     11 | Code        | 11 |         |    3 | 00/D26C : 20 DC 0F    |                          JSR     DHGRClear            
 8145 | 31                  fonttest.s     12 | Empty       | 11 |         |    0 | 00/D26F               |                                                       
 8146 | 31                  fonttest.s     13 | Comment     | 11 |         |    0 | 00/D26F               | * Title
 8147 | 31                  fonttest.s     14 | Code        | 11 |         |    2 | 00/D26F : A9 28       |                          LDA     #<_title             
 8148 | 31                  fonttest.s     15 | Code        | 11 |         |    2 | 00/D271 : 85 04       |                          STA     {$04}                
 8149 | 31                  fonttest.s     16 | Code        | 11 |         |    2 | 00/D273 : A9 D3       |                          LDA     #>_title             
 8150 | 31                  fonttest.s     17 | Code        | 11 |         |    2 | 00/D275 : 85 05       |                          STA     {$04}+1              
 8151 | 31                  fonttest.s     18 | Code        | 11 |         |    2 | 00/D277 : A9 02       |                          LDA     #2                   
 8152 | 31                  fonttest.s     19 | Code        | 11 |         |    2 | 00/D279 : 85 1B       |                          STA     {{$1B}}              
 8153 | 31                  fonttest.s     20 | Code        | 11 |         |    2 | 00/D27B : A9 06       |                          LDA     #6                   
 8154 | 31                  fonttest.s     21 | Code        | 11 |         |    2 | 00/D27D : 85 1A       |                          STA     {{$1A}}              
 8155 | 31                  fonttest.s     22 | Code        | 11 |         |    3 | 00/D27F : 20 54 D1    |                          JSR     DrawText             
 8156 | 31                  fonttest.s     23 | Empty       | 11 |         |    0 | 00/D282               |                                                       
 8157 | 31                  fonttest.s     24 | Comment     | 11 |         |    0 | 00/D282               | * Menu items
 8158 | 31                  fonttest.s     25 | Code        | 11 |         |    2 | 00/D282 : A2 00       |                          LDX     #0                   ; menu item index
 8159 | 31                  fonttest.s     26 | Empty       | 11 |         |    0 | 00/D284               | _drawMenu                                             
 8160 | 31                  fonttest.s     27 | Code        | 11 |         |    1 | 00/D284 : DA          |                          PHX                          
 8161 | 31                  fonttest.s     28 | Code        | 11 |         |    1 | 00/D285 : 8A          |                          TXA                          
 8162 | 31                  fonttest.s     29 | Code        | 11 |         |    1 | 00/D286 : 0A          |                          ASL                          
 8163 | 31                  fonttest.s     30 | Code        | 11 |         |    1 | 00/D287 : AA          |                          TAX                          
 8164 | 31                  fonttest.s     31 | Code        | 11 |         |    3 | 00/D288 : BD 65 D3    |                          LDA     _menuTbl,X           
 8165 | 31                  fonttest.s     32 | Code        | 11 |         |    2 | 00/D28B : 85 04       |                          STA     {$04}                
 8166 | 31                  fonttest.s     33 | Code        | 11 |         |    3 | 00/D28D : BD 66 D3    |                          LDA     _menuTbl+1,X         
 8167 | 31                  fonttest.s     34 | Code        | 11 |         |    2 | 00/D290 : 85 05       |                          STA     {$04}+1              
 8168 | 31                  fonttest.s     35 | Code        | 11 |         |    1 | 00/D292 : FA          |                          PLX                          
 8169 | 31                  fonttest.s     36 | Code        | 11 |         |    1 | 00/D293 : DA          |                          PHX                          
 8170 | 31                  fonttest.s     37 | Code        | 11 |         |    1 | 00/D294 : 8A          |                          TXA                          
 8171 | 31                  fonttest.s     38 | Code        | 11 |         |    1 | 00/D295 : 0A          |                          ASL                          ; *2
 8172 | 31                  fonttest.s     39 | Code        | 11 |         |    1 | 00/D296 : 18          |                          CLC                          
 8173 | 31                  fonttest.s     40 | Code        | 11 |         |    2 | 00/D297 : 69 06       |                          ADC     #6                   ; row 6,8,10,12,14
 8174 | 31                  fonttest.s     41 | Code        | 11 |         |    2 | 00/D299 : 85 1B       |                          STA     {{$1B}}              
 8175 | 31                  fonttest.s     42 | Code        | 11 |         |    2 | 00/D29B : A9 06       |                          LDA     #6                   
 8176 | 31                  fonttest.s     43 | Code        | 11 |         |    2 | 00/D29D : 85 1A       |                          STA     {{$1A}}              
 8177 | 31                  fonttest.s     44 | Code        | 11 |         |    3 | 00/D29F : 20 54 D1    |                          JSR     DrawText             
 8178 | 31                  fonttest.s     45 | Code        | 11 |         |    1 | 00/D2A2 : FA          |                          PLX                          
 8179 | 31                  fonttest.s     46 | Code        | 11 |         |    1 | 00/D2A3 : E8          |                          INX                          
 8180 | 31                  fonttest.s     47 | Code        | 11 |         |    2 | 00/D2A4 : E0 05       |                          CPX     #5                   
 8181 | 31                  fonttest.s     48 | Code        | 11 |         |    2 | 00/D2A6 : D0 DC       |                          BNE     _drawMenu            
 8182 | 31                  fonttest.s     49 | Empty       | 11 |         |    0 | 00/D2A8               |                                                       
 8183 | 31                  fonttest.s     50 | Comment     | 11 |         |    0 | 00/D2A8               | * Instructions
 8184 | 31                  fonttest.s     51 | Code        | 11 |         |    2 | 00/D2A8 : A9 3C       |                          LDA     #<_instr             
 8185 | 31                  fonttest.s     52 | Code        | 11 |         |    2 | 00/D2AA : 85 04       |                          STA     {$04}                
 8186 | 31                  fonttest.s     53 | Code        | 11 |         |    2 | 00/D2AC : A9 D3       |                          LDA     #>_instr             
 8187 | 31                  fonttest.s     54 | Code        | 11 |         |    2 | 00/D2AE : 85 05       |                          STA     {$04}+1              
 8188 | 31                  fonttest.s     55 | Code        | 11 |         |    2 | 00/D2B0 : A9 12       |                          LDA     #18                  
 8189 | 31                  fonttest.s     56 | Code        | 11 |         |    2 | 00/D2B2 : 85 1B       |                          STA     {{$1B}}              
 8190 | 31                  fonttest.s     57 | Code        | 11 |         |    2 | 00/D2B4 : A9 05       |                          LDA     #5                   
 8191 | 31                  fonttest.s     58 | Code        | 11 |         |    2 | 00/D2B6 : 85 1A       |                          STA     {{$1A}}              
 8192 | 31                  fonttest.s     59 | Code        | 11 |         |    3 | 00/D2B8 : 20 54 D1    |                          JSR     DrawText             
 8193 | 31                  fonttest.s     60 | Empty       | 11 |         |    0 | 00/D2BB               |                                                       
 8194 | 31                  fonttest.s     61 | Code        | 11 |         |    2 | 00/D2BB : A9 53       |                          LDA     #<_instr2            
 8195 | 31                  fonttest.s     62 | Code        | 11 |         |    2 | 00/D2BD : 85 04       |                          STA     {$04}                
 8196 | 31                  fonttest.s     63 | Code        | 11 |         |    2 | 00/D2BF : A9 D3       |                          LDA     #>_instr2            
 8197 | 31                  fonttest.s     64 | Code        | 11 |         |    2 | 00/D2C1 : 85 05       |                          STA     {$04}+1              
 8198 | 31                  fonttest.s     65 | Code        | 11 |         |    2 | 00/D2C3 : A9 14       |                          LDA     #20                  
 8199 | 31                  fonttest.s     66 | Code        | 11 |         |    2 | 00/D2C5 : 85 1B       |                          STA     {{$1B}}              
 8200 | 31                  fonttest.s     67 | Code        | 11 |         |    2 | 00/D2C7 : A9 07       |                          LDA     #7                   
 8201 | 31                  fonttest.s     68 | Code        | 11 |         |    2 | 00/D2C9 : 85 1A       |                          STA     {{$1A}}              
 8202 | 31                  fonttest.s     69 | Code        | 11 |         |    3 | 00/D2CB : 20 54 D1    |                          JSR     DrawText             
 8203 | 31                  fonttest.s     70 | Empty       | 11 |         |    0 | 00/D2CE               |                                                       
 8204 | 31                  fonttest.s     71 | Comment     | 11 |         |    0 | 00/D2CE               | * Input loop
 8205 | 31                  fonttest.s     72 | Code        | 11 |         |    3 | 00/D2CE : 8D 10 C0    | _input                   STA     $C010                ; clear strobe
 8206 | 31                  fonttest.s     73 | Code        | 11 |         |    3 | 00/D2D1 : AD 00 C0    | ozunid_40                LDA     $C000                
 8207 | 31                  fonttest.s     74 | Code        | 11 |         |    2 | 00/D2D4 : 10 FB       |                          BPL     ozunid_40            
 8208 | 31                  fonttest.s     75 | Code        | 11 |         |    3 | 00/D2D6 : 8D 10 C0    |                          STA     $C010                
 8209 | 31                  fonttest.s     76 | Empty       | 11 |         |    0 | 00/D2D9               |                                                       
 8210 | 31                  fonttest.s     77 | Code        | 11 |         |    2 | 00/D2D9 : C9 B1       |                          CMP     #$B1                 ; '1'
 8211 | 31                  fonttest.s     78 | Code        | 11 |         |    2 | 00/D2DB : D0 0A       |                          BNE     _not1                
 8212 | 31                  fonttest.s     79 | Code        | 11 |         |    2 | 00/D2DD : A9 3A       |                          LDA     #<Tune1Data          
 8213 | 31                  fonttest.s     80 | Code        | 11 |         |    2 | 00/D2DF : A2 E7       |                          LDX     #>Tune1Data          
 8214 | 31                  fonttest.s     81 | Code        | 11 |         |    3 | 00/D2E1 : 20 2E D1    |                          JSR     PlayMusicNoSwap      
 8215 | 31                  fonttest.s     82 | Code        | 11 |         |    3 | 00/D2E4 : 4C CE D2    |                          JMP     _input               
 8216 | 31                  fonttest.s     83 | Code        | 11 |         |    2 | 00/D2E7 : C9 B2       | _not1                    CMP     #$B2                 ; '2'
 8217 | 31                  fonttest.s     84 | Code        | 11 |         |    2 | 00/D2E9 : D0 0A       |                          BNE     _not2                
 8218 | 31                  fonttest.s     85 | Code        | 11 |         |    2 | 00/D2EB : A9 28       |                          LDA     #<Tune2Data          
 8219 | 31                  fonttest.s     86 | Code        | 11 |         |    2 | 00/D2ED : A2 E8       |                          LDX     #>Tune2Data          
 8220 | 31                  fonttest.s     87 | Code        | 11 |         |    3 | 00/D2EF : 20 2E D1    |                          JSR     PlayMusicNoSwap      
 8221 | 31                  fonttest.s     88 | Code        | 11 |         |    3 | 00/D2F2 : 4C CE D2    |                          JMP     _input               
 8222 | 31                  fonttest.s     89 | Code        | 11 |         |    2 | 00/D2F5 : C9 B3       | _not2                    CMP     #$B3                 ; '3'
 8223 | 31                  fonttest.s     90 | Code        | 11 |         |    2 | 00/D2F7 : D0 0A       |                          BNE     _not3                
 8224 | 31                  fonttest.s     91 | Code        | 11 |         |    2 | 00/D2F9 : A9 91       |                          LDA     #<DeathTune          
 8225 | 31                  fonttest.s     92 | Code        | 11 |         |    2 | 00/D2FB : A2 E9       |                          LDX     #>DeathTune          
 8226 | 31                  fonttest.s     93 | Code        | 11 |         |    3 | 00/D2FD : 20 2E D1    |                          JSR     PlayMusicNoSwap      
 8227 | 31                  fonttest.s     94 | Code        | 11 |         |    3 | 00/D300 : 4C CE D2    |                          JMP     _input               
 8228 | 31                  fonttest.s     95 | Code        | 11 |         |    2 | 00/D303 : C9 B4       | _not3                    CMP     #$B4                 ; '4'
 8229 | 31                  fonttest.s     96 | Code        | 11 |         |    2 | 00/D305 : D0 0A       |                          BNE     _not4                
 8230 | 31                  fonttest.s     97 | Code        | 11 |         |    2 | 00/D307 : A9 B3       |                          LDA     #<RewardTune         
 8231 | 31                  fonttest.s     98 | Code        | 11 |         |    2 | 00/D309 : A2 E9       |                          LDX     #>RewardTune         
 8232 | 31                  fonttest.s     99 | Code        | 11 |         |    3 | 00/D30B : 20 2E D1    |                          JSR     PlayMusicNoSwap      
 8233 | 31                  fonttest.s    100 | Code        | 11 |         |    3 | 00/D30E : 4C CE D2    |                          JMP     _input               
 8234 | 31                  fonttest.s    101 | Code        | 11 |         |    2 | 00/D311 : C9 B5       | _not4                    CMP     #$B5                 ; '5'
 8235 | 31                  fonttest.s    102 | Code        | 11 |         |    2 | 00/D313 : D0 0A       |                          BNE     _not5                
 8236 | 31                  fonttest.s    103 | Code        | 11 |         |    2 | 00/D315 : A9 C6       |                          LDA     #<TakeBagTune        
 8237 | 31                  fonttest.s    104 | Code        | 11 |         |    2 | 00/D317 : A2 E9       |                          LDX     #>TakeBagTune        
 8238 | 31                  fonttest.s    105 | Code        | 11 |         |    3 | 00/D319 : 20 2E D1    |                          JSR     PlayMusicNoSwap      
 8239 | 31                  fonttest.s    106 | Code        | 11 |         |    3 | 00/D31C : 4C CE D2    |                          JMP     _input               
 8240 | 31                  fonttest.s    107 | Code        | 11 |         |    2 | 00/D31F : C9 A0       | _not5                    CMP     #$A0                 ; SPACE
 8241 | 31                  fonttest.s    108 | Code        | 11 |         |    2 | 00/D321 : F0 04       |                          BEQ     ozunid_41            
 8242 | 31                  fonttest.s    109 | Code        | 11 |         |    2 | 00/D323 : C9 9B       |                          CMP     #$9B                 ; ESC
 8243 | 31                  fonttest.s    110 | Code        | 11 |         |    2 | 00/D325 : D0 AA       |                          BNE     ozunid_40            
 8244 | 31                  fonttest.s    111 | Code        | 11 |         |    1 | 00/D327 : 60          | ozunid_41                RTS                          
 8245 | 31                  fonttest.s    112 | Empty       | 11 |         |    0 | 00/D328               |                                                       
 8246 | 31                  fonttest.s    113 | Data        | 11 |         |   19 | 00/D328 : 42 41 47 4D | _title                   ASC     'BAGMAN - MUSIC TEST'
      |                                       |             |    |         |      |           41 4E 20 2D |
      |                                       |             |    |         |      |           20 4D 55 53 |
      |                                       |             |    |         |      |           49 43 20 54 |
      |                                       |             |    |         |      |           45 53 54    |
 8247 | 31                  fonttest.s    114 | Data        | 11 |         |    1 | 00/D33B : 00          |                          DFB     0                    
 8248 | 31                  fonttest.s    115 | Data        | 11 |         |   22 | 00/D33C : 50 52 45 53 | _instr                   ASC     'PRESS 1-5 TO PLAY TUNE'
      |                                       |             |    |         |      |           53 20 31 2D |
      |                                       |             |    |         |      |           35 20 54 4F |
      |                                       |             |    |         |      |           20 50 4C 41 |
      |                                       |             |    |         |      |           59 20 54 55 |
      |                                       |             |    |         |      |           4E 45       |
 8249 | 31                  fonttest.s    116 | Data        | 11 |         |    1 | 00/D352 : 00          |                          DFB     0                    
 8250 | 31                  fonttest.s    117 | Data        | 11 |         |   17 | 00/D353 : 53 50 41 43 | _instr2                  ASC     'SPACE TO CONTINUE'  
      |                                       |             |    |         |      |           45 20 54 4F |
      |                                       |             |    |         |      |           20 43 4F 4E |
      |                                       |             |    |         |      |           54 49 4E 55 |
      |                                       |             |    |         |      |           45          |
 8251 | 31                  fonttest.s    118 | Data        | 11 |         |    1 | 00/D364 : 00          |                          DFB     0                    
 8252 | 31                  fonttest.s    119 | Empty       | 11 |         |    0 | 00/D365               |                                                       
 8253 | 31                  fonttest.s    120 | Data        | 11 |         |   10 | 00/D365 : 6F D3 81 D3 | _menuTbl                 DA      ozunid_42,ozunid_43,ozunid_44,ozunid_45,ozunid_46
      |                                       |             |    |         |      |           91 D3 A1 D3 |
      |                                       |             |    |         |      |           B2 D3       |
 8254 | 31                  fonttest.s    121 | Empty       | 11 |         |    0 | 00/D36F               |                                                       
 8255 | 31                  fonttest.s    122 | Data        | 11 |         |   17 | 00/D36F : 31 20 20 47 | ozunid_42                ASC     '1  GAMEPLAY MUSIC'  
      |                                       |             |    |         |      |           41 4D 45 50 |
      |                                       |             |    |         |      |           4C 41 59 20 |
      |                                       |             |    |         |      |           4D 55 53 49 |
      |                                       |             |    |         |      |           43          |
 8256 | 31                  fonttest.s    123 | Data        | 11 |         |    1 | 00/D380 : 00          |                          DFB     0                    
 8257 | 31                  fonttest.s    124 | Data        | 11 |         |   15 | 00/D381 : 32 20 20 49 | ozunid_43                ASC     '2  INTERMISSION'    
      |                                       |             |    |         |      |           4E 54 45 52 |
      |                                       |             |    |         |      |           4D 49 53 53 |
      |                                       |             |    |         |      |           49 4F 4E    |
 8258 | 31                  fonttest.s    125 | Data        | 11 |         |    1 | 00/D390 : 00          |                          DFB     0                    
 8259 | 31                  fonttest.s    126 | Data        | 11 |         |   15 | 00/D391 : 33 20 20 50 | ozunid_44                ASC     '3  PLAYER DEATH'    
      |                                       |             |    |         |      |           4C 41 59 45 |
      |                                       |             |    |         |      |           52 20 44 45 |
      |                                       |             |    |         |      |           41 54 48    |
 8260 | 31                  fonttest.s    127 | Data        | 11 |         |    1 | 00/D3A0 : 00          |                          DFB     0                    
 8261 | 31                  fonttest.s    128 | Data        | 11 |         |   16 | 00/D3A1 : 34 20 20 42 | ozunid_45                ASC     '4  BAG DELIVERED'   
      |                                       |             |    |         |      |           41 47 20 44 |
      |                                       |             |    |         |      |           45 4C 49 56 |
      |                                       |             |    |         |      |           45 52 45 44 |
 8262 | 31                  fonttest.s    129 | Data        | 11 |         |    1 | 00/D3B1 : 00          |                          DFB     0                    
 8263 | 31                  fonttest.s    130 | Data        | 11 |         |   13 | 00/D3B2 : 35 20 20 50 | ozunid_46                ASC     '5  PICKUP BAG'      
      |                                       |             |    |         |      |           49 43 4B 55 |
      |                                       |             |    |         |      |           50 20 42 41 |
      |                                       |             |    |         |      |           47          |
 8264 | 31                  fonttest.s    131 | Data        | 11 |         |    1 | 00/D3BF : 00          |                          DFB     0                    
 8265 | 31                  fonttest.s    132 | Empty       | 11 |         |    0 | 00/D3C0               |                                                       
 8266 | 31                  fonttest.s    133 | Comment     | 11 |         |    0 | 00/D3C0               | *----------------------------------------------
 8267 | 31                  fonttest.s    134 | Comment     | 11 |         |    0 | 00/D3C0               | * ShowSpriteCatalog - Display all sprite slots in a 10-wide grid.
 8268 | 31                  fonttest.s    135 | Comment     | 11 |         |    0 | 00/D3C0               | *
 8269 | 31                  fonttest.s    136 | Comment     | 11 |         |    0 | 00/D3C0               | * DHGRClear fills the screen with $80 (solid black), which satisfies
 8270 | 31                  fonttest.s    137 | Comment     | 11 |         |    0 | 00/D3C0               | * DrawSpriteSolid's "solid background" precondition; since every grid
 8271 | 31                  fonttest.s    138 | Comment     | 11 |         |    0 | 00/D3C0               | * X is a multiple of 7 (7, 21, 35, ...), shift-0-only storage also
 8272 | 31                  fonttest.s    139 | Comment     | 11 |         |    0 | 00/D3C0               | * works for compact frames (elevator car, 24/30).
 8273 | 31                  fonttest.s    140 | Comment     | 11 |         |    0 | 00/D3C0               | *
 8274 | 31                  fonttest.s    141 | Comment     | 11 |         |    0 | 00/D3C0               | * Unused slots (SprAuxAddrH == $00) are left blank.
 8275 | 31                  fonttest.s    142 | Comment     | 11 |         |    0 | 00/D3C0               | *----------------------------------------------
 8276 | 31                  fonttest.s    143 | Equivalence | 11 |         |    0 | 00/D3C0               | SprCol                   =       $0302                ; column counter (safe from DrawSprite)
 8277 | 31                  fonttest.s    144 | Empty       | 11 |         |    0 | 00/D3C0               |                                                       
 8278 | 31                  fonttest.s    145 | Empty       | 11 |         |    0 | 00/D3C0               | ShowSpriteCatalog                                     
 8279 | 31                  fonttest.s    146 | Code        | 11 |         |    2 | 00/D3C0 : 64 1E       |                          STZ     {$1E}                
 8280 | 31                  fonttest.s    147 | Code        | 11 |         |    3 | 00/D3C2 : 20 DC 0F    |                          JSR     DHGRClear            
 8281 | 31                  fonttest.s    148 | Comment     | 11 |         |    0 | 00/D3C5               | * Draw sprites in a 10-wide grid
 8282 | 31                  fonttest.s    149 | Comment     | 11 |         |    0 | 00/D3C5               | * X spacing = 14 pixels, Y spacing = 16 scanlines
 8283 | 31                  fonttest.s    150 | Code        | 11 |         |    2 | 00/D3C5 : 64 16       |                          STZ     {$16}                
 8284 | 31                  fonttest.s    151 | Code        | 11 |         |    2 | 00/D3C7 : A9 07       |                          LDA     #7                   ; starting pixel X
 8285 | 31                  fonttest.s    152 | Code        | 11 |         |    2 | 00/D3C9 : 85 14       |                          STA     {$14}                
 8286 | 31                  fonttest.s    153 | Code        | 11 |         |    2 | 00/D3CB : A9 08       |                          LDA     #8                   ; starting scanline Y
 8287 | 31                  fonttest.s    154 | Code        | 11 |         |    2 | 00/D3CD : 85 15       |                          STA     {$15}                
 8288 | 31                  fonttest.s    155 | Code        | 11 |         |    3 | 00/D3CF : 9C 02 03    |                          STZ     {$0302}              
 8289 | 31                  fonttest.s    156 | Empty       | 11 |         |    0 | 00/D3D2               |                                                       
 8290 | 31                  fonttest.s    157 | Empty       | 11 |         |    0 | 00/D3D2               | ozunid_47                                             
 8291 | 31                  fonttest.s    158 | Comment     | 11 |         |    0 | 00/D3D2               | * Skip unused slots (SprAuxAddrH == $00 signals dead entry).
 8292 | 31                  fonttest.s    159 | Code        | 11 |         |    2 | 00/D3D2 : A6 16       |                          LDX     {$16}                
 8293 | 31                  fonttest.s    160 | Code        | 11 |         |    3 | 00/D3D4 : BD 17 8A    |                          LDA     SprAuxAddrH,X        
 8294 | 31                  fonttest.s    161 | Code        | 11 |         |    2 | 00/D3D7 : F0 03       |                          BEQ     _skipDraw            
 8295 | 31                  fonttest.s    162 | Code        | 11 |         |    3 | 00/D3D9 : 20 AE 7F    |                          JSR     DrawSpriteSolid      
 8296 | 31                  fonttest.s    163 | Empty       | 11 |         |    0 | 00/D3DC               | _skipDraw                                             
 8297 | 31                  fonttest.s    164 | Empty       | 11 |         |    0 | 00/D3DC               |                                                       
 8298 | 31                  fonttest.s    165 | Code        | 11 |         |    2 | 00/D3DC : E6 16       |                          INC     {$16}                
 8299 | 31                  fonttest.s    166 | Code        | 11 |         |    2 | 00/D3DE : A5 16       |                          LDA     {$16}                
 8300 | 31                  fonttest.s    167 | Code        | 11 |         |    2 | 00/D3E0 : C9 31       |                          CMP     #{49}                
 8301 | 31                  fonttest.s    168 | Code        | 11 |         |    2 | 00/D3E2 : F0 21       |                          BEQ     ozunid_48            
 8302 | 31                  fonttest.s    169 | Empty       | 11 |         |    0 | 00/D3E4               |                                                       
 8303 | 31                  fonttest.s    170 | Comment     | 11 |         |    0 | 00/D3E4               | * Advance X by 14 pixels
 8304 | 31                  fonttest.s    171 | Code        | 11 |         |    1 | 00/D3E4 : 18          |                          CLC                          
 8305 | 31                  fonttest.s    172 | Code        | 11 |         |    2 | 00/D3E5 : A5 14       |                          LDA     {$14}                
 8306 | 31                  fonttest.s    173 | Code        | 11 |         |    2 | 00/D3E7 : 69 0E       |                          ADC     #14                  
 8307 | 31                  fonttest.s    174 | Code        | 11 |         |    2 | 00/D3E9 : 85 14       |                          STA     {$14}                
 8308 | 31                  fonttest.s    175 | Empty       | 11 |         |    0 | 00/D3EB               |                                                       
 8309 | 31                  fonttest.s    176 | Code        | 11 |         |    3 | 00/D3EB : EE 02 03    |                          INC     {$0302}              
 8310 | 31                  fonttest.s    177 | Code        | 11 |         |    3 | 00/D3EE : AD 02 03    |                          LDA     {$0302}              
 8311 | 31                  fonttest.s    178 | Code        | 11 |         |    2 | 00/D3F1 : C9 0A       |                          CMP     #10                  
 8312 | 31                  fonttest.s    179 | Code        | 11 |         |    2 | 00/D3F3 : D0 DD       |                          BNE     ozunid_47            
 8313 | 31                  fonttest.s    180 | Empty       | 11 |         |    0 | 00/D3F5               |                                                       
 8314 | 31                  fonttest.s    181 | Comment     | 11 |         |    0 | 00/D3F5               | * Next row
 8315 | 31                  fonttest.s    182 | Code        | 11 |         |    3 | 00/D3F5 : 9C 02 03    |                          STZ     {$0302}              
 8316 | 31                  fonttest.s    183 | Code        | 11 |         |    2 | 00/D3F8 : A9 07       |                          LDA     #7                   
 8317 | 31                  fonttest.s    184 | Code        | 11 |         |    2 | 00/D3FA : 85 14       |                          STA     {$14}                
 8318 | 31                  fonttest.s    185 | Code        | 11 |         |    1 | 00/D3FC : 18          |                          CLC                          
 8319 | 31                  fonttest.s    186 | Code        | 11 |         |    2 | 00/D3FD : A5 15       |                          LDA     {$15}                
 8320 | 31                  fonttest.s    187 | Code        | 11 |         |    2 | 00/D3FF : 69 10       |                          ADC     #16                  
 8321 | 31                  fonttest.s    188 | Code        | 11 |         |    2 | 00/D401 : 85 15       |                          STA     {$15}                
 8322 | 31                  fonttest.s    189 | Code        | 11 |         |    2 | 00/D403 : 80 CD       |                          BRA     ozunid_47            
 8323 | 31                  fonttest.s    190 | Empty       | 11 |         |    0 | 00/D405               |                                                       
 8324 | 31                  fonttest.s    191 | Empty       | 11 |         |    0 | 00/D405               | ozunid_48                                             
 8325 | 31                  fonttest.s    192 | Code        | 11 |         |    3 | 00/D405 : AD 00 C0    | _scWait                  LDA     $C000                
 8326 | 31                  fonttest.s    193 | Code        | 11 |         |    2 | 00/D408 : 10 FB       |                          BPL     _scWait              
 8327 | 31                  fonttest.s    194 | Code        | 11 |         |    3 | 00/D40A : 8D 10 C0    |                          STA     $C010                
 8328 | 31                  fonttest.s    195 | Code        | 11 |         |    1 | 00/D40D : 60          |                          RTS                          
 8329 | 31                  fonttest.s    196 | Empty       | 11 |         |    0 | 00/D40E               |                                                       
 8330 |  1                    bagman.s     86 | Directive   | 11 |         |    0 | 00/D40E               |                          PUT     title.s              
 8331 | 32                     title.s      1 | Comment     | 11 |         |    0 | 00/D40E               | *
 8332 | 32                     title.s      2 | Comment     | 11 |         |    0 | 00/D40E               | * Bagman - Title Screen
 8333 | 32                     title.s      3 | Comment     | 11 |         |    0 | 00/D40E               | *
 8334 | 32                     title.s      4 | Comment     | 11 |         |    0 | 00/D40E               | * Decompresses LZSA2 logo into DHGR screen memory
 8335 | 32                     title.s      5 | Comment     | 11 |         |    0 | 00/D40E               | * and waits for keypress before continuing
 8336 | 32                     title.s      6 | Comment     | 11 |         |    0 | 00/D40E               | *
 8337 | 32                     title.s      7 | Empty       | 11 |         |    0 | 00/D40E               |                                                       
 8338 | 32                     title.s      8 | Comment     | 11 |         |    0 | 00/D40E               | *----------------------------------------------
 8339 | 32                     title.s      9 | Comment     | 11 |         |    0 | 00/D40E               | * ShowTitle - Display compressed title screen
 8340 | 32                     title.s     10 | Comment     | 11 |         |    0 | 00/D40E               | *
 8341 | 32                     title.s     11 | Comment     | 11 |         |    0 | 00/D40E               | * Decompresses aux and main halves of DHGR logo
 8342 | 32                     title.s     12 | Comment     | 11 |         |    0 | 00/D40E               | * into screen memory at $2000-$3FFF
 8343 | 32                     title.s     13 | Comment     | 11 |         |    0 | 00/D40E               | *----------------------------------------------
 8344 | 32                     title.s     14 | Comment     | 11 |         |    0 | 00/D40E               | * Logo data lives in aux LC at $D000 (copied there during init)
 8345 | 32                     title.s     15 | Equivalence | 11 |         |    0 | 00/D40E               | LogoAuxAt                =       {$EA00}              
 8346 | 32                     title.s     16 | Equivalence | 11 |         |    0 | 00/D40E               | LogoMainAt               =       {$EA00}+{LogoMain-LogoAux}
 8347 | 32                     title.s     17 | Empty       | 11 |         |    0 | 00/D40E               |                                                       
 8348 | 32                     title.s     18 | Comment     | 11 |         |    0 | 00/D40E               | * title.s lives in aux LC. Callers reach ShowTitle via AuxLCCall
 8349 | 32                     title.s     19 | Comment     | 11 |         |    0 | 00/D40E               | * (AuxShowTitle wrapper). On entry ALTZP is already ON, LC is aux
 8350 | 32                     title.s     20 | Comment     | 11 |         |    0 | 00/D40E               | * r+w, so we don't toggle ALTZP inside here. ZP writes (lzsa_srcptr
 8351 | 32                     title.s     21 | Comment     | 11 |         |    0 | 00/D40E               | * etc.) land in aux ZP, which is what LZSA2Decomp reads.
 8352 | 32                     title.s     22 | Empty       | 11 |         |    0 | 00/D40E               |                                                       
 8353 | 32                     title.s     23 | Empty       | 11 |         |    0 | 00/D40E               | ShowTitle                                             
 8354 | 32                     title.s     24 | Comment     | 11 |         |    0 | 00/D40E               | * Ensure page 1 is displayed for title
 8355 | 32                     title.s     25 | Code        | 11 |         |    3 | 00/D40E : 8D 54 C0    |                          STA     {$C054}              
 8356 | 32                     title.s     26 | Code        | 11 |         |    2 | 00/D411 : 64 1E       |                          STZ     {$1E}                
 8357 | 32                     title.s     27 | Empty       | 11 |         |    0 | 00/D413               |                                                       
 8358 | 32                     title.s     28 | Comment     | 11 |         |    0 | 00/D413               | * Use 80STORE for decompression (routes both reads AND writes
 8359 | 32                     title.s     29 | Comment     | 11 |         |    0 | 00/D413               | * for $2000-$3FFF via PAGE1/PAGE2 — needed for back-references)
 8360 | 32                     title.s     30 | Code        | 11 |         |    3 | 00/D413 : 8D 01 C0    |                          STA     {$C001}              
 8361 | 32                     title.s     31 | Empty       | 11 |         |    0 | 00/D416               |                                                       
 8362 | 32                     title.s     32 | Comment     | 11 |         |    0 | 00/D416               | * Decompress aux half
 8363 | 32                     title.s     33 | Code        | 11 |         |    3 | 00/D416 : 8D 55 C0    |                          STA     {$C055}              
 8364 | 32                     title.s     34 | Code        | 11 |         |    2 | 00/D419 : A9 00       |                          LDA     #<{{$EA00}}          
 8365 | 32                     title.s     35 | Code        | 11 |         |    2 | 00/D41B : 85 FC       |                          STA     {$FC}                
 8366 | 32                     title.s     36 | Code        | 11 |         |    2 | 00/D41D : A9 EA       |                          LDA     #>{{$EA00}}          
 8367 | 32                     title.s     37 | Code        | 11 |         |    2 | 00/D41F : 85 FD       |                          STA     {$FC}+1              
 8368 | 32                     title.s     38 | Code        | 11 |         |    2 | 00/D421 : A9 00       |                          LDA     #$00                 
 8369 | 32                     title.s     39 | Code        | 11 |         |    2 | 00/D423 : 85 FE       |                          STA     {$FE}                
 8370 | 32                     title.s     40 | Code        | 11 |         |    2 | 00/D425 : A9 20       |                          LDA     #$20                 
 8371 | 32                     title.s     41 | Code        | 11 |         |    2 | 00/D427 : 85 FF       |                          STA     {$FE}+1              
 8372 | 32                     title.s     42 | Code        | 11 |         |    3 | 00/D429 : 20 00 08    |                          JSR     LZSA2Decomp          
 8373 | 32                     title.s     43 | Empty       | 11 |         |    0 | 00/D42C               |                                                       
 8374 | 32                     title.s     44 | Comment     | 11 |         |    0 | 00/D42C               | * Decompress main half
 8375 | 32                     title.s     45 | Code        | 11 |         |    3 | 00/D42C : 8D 54 C0    |                          STA     {$C054}              
 8376 | 32                     title.s     46 | Code        | 11 |         |    2 | 00/D42F : A9 CD       |                          LDA     #<{{$EA00}+{LogoMain-LogoAux}}
 8377 | 32                     title.s     47 | Code        | 11 |         |    2 | 00/D431 : 85 FC       |                          STA     {$FC}                
 8378 | 32                     title.s     48 | Code        | 11 |         |    2 | 00/D433 : A9 F1       |                          LDA     #>{{$EA00}+{LogoMain-LogoAux}}
 8379 | 32                     title.s     49 | Code        | 11 |         |    2 | 00/D435 : 85 FD       |                          STA     {$FC}+1              
 8380 | 32                     title.s     50 | Code        | 11 |         |    2 | 00/D437 : A9 00       |                          LDA     #$00                 
 8381 | 32                     title.s     51 | Code        | 11 |         |    2 | 00/D439 : 85 FE       |                          STA     {$FE}                
 8382 | 32                     title.s     52 | Code        | 11 |         |    2 | 00/D43B : A9 20       |                          LDA     #$20                 
 8383 | 32                     title.s     53 | Code        | 11 |         |    2 | 00/D43D : 85 FF       |                          STA     {$FE}+1              
 8384 | 32                     title.s     54 | Code        | 11 |         |    3 | 00/D43F : 20 00 08    |                          JSR     LZSA2Decomp          
 8385 | 32                     title.s     55 | Empty       | 11 |         |    0 | 00/D442               |                                                       
 8386 | 32                     title.s     56 | Comment     | 11 |         |    0 | 00/D442               | * Back to RAMWRT mode for gameplay rendering
 8387 | 32                     title.s     57 | Code        | 11 |         |    3 | 00/D442 : 8D 00 C0    |                          STA     {$C000}              
 8388 | 32                     title.s     58 | Empty       | 11 |         |    0 | 00/D445               |                                                       
 8389 | 32                     title.s     59 | Comment     | 11 |         |    0 | 00/D445               | * Title menu: play music, dispatch on keypress.
 8390 | 32                     title.s     60 | Comment     | 11 |         |    0 | 00/D445               | * PlayMusicNoSwap keeps ALTZP on (we're already in aux context).
 8391 | 32                     title.s     61 | Comment     | 11 |         |    0 | 00/D445               | * Attract mode: if AttractState != 0, cap playback at ~10 notes (~4s)
 8392 | 32                     title.s     62 | Comment     | 11 |         |    0 | 00/D445               | * so the caller can transition to the high-score screen. A real
 8393 | 32                     title.s     63 | Comment     | 11 |         |    0 | 00/D445               | * keypress during attract clears AttractState and falls into the
 8394 | 32                     title.s     64 | Comment     | 11 |         |    0 | 00/D445               | * normal dispatch so the keystroke takes effect immediately.
 8395 | 32                     title.s     65 | Code        | 11 |         |    3 | 00/D445 : 8D 10 C0    | ozunid_49                STA     $C010                ; clear any stale strobe
 8396 | 32                     title.s     66 | Code        | 11 |         |    3 | 00/D448 : AD A6 03    |                          LDA     {$03A6}              
 8397 | 32                     title.s     67 | Code        | 11 |         |    2 | 00/D44B : F0 07       |                          BEQ     _fullSong            
 8398 | 32                     title.s     68 | Code        | 11 |         |    2 | 00/D44D : A9 28       |                          LDA     #40                  
 8399 | 32                     title.s     69 | Code        | 11 |         |    3 | 00/D44F : 8D AC 03    |                          STA     {$03AC}              ; ~16 seconds of music, then return
 8400 | 32                     title.s     70 | Code        | 11 |         |    2 | 00/D452 : 80 03       |                          BRA     _playIt              
 8401 | 32                     title.s     71 | Empty       | 11 |         |    0 | 00/D454               | _fullSong                                             
 8402 | 32                     title.s     72 | Code        | 11 |         |    3 | 00/D454 : 9C AC 03    |                          STZ     {$03AC}              ; no limit in normal mode
 8403 | 32                     title.s     73 | Empty       | 11 |         |    0 | 00/D457               | _playIt                                               
 8404 | 32                     title.s     74 | Code        | 11 |         |    2 | 00/D457 : A9 3A       |                          LDA     #<Tune1Data          
 8405 | 32                     title.s     75 | Code        | 11 |         |    2 | 00/D459 : A2 E7       |                          LDX     #>Tune1Data          
 8406 | 32                     title.s     76 | Code        | 11 |         |    3 | 00/D45B : 20 2E D1    |                          JSR     PlayMusicNoSwap      
 8407 | 32                     title.s     77 | Code        | 11 |         |    3 | 00/D45E : 9C AC 03    |                          STZ     {$03AC}              ; always disarm after the call
 8408 | 32                     title.s     78 | Code        | 11 |         |    3 | 00/D461 : AD 00 C0    |                          LDA     $C000                ; read key (bit 7 still set, or 0 if timeout)
 8409 | 32                     title.s     79 | Code        | 11 |         |    2 | 00/D464 : 10 33       |                          BPL     ozunid_50            
 8410 | 32                     title.s     80 | Code        | 11 |         |    3 | 00/D466 : 8D 10 C0    |                          STA     $C010                ; clear strobe
 8411 | 32                     title.s     81 | Code        | 11 |         |    1 | 00/D469 : 48          |                          PHA                          
 8412 | 32                     title.s     82 | Code        | 11 |         |    3 | 00/D46A : AD A6 03    |                          LDA     {$03A6}              
 8413 | 32                     title.s     83 | Code        | 11 |         |    2 | 00/D46D : F0 03       |                          BEQ     _dispatch            
 8414 | 32                     title.s     84 | Code        | 11 |         |    3 | 00/D46F : 9C A6 03    |                          STZ     {$03A6}              ; any real key during attract -> normal mode
 8415 | 32                     title.s     85 | Empty       | 11 |         |    0 | 00/D472               | _dispatch                                             
 8416 | 32                     title.s     86 | Code        | 11 |         |    1 | 00/D472 : 68          |                          PLA                          
 8417 | 32                     title.s     87 | Code        | 11 |         |    2 | 00/D473 : C9 D4       |                          CMP     #$D4                 ; 'T'
 8418 | 32                     title.s     88 | Code        | 11 |         |    2 | 00/D475 : F0 28       |                          BEQ     _doFont              
 8419 | 32                     title.s     89 | Code        | 11 |         |    2 | 00/D477 : C9 F4       |                          CMP     #$F4                 ; 't'
 8420 | 32                     title.s     90 | Code        | 11 |         |    2 | 00/D479 : F0 24       |                          BEQ     _doFont              
 8421 | 32                     title.s     91 | Code        | 11 |         |    2 | 00/D47B : C9 D3       |                          CMP     #$D3                 ; 'S'
 8422 | 32                     title.s     92 | Code        | 11 |         |    2 | 00/D47D : F0 26       |                          BEQ     ozunid_51            
 8423 | 32                     title.s     93 | Code        | 11 |         |    2 | 00/D47F : C9 F3       |                          CMP     #$F3                 ; 's'
 8424 | 32                     title.s     94 | Code        | 11 |         |    2 | 00/D481 : F0 22       |                          BEQ     ozunid_51            
 8425 | 32                     title.s     95 | Code        | 11 |         |    2 | 00/D483 : C9 C8       |                          CMP     #$C8                 ; 'H'
 8426 | 32                     title.s     96 | Code        | 11 |         |    2 | 00/D485 : F0 24       |                          BEQ     _doHS                
 8427 | 32                     title.s     97 | Code        | 11 |         |    2 | 00/D487 : C9 E8       |                          CMP     #$E8                 ; 'h'
 8428 | 32                     title.s     98 | Code        | 11 |         |    2 | 00/D489 : F0 20       |                          BEQ     _doHS                
 8429 | 32                     title.s     99 | Code        | 11 |         |    2 | 00/D48B : C9 A0       |                          CMP     #$A0                 ; Space
 8430 | 32                     title.s    100 | Code        | 11 |         |    2 | 00/D48D : F0 25       |                          BEQ     _start               
 8431 | 32                     title.s    101 | Code        | 11 |         |    2 | 00/D48F : C9 8D       |                          CMP     #$8D                 ; Return
 8432 | 32                     title.s    102 | Code        | 11 |         |    2 | 00/D491 : F0 21       |                          BEQ     _start               
 8433 | 32                     title.s    103 | Code        | 11 |         |    2 | 00/D493 : C9 9B       |                          CMP     #$9B                 ; ESC
 8434 | 32                     title.s    104 | Code        | 11 |         |    2 | 00/D495 : F0 1A       |                          BEQ     _doQuit              
 8435 | 32                     title.s    105 | Code        | 11 |         |    2 | 00/D497 : 80 AC       |                          BRA     ozunid_49            ; unknown key — keep music going
 8436 | 32                     title.s    106 | Empty       | 11 |         |    0 | 00/D499               | ozunid_50                                             
 8437 | 32                     title.s    107 | Code        | 11 |         |    3 | 00/D499 : AD A6 03    |                          LDA     {$03A6}              
 8438 | 32                     title.s    108 | Code        | 11 |         |    2 | 00/D49C : F0 A7       |                          BEQ     ozunid_49            ; normal: song ended with no key, restart
 8439 | 32                     title.s    109 | Code        | 11 |         |    1 | 00/D49E : 60          |                          RTS                          ; attract timeout — caller transitions next
 8440 | 32                     title.s    110 | Empty       | 11 |         |    0 | 00/D49F               |                                                       
 8441 | 32                     title.s    111 | Comment     | 11 |         |    0 | 00/D49F               | * ShowFontTest / ShowSpriteCatalog live in the same aux-LC block —
 8442 | 32                     title.s    112 | Comment     | 11 |         |    0 | 00/D49F               | * direct JSRs (no trampoline needed).
 8443 | 32                     title.s    113 | Code        | 11 |         |    3 | 00/D49F : 20 6A D2    | _doFont                  JSR     ShowFontTest         
 8444 | 32                     title.s    114 | Code        | 11 |         |    3 | 00/D4A2 : 4C 0E D4    |                          JMP     ShowTitle            ; redecompress logo, restart music
 8445 | 32                     title.s    115 | Code        | 11 |         |    3 | 00/D4A5 : 20 C0 D3    | ozunid_51                JSR     ShowSpriteCatalog    
 8446 | 32                     title.s    116 | Code        | 11 |         |    3 | 00/D4A8 : 4C 0E D4    |                          JMP     ShowTitle            
 8447 | 32                     title.s    117 | Code        | 11 |         |    3 | 00/D4AB : 20 F3 D8    | _doHS                    JSR     GoToLeaderboard      ; ScoreBCD=0 at title so HiScoreCheck misses
 8448 | 32                     title.s    118 | Code        | 11 |         |    3 | 00/D4AE : 4C 0E D4    |                          JMP     ShowTitle            
 8449 | 32                     title.s    119 | Code        | 11 |         |    3 | 00/D4B1 : 4C 92 6A    | _doQuit                  JMP     Quit                 ; ProDOS exit (asm/game.s; Quit clears ALTZP)
 8450 | 32                     title.s    120 | Code        | 11 |         |    1 | 00/D4B4 : 60          | _start                   RTS                          
 8451 | 32                     title.s    121 | Empty       | 11 |         |    0 | 00/D4B5               |                                                       
 8452 |  1                    bagman.s     87 | Directive   | 11 |         |    0 | 00/D4B5               |                          PUT     intermission.s       
 8453 | 33              intermission.s      1 | Comment     | 11 |         |    0 | 00/D4B5               | *
 8454 | 33              intermission.s      2 | Comment     | 11 |         |    0 | 00/D4B5               | * Bagman - Between-Round Intermission Screen
 8455 | 33              intermission.s      3 | Comment     | 11 |         |    0 | 00/D4B5               | *
 8456 | 33              intermission.s      4 | Comment     | 11 |         |    0 | 00/D4B5               | * Lives in aux LC (Phase 2). Called from main via AuxLCCall trampoline
 8457 | 33              intermission.s      5 | Comment     | 11 |         |    0 | 00/D4B5               | * (AuxDoIntermission wrapper). Runs with ALTZP ON throughout.
 8458 | 33              intermission.s      6 | Comment     | 11 |         |    0 | 00/D4B5               | *
 8459 | 33              intermission.s      7 | Comment     | 11 |         |    0 | 00/D4B5               | * DHGRClear is in main RAM ($0800) and reachable with ALTZP on:
 8460 | 33              intermission.s      8 | Comment     | 11 |         |    0 | 00/D4B5               | * instruction fetch isn't affected, ZP/stack become aux (self-consistent
 8461 | 33              intermission.s      9 | Comment     | 11 |         |    0 | 00/D4B5               | * within each call). HUD render lives in aux LC alongside this file;
 8462 | 33              intermission.s     10 | Comment     | 11 |         |    0 | 00/D4B5               | * we call DrawHUDAllAux directly to avoid the DrawScore/DrawBonus
 8463 | 33              intermission.s     11 | Comment     | 11 |         |    0 | 00/D4B5               | * trampolines that would flip ALTZP off on return and break our
 8464 | 33              intermission.s     12 | Comment     | 11 |         |    0 | 00/D4B5               | * aux-context caller.
 8465 | 33              intermission.s     13 | Comment     | 11 |         |    0 | 00/D4B5               | *
 8466 | 33              intermission.s     14 | Empty       | 11 |         |    0 | 00/D4B5               |                                                       
 8467 | 33              intermission.s     15 | Comment     | 11 |         |    0 | 00/D4B5               | *----------------------------------------------
 8468 | 33              intermission.s     16 | Comment     | 11 |         |    0 | 00/D4B5               | * DoIntermission - Black screen with HUD + "ROUND N", plays Tune2.
 8469 | 33              intermission.s     17 | Comment     | 11 |         |    0 | 00/D4B5               | *
 8470 | 33              intermission.s     18 | Comment     | 11 |         |    0 | 00/D4B5               | * Clears both DHGR pages to black, draws HUD (score/bonus/lives) and
 8471 | 33              intermission.s     19 | Comment     | 11 |         |    0 | 00/D4B5               | * "ROUND N" centered on page 1, plays intermission music (blocks
 8472 | 33              intermission.s     20 | Comment     | 11 |         |    0 | 00/D4B5               | * until song ends or keypress). Caller follows with map redraw +
 8473 | 33              intermission.s     21 | Comment     | 11 |         |    0 | 00/D4B5               | * entity init (ResetLevel handles both).
 8474 | 33              intermission.s     22 | Comment     | 11 |         |    0 | 00/D4B5               | *----------------------------------------------
 8475 | 33              intermission.s     23 | Empty       | 11 |         |    0 | 00/D4B5               | DoIntermission                                        
 8476 | 33              intermission.s     24 | Code        | 11 |         |    3 | 00/D4B5 : 8D 54 C0    |                          STA     {$C054}              ; make sure page 1 is displayed
 8477 | 33              intermission.s     25 | Code        | 11 |         |    2 | 00/D4B8 : 64 1E       |                          STZ     {$1E}                
 8478 | 33              intermission.s     26 | Code        | 11 |         |    3 | 00/D4BA : 20 DC 0F    |                          JSR     DHGRClear            ; black page 1 (main $0EAE)
 8479 | 33              intermission.s     27 | Code        | 11 |         |    2 | 00/D4BD : A9 20       |                          LDA     #$20                 
 8480 | 33              intermission.s     28 | Code        | 11 |         |    2 | 00/D4BF : 85 1E       |                          STA     {$1E}                
 8481 | 33              intermission.s     29 | Code        | 11 |         |    3 | 00/D4C1 : 20 DC 0F    |                          JSR     DHGRClear            ; black page 2
 8482 | 33              intermission.s     30 | Code        | 11 |         |    2 | 00/D4C4 : 64 1E       |                          STZ     {$1E}                
 8483 | 33              intermission.s     31 | Code        | 11 |         |    3 | 00/D4C6 : 20 A2 D8    |                          JSR     DrawHUDAllAux        ; score/bonus/lives on page 1 (aux LC)
 8484 | 33              intermission.s     32 | Code        | 11 |         |    3 | 00/D4C9 : 20 E1 D4    |                          JSR     DrawRoundText        ; "ROUND N" centered on page 1 (intra-aux)
 8485 | 33              intermission.s     33 | Code        | 11 |         |    3 | 00/D4CC : 8D 10 C0    |                          STA     $C010                ; clear any stale keyboard strobe
 8486 | 33              intermission.s     34 | Code        | 11 |         |    2 | 00/D4CF : A9 28       |                          LDA     #<Tune2Data          
 8487 | 33              intermission.s     35 | Code        | 11 |         |    2 | 00/D4D1 : A2 E8       |                          LDX     #>Tune2Data          
 8488 | 33              intermission.s     36 | Code        | 11 |         |    3 | 00/D4D3 : 20 2E D1    |                          JSR     PlayMusicNoSwap      ; aux-LC music variant (ALTZP already on)
 8489 | 33              intermission.s     37 | Code        | 11 |         |    3 | 00/D4D6 : 8D 10 C0    |                          STA     $C010                ; clear strobe again (in case key skipped)
 8490 | 33              intermission.s     38 | Code        | 11 |         |    1 | 00/D4D9 : 60          |                          RTS                          
 8491 | 33              intermission.s     39 | Empty       | 11 |         |    0 | 00/D4DA               |                                                       
 8492 | 33              intermission.s     40 | Comment     | 11 |         |    0 | 00/D4DA               | *----------------------------------------------
 8493 | 33              intermission.s     41 | Comment     | 11 |         |    0 | 00/D4DA               | * DrawRoundText - "ROUND N" at text row 11, col 14.
 8494 | 33              intermission.s     42 | Comment     | 11 |         |    0 | 00/D4DA               | * Reads RoundNumBCD (BCD 1..99); high digit skipped when zero.
 8495 | 33              intermission.s     43 | Comment     | 11 |         |    0 | 00/D4DA               | * DrawText is in the same aux-LC block - direct JSR.
 8496 | 33              intermission.s     44 | Comment     | 11 |         |    0 | 00/D4DA               | *----------------------------------------------
 8497 | 33              intermission.s     45 | Data        | 11 |         |    6 | 00/D4DA : D2 CF D5 CE | RoundStr                 ASC     "ROUND "             
      |                                       |             |    |         |      |           C4 A0       |
 8498 | 33              intermission.s     46 | Data        | 11 |         |    1 | 00/D4E0 : 00          |                          DFB     0                    
 8499 | 33              intermission.s     47 | Empty       | 11 |         |    0 | 00/D4E1               |                                                       
 8500 | 33              intermission.s     48 | Empty       | 11 |         |    0 | 00/D4E1               | DrawRoundText                                         
 8501 | 33              intermission.s     49 | Code        | 11 |         |    2 | 00/D4E1 : A9 DA       |                          LDA     #<RoundStr           
 8502 | 33              intermission.s     50 | Code        | 11 |         |    2 | 00/D4E3 : 85 04       |                          STA     {$04}                
 8503 | 33              intermission.s     51 | Code        | 11 |         |    2 | 00/D4E5 : A9 D4       |                          LDA     #>RoundStr           
 8504 | 33              intermission.s     52 | Code        | 11 |         |    2 | 00/D4E7 : 85 05       |                          STA     {$04}+1              
 8505 | 33              intermission.s     53 | Code        | 11 |         |    2 | 00/D4E9 : A9 0B       |                          LDA     #11                  
 8506 | 33              intermission.s     54 | Code        | 11 |         |    2 | 00/D4EB : 85 1B       |                          STA     {{$1B}}              
 8507 | 33              intermission.s     55 | Code        | 11 |         |    2 | 00/D4ED : A9 0E       |                          LDA     #14                  
 8508 | 33              intermission.s     56 | Code        | 11 |         |    2 | 00/D4EF : 85 1A       |                          STA     {{$1A}}              
 8509 | 33              intermission.s     57 | Code        | 11 |         |    3 | 00/D4F1 : 20 54 D1    |                          JSR     DrawText             ; TextCol = 20 after
 8510 | 33              intermission.s     58 | Comment     | 11 |         |    0 | 00/D4F4               | * Build "NN" or "N" string in DigitBuf then render via DrawText.
 8511 | 33              intermission.s     59 | Comment     | 11 |         |    0 | 00/D4F4               | * Intermission runs once per round, so DrawText's cost is irrelevant.
 8512 | 33              intermission.s     60 | Code        | 11 |         |    2 | 00/D4F4 : A0 00       |                          LDY     #0                   
 8513 | 33              intermission.s     61 | Code        | 11 |         |    3 | 00/D4F6 : AD CC 11    |                          LDA     RoundNumBCD          
 8514 | 33              intermission.s     62 | Code        | 11 |         |    1 | 00/D4F9 : 4A          |                          LSR                          
 8515 | 33              intermission.s     63 | Code        | 11 |         |    1 | 00/D4FA : 4A          |                          LSR                          
 8516 | 33              intermission.s     64 | Code        | 11 |         |    1 | 00/D4FB : 4A          |                          LSR                          
 8517 | 33              intermission.s     65 | Code        | 11 |         |    1 | 00/D4FC : 4A          |                          LSR                          ; A = tens digit
 8518 | 33              intermission.s     66 | Code        | 11 |         |    2 | 00/D4FD : F0 06       |                          BEQ     _drSkipHi            
 8519 | 33              intermission.s     67 | Code        | 11 |         |    2 | 00/D4FF : 09 30       |                          ORA     #'0'                 
 8520 | 33              intermission.s     68 | Code        | 11 |         |    3 | 00/D501 : 99 00 02    |                          STA     {$0200},Y            
 8521 | 33              intermission.s     69 | Code        | 11 |         |    1 | 00/D504 : C8          |                          INY                          
 8522 | 33              intermission.s     70 | Empty       | 11 |         |    0 | 00/D505               | _drSkipHi                                             
 8523 | 33              intermission.s     71 | Code        | 11 |         |    3 | 00/D505 : AD CC 11    |                          LDA     RoundNumBCD          
 8524 | 33              intermission.s     72 | Code        | 11 |         |    2 | 00/D508 : 29 0F       |                          AND     #$0F                 ; A = ones digit
 8525 | 33              intermission.s     73 | Code        | 11 |         |    2 | 00/D50A : 09 30       |                          ORA     #'0'                 
 8526 | 33              intermission.s     74 | Code        | 11 |         |    3 | 00/D50C : 99 00 02    |                          STA     {$0200},Y            
 8527 | 33              intermission.s     75 | Code        | 11 |         |    1 | 00/D50F : C8          |                          INY                          
 8528 | 33              intermission.s     76 | Code        | 11 |         |    2 | 00/D510 : A9 00       |                          LDA     #0                   
 8529 | 33              intermission.s     77 | Code        | 11 |         |    3 | 00/D512 : 99 00 02    |                          STA     {$0200},Y            
 8530 | 33              intermission.s     78 | Code        | 11 |         |    2 | 00/D515 : A9 00       |                          LDA     #<{$0200}            
 8531 | 33              intermission.s     79 | Code        | 11 |         |    2 | 00/D517 : 85 04       |                          STA     {$04}                
 8532 | 33              intermission.s     80 | Code        | 11 |         |    2 | 00/D519 : A9 02       |                          LDA     #>{$0200}            
 8533 | 33              intermission.s     81 | Code        | 11 |         |    2 | 00/D51B : 85 05       |                          STA     {$04}+1              
 8534 | 33              intermission.s     82 | Code        | 11 |         |    3 | 00/D51D : 4C 54 D1    |                          JMP     DrawText             
 8535 | 33              intermission.s     83 | Empty       | 11 |         |    0 | 00/D520               |                                                       
 8536 |  1                    bagman.s     88 | Directive   | 11 |         |    0 | 00/D520               |                          PUT     hud_render_aux.s     
 8537 | 34            hud_render_aux.s      1 | Comment     | 11 |         |    0 | 00/D520               | *
 8538 | 34            hud_render_aux.s      2 | Comment     | 11 |         |    0 | 00/D520               | * Bagman - HUD Render (aux LC)
 8539 | 34            hud_render_aux.s      3 | Comment     | 11 |         |    0 | 00/D520               | *
 8540 | 34            hud_render_aux.s      4 | Comment     | 11 |         |    0 | 00/D520               | * Hot HUD draw code relocated from game.s / hud_overlay.s. Lives in
 8541 | 34            hud_render_aux.s      5 | Comment     | 11 |         |    0 | 00/D520               | * the aux-LC cold block alongside font/title/intermission. Reached
 8542 | 34            hud_render_aux.s      6 | Comment     | 11 |         |    0 | 00/D520               | * from main via the DrawScore / DrawBonus trampolines in Low1800
 8543 | 34            hud_render_aux.s      7 | Comment     | 11 |         |    0 | 00/D520               | * (which stage $0302/$0303 and JMP AuxLCCall).
 8544 | 34            hud_render_aux.s      8 | Comment     | 11 |         |    0 | 00/D520               | *
 8545 | 34            hud_render_aux.s      9 | Comment     | 11 |         |    0 | 00/D520               | * When any routine here runs, ALTZP is ON (ZP + stack + LC routed to
 8546 | 34            hud_render_aux.s     10 | Comment     | 11 |         |    0 | 00/D520               | * aux). Absolute addresses $0200-$BFFF are unaffected by ALTZP;
 8547 | 34            hud_render_aux.s     11 | Comment     | 11 |         |    0 | 00/D520               | * RAMRD/RAMWRT still control which bank those addresses hit. Each
 8548 | 34            hud_render_aux.s     12 | Comment     | 11 |         |    0 | 00/D520               | * draw routine forces RAMRDMAIN + RAMWRTMAIN at entry so reads from
 8549 | 34            hud_render_aux.s     13 | Comment     | 11 |         |    0 | 00/D520               | * ScoreDigitBytes ($1600+) / BonusDigitBytes ($0400) / ScoreMirror
 8550 | 34            hud_render_aux.s     14 | Comment     | 11 |         |    0 | 00/D520               | * ($1E41) / BonusMirror ($1EDB) / BCD state all hit main RAM.
 8551 | 34            hud_render_aux.s     15 | Comment     | 11 |         |    0 | 00/D520               | *
 8552 | 34            hud_render_aux.s     16 | Comment     | 11 |         |    0 | 00/D520               | * Intermission (already aux-LC context) enters through DrawHUDAllAux
 8553 | 34            hud_render_aux.s     17 | Comment     | 11 |         |    0 | 00/D520               | * to avoid trampoline stack-bank flipping.
 8554 | 34            hud_render_aux.s     18 | Comment     | 11 |         |    0 | 00/D520               | *
 8555 | 34            hud_render_aux.s     19 | Empty       | 11 |         |    0 | 00/D520               |                                                       
 8556 | 34            hud_render_aux.s     20 | Comment     | 11 |         |    0 | 00/D520               | *----------------------------------------------
 8557 | 34            hud_render_aux.s     21 | Comment     | 11 |         |    0 | 00/D520               | * DrawScoreAux - Paint 8-digit BCD score with leading-zero blanking.
 8558 | 34            hud_render_aux.s     22 | Comment     | 11 |         |    0 | 00/D520               | * Callers: main-side DrawScore trampoline (MainLoop dirty path),
 8559 | 34            hud_render_aux.s     23 | Comment     | 11 |         |    0 | 00/D520               | * and DrawHUDAllAux (from intermission).
 8560 | 34            hud_render_aux.s     24 | Comment     | 11 |         |    0 | 00/D520               | *----------------------------------------------
 8561 | 34            hud_render_aux.s     25 | Empty       | 11 |         |    0 | 00/D520               | DrawScoreAux                                          
 8562 | 34            hud_render_aux.s     26 | Code        | 11 |         |    3 | 00/D520 : AD 06 03    |                          LDA     $0306                ; main-RAM pass-through: caller's PageOfs
 8563 | 34            hud_render_aux.s     27 | Code        | 11 |         |    2 | 00/D523 : 85 1E       |                          STA     {$1E}                ; mirror into aux ZP for this draw
 8564 | 34            hud_render_aux.s     28 | Code        | 11 |         |    3 | 00/D525 : 8D 02 C0    |                          STA     {$C002}              
 8565 | 34            hud_render_aux.s     29 | Code        | 11 |         |    3 | 00/D528 : 8D 04 C0    |                          STA     {$C004}              
 8566 | 34            hud_render_aux.s     30 | Comment     | 11 |         |    0 | 00/D52B               | * ScoreMirror holds the last composited 8-scan strip. If ScoreBCDDsp
 8567 | 34            hud_render_aux.s     31 | Comment     | 11 |         |    0 | 00/D52B               | * still matches ScoreBCDPrev we can blit the mirror straight to the
 8568 | 34            hud_render_aux.s     32 | Comment     | 11 |         |    0 | 00/D52B               | * current page and skip the decode + composite entirely.
 8569 | 34            hud_render_aux.s     33 | Code        | 11 |         |    3 | 00/D52B : AD DD 11    |                          LDA     ScoreBCDDsp+0        
 8570 | 34            hud_render_aux.s     34 | Code        | 11 |         |    3 | 00/D52E : CD 3D 1E    |                          CMP     {$1E3D}+0            
 8571 | 34            hud_render_aux.s     35 | Code        | 11 |         |    2 | 00/D531 : D0 1B       |                          BNE     _dsDirty             
 8572 | 34            hud_render_aux.s     36 | Code        | 11 |         |    3 | 00/D533 : AD DE 11    |                          LDA     ScoreBCDDsp+1        
 8573 | 34            hud_render_aux.s     37 | Code        | 11 |         |    3 | 00/D536 : CD 3E 1E    |                          CMP     {$1E3D}+1            
 8574 | 34            hud_render_aux.s     38 | Code        | 11 |         |    2 | 00/D539 : D0 13       |                          BNE     _dsDirty             
 8575 | 34            hud_render_aux.s     39 | Code        | 11 |         |    3 | 00/D53B : AD DF 11    |                          LDA     ScoreBCDDsp+2        
 8576 | 34            hud_render_aux.s     40 | Code        | 11 |         |    3 | 00/D53E : CD 3F 1E    |                          CMP     {$1E3D}+2            
 8577 | 34            hud_render_aux.s     41 | Code        | 11 |         |    2 | 00/D541 : D0 0B       |                          BNE     _dsDirty             
 8578 | 34            hud_render_aux.s     42 | Code        | 11 |         |    3 | 00/D543 : AD E0 11    |                          LDA     ScoreBCDDsp+3        
 8579 | 34            hud_render_aux.s     43 | Code        | 11 |         |    3 | 00/D546 : CD 40 1E    |                          CMP     {$1E3D}+3            
 8580 | 34            hud_render_aux.s     44 | Code        | 11 |         |    2 | 00/D549 : D0 03       |                          BNE     _dsDirty             
 8581 | 34            hud_render_aux.s     45 | Code        | 11 |         |    3 | 00/D54B : 4C 4C D6    |                          JMP     _dsClean             
 8582 | 34            hud_render_aux.s     46 | Code        | 11 |         |    3 | 00/D54E : 20 EE D6    | _dsDirty                 JSR     _DecodeScoreBCDAux   ; fills ScorePosOfs[0..7]
 8583 | 34            hud_render_aux.s     47 | Code        | 11 |         |    3 | 00/D551 : 9C 31 1E    |                          STZ     {$1E31}              
 8584 | 34            hud_render_aux.s     48 | Code        | 11 |         |    3 | 00/D554 : AE 31 1E    | ozunid_52                LDX     {$1E31}              
 8585 | 34            hud_render_aux.s     49 | Code        | 11 |         |    3 | 00/D557 : BD 0F 1E    |                          LDA     {$1E0F},X            
 8586 | 34            hud_render_aux.s     50 | Code        | 11 |         |    2 | 00/D55A : 85 04       |                          STA     {$04}                
 8587 | 34            hud_render_aux.s     51 | Code        | 11 |         |    3 | 00/D55C : BD 17 1E    |                          LDA     {$1E17},X            
 8588 | 34            hud_render_aux.s     52 | Code        | 11 |         |    2 | 00/D55F : 85 05       |                          STA     {$04}+1              
 8589 | 34            hud_render_aux.s     53 | Comment     | 11 |         |    0 | 00/D561               | * Unrolled composite into ScoreMirror (transposed: col N at +N*8, X=scan).
 8590 | 34            hud_render_aux.s     54 | Comment     | 11 |         |    0 | 00/D561               | * Seams at bytes 2,4,6,11,13 do ORA; other bytes STA. Leading-zero
 8591 | 34            hud_render_aux.s     55 | Comment     | 11 |         |    0 | 00/D561               | * positions point at the blank slot so every position contributes.
 8592 | 34            hud_render_aux.s     56 | Code        | 11 |         |    3 | 00/D561 : AC 35 1E    |                          LDY     {$1E35}+0            ; --- P0 [0,1,2] ---
 8593 | 34            hud_render_aux.s     57 | Code        | 11 |         |    2 | 00/D564 : B1 04       |                          LDA     ({$04}),Y            
 8594 | 34            hud_render_aux.s     58 | Code        | 11 |         |    3 | 00/D566 : 9D 41 1E    |                          STA     {$1E41}+0,X          
 8595 | 34            hud_render_aux.s     59 | Code        | 11 |         |    1 | 00/D569 : C8          |                          INY                          
 8596 | 34            hud_render_aux.s     60 | Code        | 11 |         |    2 | 00/D56A : B1 04       |                          LDA     ({$04}),Y            
 8597 | 34            hud_render_aux.s     61 | Code        | 11 |         |    3 | 00/D56C : 9D 49 1E    |                          STA     {$1E41}+8,X          
 8598 | 34            hud_render_aux.s     62 | Code        | 11 |         |    1 | 00/D56F : C8          |                          INY                          
 8599 | 34            hud_render_aux.s     63 | Code        | 11 |         |    2 | 00/D570 : B1 04       |                          LDA     ({$04}),Y            
 8600 | 34            hud_render_aux.s     64 | Code        | 11 |         |    3 | 00/D572 : 9D 51 1E    |                          STA     {$1E41}+16,X         ; seam-right (P1 will ORA)
 8601 | 34            hud_render_aux.s     65 | Code        | 11 |         |    3 | 00/D575 : AC 36 1E    |                          LDY     {$1E35}+1            ; --- P1 [2,3,4] ---
 8602 | 34            hud_render_aux.s     66 | Code        | 11 |         |    2 | 00/D578 : B1 04       |                          LDA     ({$04}),Y            
 8603 | 34            hud_render_aux.s     67 | Code        | 11 |         |    3 | 00/D57A : 1D 51 1E    |                          ORA     {$1E41}+16,X         
 8604 | 34            hud_render_aux.s     68 | Code        | 11 |         |    3 | 00/D57D : 9D 51 1E    |                          STA     {$1E41}+16,X         
 8605 | 34            hud_render_aux.s     69 | Code        | 11 |         |    1 | 00/D580 : C8          |                          INY                          
 8606 | 34            hud_render_aux.s     70 | Code        | 11 |         |    2 | 00/D581 : B1 04       |                          LDA     ({$04}),Y            
 8607 | 34            hud_render_aux.s     71 | Code        | 11 |         |    3 | 00/D583 : 9D 59 1E    |                          STA     {$1E41}+24,X         
 8608 | 34            hud_render_aux.s     72 | Code        | 11 |         |    1 | 00/D586 : C8          |                          INY                          
 8609 | 34            hud_render_aux.s     73 | Code        | 11 |         |    2 | 00/D587 : B1 04       |                          LDA     ({$04}),Y            
 8610 | 34            hud_render_aux.s     74 | Code        | 11 |         |    3 | 00/D589 : 9D 61 1E    |                          STA     {$1E41}+32,X         ; seam-right
 8611 | 34            hud_render_aux.s     75 | Code        | 11 |         |    3 | 00/D58C : AC 37 1E    |                          LDY     {$1E35}+2            ; --- P2 [4,5,6] ---
 8612 | 34            hud_render_aux.s     76 | Code        | 11 |         |    2 | 00/D58F : B1 04       |                          LDA     ({$04}),Y            
 8613 | 34            hud_render_aux.s     77 | Code        | 11 |         |    3 | 00/D591 : 1D 61 1E    |                          ORA     {$1E41}+32,X         
 8614 | 34            hud_render_aux.s     78 | Code        | 11 |         |    3 | 00/D594 : 9D 61 1E    |                          STA     {$1E41}+32,X         
 8615 | 34            hud_render_aux.s     79 | Code        | 11 |         |    1 | 00/D597 : C8          |                          INY                          
 8616 | 34            hud_render_aux.s     80 | Code        | 11 |         |    2 | 00/D598 : B1 04       |                          LDA     ({$04}),Y            
 8617 | 34            hud_render_aux.s     81 | Code        | 11 |         |    3 | 00/D59A : 9D 69 1E    |                          STA     {$1E41}+40,X         
 8618 | 34            hud_render_aux.s     82 | Code        | 11 |         |    1 | 00/D59D : C8          |                          INY                          
 8619 | 34            hud_render_aux.s     83 | Code        | 11 |         |    2 | 00/D59E : B1 04       |                          LDA     ({$04}),Y            
 8620 | 34            hud_render_aux.s     84 | Code        | 11 |         |    3 | 00/D5A0 : 9D 71 1E    |                          STA     {$1E41}+48,X         ; seam-right
 8621 | 34            hud_render_aux.s     85 | Code        | 11 |         |    3 | 00/D5A3 : AC 38 1E    |                          LDY     {$1E35}+3            ; --- P3 [6,7,8] ---
 8622 | 34            hud_render_aux.s     86 | Code        | 11 |         |    2 | 00/D5A6 : B1 04       |                          LDA     ({$04}),Y            
 8623 | 34            hud_render_aux.s     87 | Code        | 11 |         |    3 | 00/D5A8 : 1D 71 1E    |                          ORA     {$1E41}+48,X         
 8624 | 34            hud_render_aux.s     88 | Code        | 11 |         |    3 | 00/D5AB : 9D 71 1E    |                          STA     {$1E41}+48,X         
 8625 | 34            hud_render_aux.s     89 | Code        | 11 |         |    1 | 00/D5AE : C8          |                          INY                          
 8626 | 34            hud_render_aux.s     90 | Code        | 11 |         |    2 | 00/D5AF : B1 04       |                          LDA     ({$04}),Y            
 8627 | 34            hud_render_aux.s     91 | Code        | 11 |         |    3 | 00/D5B1 : 9D 79 1E    |                          STA     {$1E41}+56,X         
 8628 | 34            hud_render_aux.s     92 | Code        | 11 |         |    1 | 00/D5B4 : C8          |                          INY                          
 8629 | 34            hud_render_aux.s     93 | Code        | 11 |         |    2 | 00/D5B5 : B1 04       |                          LDA     ({$04}),Y            
 8630 | 34            hud_render_aux.s     94 | Code        | 11 |         |    3 | 00/D5B7 : 9D 81 1E    |                          STA     {$1E41}+64,X         ; no right seam (gap before P4)
 8631 | 34            hud_render_aux.s     95 | Code        | 11 |         |    3 | 00/D5BA : AC 39 1E    |                          LDY     {$1E35}+4            ; --- P4 [9,10,11] ---
 8632 | 34            hud_render_aux.s     96 | Code        | 11 |         |    2 | 00/D5BD : B1 04       |                          LDA     ({$04}),Y            
 8633 | 34            hud_render_aux.s     97 | Code        | 11 |         |    3 | 00/D5BF : 9D 89 1E    |                          STA     {$1E41}+72,X         ; no left seam (gap after P3)
 8634 | 34            hud_render_aux.s     98 | Code        | 11 |         |    1 | 00/D5C2 : C8          |                          INY                          
 8635 | 34            hud_render_aux.s     99 | Code        | 11 |         |    2 | 00/D5C3 : B1 04       |                          LDA     ({$04}),Y            
 8636 | 34            hud_render_aux.s    100 | Code        | 11 |         |    3 | 00/D5C5 : 9D 91 1E    |                          STA     {$1E41}+80,X         
 8637 | 34            hud_render_aux.s    101 | Code        | 11 |         |    1 | 00/D5C8 : C8          |                          INY                          
 8638 | 34            hud_render_aux.s    102 | Code        | 11 |         |    2 | 00/D5C9 : B1 04       |                          LDA     ({$04}),Y            
 8639 | 34            hud_render_aux.s    103 | Code        | 11 |         |    3 | 00/D5CB : 9D 99 1E    |                          STA     {$1E41}+88,X         ; seam-right
 8640 | 34            hud_render_aux.s    104 | Code        | 11 |         |    3 | 00/D5CE : AC 3A 1E    |                          LDY     {$1E35}+5            ; --- P5 [11,12,13] ---
 8641 | 34            hud_render_aux.s    105 | Code        | 11 |         |    2 | 00/D5D1 : B1 04       |                          LDA     ({$04}),Y            
 8642 | 34            hud_render_aux.s    106 | Code        | 11 |         |    3 | 00/D5D3 : 1D 99 1E    |                          ORA     {$1E41}+88,X         
 8643 | 34            hud_render_aux.s    107 | Code        | 11 |         |    3 | 00/D5D6 : 9D 99 1E    |                          STA     {$1E41}+88,X         
 8644 | 34            hud_render_aux.s    108 | Code        | 11 |         |    1 | 00/D5D9 : C8          |                          INY                          
 8645 | 34            hud_render_aux.s    109 | Code        | 11 |         |    2 | 00/D5DA : B1 04       |                          LDA     ({$04}),Y            
 8646 | 34            hud_render_aux.s    110 | Code        | 11 |         |    3 | 00/D5DC : 9D A1 1E    |                          STA     {$1E41}+96,X         
 8647 | 34            hud_render_aux.s    111 | Code        | 11 |         |    1 | 00/D5DF : C8          |                          INY                          
 8648 | 34            hud_render_aux.s    112 | Code        | 11 |         |    2 | 00/D5E0 : B1 04       |                          LDA     ({$04}),Y            
 8649 | 34            hud_render_aux.s    113 | Code        | 11 |         |    3 | 00/D5E2 : 9D A9 1E    |                          STA     {$1E41}+104,X        ; seam-right
 8650 | 34            hud_render_aux.s    114 | Code        | 11 |         |    3 | 00/D5E5 : AC 3B 1E    |                          LDY     {$1E35}+6            ; --- P6 [13,14,15] ---
 8651 | 34            hud_render_aux.s    115 | Code        | 11 |         |    2 | 00/D5E8 : B1 04       |                          LDA     ({$04}),Y            
 8652 | 34            hud_render_aux.s    116 | Code        | 11 |         |    3 | 00/D5EA : 1D A9 1E    |                          ORA     {$1E41}+104,X        
 8653 | 34            hud_render_aux.s    117 | Code        | 11 |         |    3 | 00/D5ED : 9D A9 1E    |                          STA     {$1E41}+104,X        
 8654 | 34            hud_render_aux.s    118 | Code        | 11 |         |    1 | 00/D5F0 : C8          |                          INY                          
 8655 | 34            hud_render_aux.s    119 | Code        | 11 |         |    2 | 00/D5F1 : B1 04       |                          LDA     ({$04}),Y            
 8656 | 34            hud_render_aux.s    120 | Code        | 11 |         |    3 | 00/D5F3 : 9D B1 1E    |                          STA     {$1E41}+112,X        
 8657 | 34            hud_render_aux.s    121 | Code        | 11 |         |    1 | 00/D5F6 : C8          |                          INY                          
 8658 | 34            hud_render_aux.s    122 | Code        | 11 |         |    2 | 00/D5F7 : B1 04       |                          LDA     ({$04}),Y            
 8659 | 34            hud_render_aux.s    123 | Code        | 11 |         |    3 | 00/D5F9 : 9D B9 1E    |                          STA     {$1E41}+120,X        ; no right seam
 8660 | 34            hud_render_aux.s    124 | Code        | 11 |         |    3 | 00/D5FC : AC 3C 1E    |                          LDY     {$1E35}+7            ; --- P7 [16,17,18] ---
 8661 | 34            hud_render_aux.s    125 | Code        | 11 |         |    2 | 00/D5FF : B1 04       |                          LDA     ({$04}),Y            
 8662 | 34            hud_render_aux.s    126 | Code        | 11 |         |    3 | 00/D601 : 9D C1 1E    |                          STA     {$1E41}+128,X        
 8663 | 34            hud_render_aux.s    127 | Code        | 11 |         |    1 | 00/D604 : C8          |                          INY                          
 8664 | 34            hud_render_aux.s    128 | Code        | 11 |         |    2 | 00/D605 : B1 04       |                          LDA     ({$04}),Y            
 8665 | 34            hud_render_aux.s    129 | Code        | 11 |         |    3 | 00/D607 : 9D C9 1E    |                          STA     {$1E41}+136,X        
 8666 | 34            hud_render_aux.s    130 | Code        | 11 |         |    1 | 00/D60A : C8          |                          INY                          
 8667 | 34            hud_render_aux.s    131 | Code        | 11 |         |    2 | 00/D60B : B1 04       |                          LDA     ({$04}),Y            
 8668 | 34            hud_render_aux.s    132 | Code        | 11 |         |    3 | 00/D60D : 9D D1 1E    |                          STA     {$1E41}+144,X        
 8669 | 34            hud_render_aux.s    133 | Code        | 11 |         |    3 | 00/D610 : AC 31 1E    |                          LDY     {$1E31}              
 8670 | 34            hud_render_aux.s    134 | Code        | 11 |         |    3 | 00/D613 : B9 26 81    |                          LDA     ScanAdrL,Y           
 8671 | 34            hud_render_aux.s    135 | Code        | 11 |         |    2 | 00/D616 : 85 00       |                          STA     {$00}                
 8672 | 34            hud_render_aux.s    136 | Code        | 11 |         |    3 | 00/D618 : B9 E6 81    |                          LDA     ScanAdrH,Y           
 8673 | 34            hud_render_aux.s    137 | Code        | 11 |         |    1 | 00/D61B : 18          |                          CLC                          
 8674 | 34            hud_render_aux.s    138 | Code        | 11 |         |    2 | 00/D61C : 65 1E       |                          ADC     {$1E}                
 8675 | 34            hud_render_aux.s    139 | Code        | 11 |         |    2 | 00/D61E : 85 01       |                          STA     {$00}+1              
 8676 | 34            hud_render_aux.s    140 | Code        | 11 |         |    3 | 00/D620 : 20 73 D6    |                          JSR     _BlitMirrorScoreAux  ; X still = scan
 8677 | 34            hud_render_aux.s    141 | Code        | 11 |         |    3 | 00/D623 : EE 31 1E    |                          INC     {$1E31}              
 8678 | 34            hud_render_aux.s    142 | Code        | 11 |         |    3 | 00/D626 : AD 31 1E    |                          LDA     {$1E31}              
 8679 | 34            hud_render_aux.s    143 | Code        | 11 |         |    2 | 00/D629 : C9 08       |                          CMP     #8                   
 8680 | 34            hud_render_aux.s    144 | Code        | 11 |         |    2 | 00/D62B : B0 03       |                          BCS     _dsSnap              
 8681 | 34            hud_render_aux.s    145 | Code        | 11 |         |    3 | 00/D62D : 4C 54 D5    |                          JMP     ozunid_52            
 8682 | 34            hud_render_aux.s    146 | Code        | 11 |         |    3 | 00/D630 : AD DD 11    | _dsSnap                  LDA     ScoreBCDDsp+0        
 8683 | 34            hud_render_aux.s    147 | Code        | 11 |         |    3 | 00/D633 : 8D 3D 1E    |                          STA     {$1E3D}+0            
 8684 | 34            hud_render_aux.s    148 | Code        | 11 |         |    3 | 00/D636 : AD DE 11    |                          LDA     ScoreBCDDsp+1        
 8685 | 34            hud_render_aux.s    149 | Code        | 11 |         |    3 | 00/D639 : 8D 3E 1E    |                          STA     {$1E3D}+1            
 8686 | 34            hud_render_aux.s    150 | Code        | 11 |         |    3 | 00/D63C : AD DF 11    |                          LDA     ScoreBCDDsp+2        
 8687 | 34            hud_render_aux.s    151 | Code        | 11 |         |    3 | 00/D63F : 8D 3F 1E    |                          STA     {$1E3D}+2            
 8688 | 34            hud_render_aux.s    152 | Code        | 11 |         |    3 | 00/D642 : AD E0 11    |                          LDA     ScoreBCDDsp+3        
 8689 | 34            hud_render_aux.s    153 | Code        | 11 |         |    3 | 00/D645 : 8D 40 1E    |                          STA     {$1E3D}+3            
 8690 | 34            hud_render_aux.s    154 | Code        | 11 |         |    3 | 00/D648 : 8D 04 C0    |                          STA     {$C004}              
 8691 | 34            hud_render_aux.s    155 | Code        | 11 |         |    1 | 00/D64B : 60          |                          RTS                          
 8692 | 34            hud_render_aux.s    156 | Code        | 11 |         |    3 | 00/D64C : 9C 31 1E    | _dsClean                 STZ     {$1E31}              
 8693 | 34            hud_render_aux.s    157 | Code        | 11 |         |    3 | 00/D64F : AE 31 1E    | _clnLp                   LDX     {$1E31}              
 8694 | 34            hud_render_aux.s    158 | Code        | 11 |         |    3 | 00/D652 : AC 31 1E    |                          LDY     {$1E31}              
 8695 | 34            hud_render_aux.s    159 | Code        | 11 |         |    3 | 00/D655 : B9 26 81    |                          LDA     ScanAdrL,Y           
 8696 | 34            hud_render_aux.s    160 | Code        | 11 |         |    2 | 00/D658 : 85 00       |                          STA     {$00}                
 8697 | 34            hud_render_aux.s    161 | Code        | 11 |         |    3 | 00/D65A : B9 E6 81    |                          LDA     ScanAdrH,Y           
 8698 | 34            hud_render_aux.s    162 | Code        | 11 |         |    1 | 00/D65D : 18          |                          CLC                          
 8699 | 34            hud_render_aux.s    163 | Code        | 11 |         |    2 | 00/D65E : 65 1E       |                          ADC     {$1E}                
 8700 | 34            hud_render_aux.s    164 | Code        | 11 |         |    2 | 00/D660 : 85 01       |                          STA     {$00}+1              
 8701 | 34            hud_render_aux.s    165 | Code        | 11 |         |    3 | 00/D662 : 20 73 D6    |                          JSR     _BlitMirrorScoreAux  
 8702 | 34            hud_render_aux.s    166 | Code        | 11 |         |    3 | 00/D665 : EE 31 1E    |                          INC     {$1E31}              
 8703 | 34            hud_render_aux.s    167 | Code        | 11 |         |    3 | 00/D668 : AD 31 1E    |                          LDA     {$1E31}              
 8704 | 34            hud_render_aux.s    168 | Code        | 11 |         |    2 | 00/D66B : C9 08       |                          CMP     #8                   
 8705 | 34            hud_render_aux.s    169 | Code        | 11 |         |    2 | 00/D66D : 90 E0       |                          BCC     _clnLp               
 8706 | 34            hud_render_aux.s    170 | Code        | 11 |         |    3 | 00/D66F : 8D 04 C0    |                          STA     {$C004}              
 8707 | 34            hud_render_aux.s    171 | Code        | 11 |         |    1 | 00/D672 : 60          |                          RTS                          
 8708 | 34            hud_render_aux.s    172 | Empty       | 11 |         |    0 | 00/D673               |                                                       
 8709 | 34            hud_render_aux.s    173 | Comment     | 11 |         |    0 | 00/D673               | *----------------------------------------------
 8710 | 34            hud_render_aux.s    174 | Comment     | 11 |         |    0 | 00/D673               | * _BlitMirrorScoreAux - Copy ScoreMirror[0..18] for scan X to ScreenPtr
 8711 | 34            hud_render_aux.s    175 | Comment     | 11 |         |    0 | 00/D673               | * at DHGR columns 16..25 aux + 16..24 main. Two soft-switches per call.
 8712 | 34            hud_render_aux.s    176 | Comment     | 11 |         |    0 | 00/D673               | * Mirror is transposed (col N at +N*8, X=scan).
 8713 | 34            hud_render_aux.s    177 | Comment     | 11 |         |    0 | 00/D673               | *----------------------------------------------
 8714 | 34            hud_render_aux.s    178 | Empty       | 11 |         |    0 | 00/D673               | _BlitMirrorScoreAux                                   
 8715 | 34            hud_render_aux.s    179 | Code        | 11 |         |    3 | 00/D673 : 8D 05 C0    |                          STA     {$C005}              
 8716 | 34            hud_render_aux.s    180 | Code        | 11 |         |    2 | 00/D676 : A0 10       |                          LDY     #16                  
 8717 | 34            hud_render_aux.s    181 | Code        | 11 |         |    3 | 00/D678 : BD 41 1E    |                          LDA     {$1E41}+0,X          
 8718 | 34            hud_render_aux.s    182 | Code        | 11 |         |    2 | 00/D67B : 91 00       |                          STA     ({$00}),Y            
 8719 | 34            hud_render_aux.s    183 | Code        | 11 |         |    1 | 00/D67D : C8          |                          INY                          
 8720 | 34            hud_render_aux.s    184 | Code        | 11 |         |    3 | 00/D67E : BD 51 1E    |                          LDA     {$1E41}+16,X         
 8721 | 34            hud_render_aux.s    185 | Code        | 11 |         |    2 | 00/D681 : 91 00       |                          STA     ({$00}),Y            
 8722 | 34            hud_render_aux.s    186 | Code        | 11 |         |    1 | 00/D683 : C8          |                          INY                          
 8723 | 34            hud_render_aux.s    187 | Code        | 11 |         |    3 | 00/D684 : BD 61 1E    |                          LDA     {$1E41}+32,X         
 8724 | 34            hud_render_aux.s    188 | Code        | 11 |         |    2 | 00/D687 : 91 00       |                          STA     ({$00}),Y            
 8725 | 34            hud_render_aux.s    189 | Code        | 11 |         |    1 | 00/D689 : C8          |                          INY                          
 8726 | 34            hud_render_aux.s    190 | Code        | 11 |         |    3 | 00/D68A : BD 71 1E    |                          LDA     {$1E41}+48,X         
 8727 | 34            hud_render_aux.s    191 | Code        | 11 |         |    2 | 00/D68D : 91 00       |                          STA     ({$00}),Y            
 8728 | 34            hud_render_aux.s    192 | Code        | 11 |         |    1 | 00/D68F : C8          |                          INY                          
 8729 | 34            hud_render_aux.s    193 | Code        | 11 |         |    3 | 00/D690 : BD 81 1E    |                          LDA     {$1E41}+64,X         
 8730 | 34            hud_render_aux.s    194 | Code        | 11 |         |    2 | 00/D693 : 91 00       |                          STA     ({$00}),Y            
 8731 | 34            hud_render_aux.s    195 | Code        | 11 |         |    1 | 00/D695 : C8          |                          INY                          
 8732 | 34            hud_render_aux.s    196 | Code        | 11 |         |    3 | 00/D696 : BD 91 1E    |                          LDA     {$1E41}+80,X         
 8733 | 34            hud_render_aux.s    197 | Code        | 11 |         |    2 | 00/D699 : 91 00       |                          STA     ({$00}),Y            
 8734 | 34            hud_render_aux.s    198 | Code        | 11 |         |    1 | 00/D69B : C8          |                          INY                          
 8735 | 34            hud_render_aux.s    199 | Code        | 11 |         |    3 | 00/D69C : BD A1 1E    |                          LDA     {$1E41}+96,X         
 8736 | 34            hud_render_aux.s    200 | Code        | 11 |         |    2 | 00/D69F : 91 00       |                          STA     ({$00}),Y            
 8737 | 34            hud_render_aux.s    201 | Code        | 11 |         |    1 | 00/D6A1 : C8          |                          INY                          
 8738 | 34            hud_render_aux.s    202 | Code        | 11 |         |    3 | 00/D6A2 : BD B1 1E    |                          LDA     {$1E41}+112,X        
 8739 | 34            hud_render_aux.s    203 | Code        | 11 |         |    2 | 00/D6A5 : 91 00       |                          STA     ({$00}),Y            
 8740 | 34            hud_render_aux.s    204 | Code        | 11 |         |    1 | 00/D6A7 : C8          |                          INY                          
 8741 | 34            hud_render_aux.s    205 | Code        | 11 |         |    3 | 00/D6A8 : BD C1 1E    |                          LDA     {$1E41}+128,X        
 8742 | 34            hud_render_aux.s    206 | Code        | 11 |         |    2 | 00/D6AB : 91 00       |                          STA     ({$00}),Y            
 8743 | 34            hud_render_aux.s    207 | Code        | 11 |         |    1 | 00/D6AD : C8          |                          INY                          
 8744 | 34            hud_render_aux.s    208 | Code        | 11 |         |    3 | 00/D6AE : BD D1 1E    |                          LDA     {$1E41}+144,X        
 8745 | 34            hud_render_aux.s    209 | Code        | 11 |         |    2 | 00/D6B1 : 91 00       |                          STA     ({$00}),Y            
 8746 | 34            hud_render_aux.s    210 | Code        | 11 |         |    3 | 00/D6B3 : 8D 04 C0    |                          STA     {$C004}              
 8747 | 34            hud_render_aux.s    211 | Code        | 11 |         |    2 | 00/D6B6 : A0 10       |                          LDY     #16                  
 8748 | 34            hud_render_aux.s    212 | Code        | 11 |         |    3 | 00/D6B8 : BD 49 1E    |                          LDA     {$1E41}+8,X          
 8749 | 34            hud_render_aux.s    213 | Code        | 11 |         |    2 | 00/D6BB : 91 00       |                          STA     ({$00}),Y            
 8750 | 34            hud_render_aux.s    214 | Code        | 11 |         |    1 | 00/D6BD : C8          |                          INY                          
 8751 | 34            hud_render_aux.s    215 | Code        | 11 |         |    3 | 00/D6BE : BD 59 1E    |                          LDA     {$1E41}+24,X         
 8752 | 34            hud_render_aux.s    216 | Code        | 11 |         |    2 | 00/D6C1 : 91 00       |                          STA     ({$00}),Y            
 8753 | 34            hud_render_aux.s    217 | Code        | 11 |         |    1 | 00/D6C3 : C8          |                          INY                          
 8754 | 34            hud_render_aux.s    218 | Code        | 11 |         |    3 | 00/D6C4 : BD 69 1E    |                          LDA     {$1E41}+40,X         
 8755 | 34            hud_render_aux.s    219 | Code        | 11 |         |    2 | 00/D6C7 : 91 00       |                          STA     ({$00}),Y            
 8756 | 34            hud_render_aux.s    220 | Code        | 11 |         |    1 | 00/D6C9 : C8          |                          INY                          
 8757 | 34            hud_render_aux.s    221 | Code        | 11 |         |    3 | 00/D6CA : BD 79 1E    |                          LDA     {$1E41}+56,X         
 8758 | 34            hud_render_aux.s    222 | Code        | 11 |         |    2 | 00/D6CD : 91 00       |                          STA     ({$00}),Y            
 8759 | 34            hud_render_aux.s    223 | Code        | 11 |         |    1 | 00/D6CF : C8          |                          INY                          
 8760 | 34            hud_render_aux.s    224 | Code        | 11 |         |    3 | 00/D6D0 : BD 89 1E    |                          LDA     {$1E41}+72,X         
 8761 | 34            hud_render_aux.s    225 | Code        | 11 |         |    2 | 00/D6D3 : 91 00       |                          STA     ({$00}),Y            
 8762 | 34            hud_render_aux.s    226 | Code        | 11 |         |    1 | 00/D6D5 : C8          |                          INY                          
 8763 | 34            hud_render_aux.s    227 | Code        | 11 |         |    3 | 00/D6D6 : BD 99 1E    |                          LDA     {$1E41}+88,X         
 8764 | 34            hud_render_aux.s    228 | Code        | 11 |         |    2 | 00/D6D9 : 91 00       |                          STA     ({$00}),Y            
 8765 | 34            hud_render_aux.s    229 | Code        | 11 |         |    1 | 00/D6DB : C8          |                          INY                          
 8766 | 34            hud_render_aux.s    230 | Code        | 11 |         |    3 | 00/D6DC : BD A9 1E    |                          LDA     {$1E41}+104,X        
 8767 | 34            hud_render_aux.s    231 | Code        | 11 |         |    2 | 00/D6DF : 91 00       |                          STA     ({$00}),Y            
 8768 | 34            hud_render_aux.s    232 | Code        | 11 |         |    1 | 00/D6E1 : C8          |                          INY                          
 8769 | 34            hud_render_aux.s    233 | Code        | 11 |         |    3 | 00/D6E2 : BD B9 1E    |                          LDA     {$1E41}+120,X        
 8770 | 34            hud_render_aux.s    234 | Code        | 11 |         |    2 | 00/D6E5 : 91 00       |                          STA     ({$00}),Y            
 8771 | 34            hud_render_aux.s    235 | Code        | 11 |         |    1 | 00/D6E7 : C8          |                          INY                          
 8772 | 34            hud_render_aux.s    236 | Code        | 11 |         |    3 | 00/D6E8 : BD C9 1E    |                          LDA     {$1E41}+136,X        
 8773 | 34            hud_render_aux.s    237 | Code        | 11 |         |    2 | 00/D6EB : 91 00       |                          STA     ({$00}),Y            
 8774 | 34            hud_render_aux.s    238 | Code        | 11 |         |    1 | 00/D6ED : 60          |                          RTS                          
 8775 | 34            hud_render_aux.s    239 | Empty       | 11 |         |    0 | 00/D6EE               |                                                       
 8776 | 34            hud_render_aux.s    240 | Comment     | 11 |         |    0 | 00/D6EE               | *----------------------------------------------
 8777 | 34            hud_render_aux.s    241 | Comment     | 11 |         |    0 | 00/D6EE               | * _DecodeScoreBCDAux - Walk ScoreBCDDsp from high nibble to low,
 8778 | 34            hud_render_aux.s    242 | Comment     | 11 |         |    0 | 00/D6EE               | * producing ScorePosOfs[0..7] = (pos*10+digit)*3, or 240 for
 8779 | 34            hud_render_aux.s    243 | Comment     | 11 |         |    0 | 00/D6EE               | * leading-zero blanks (shared $80 filler slot per scan page).
 8780 | 34            hud_render_aux.s    244 | Comment     | 11 |         |    0 | 00/D6EE               | *----------------------------------------------
 8781 | 34            hud_render_aux.s    245 | Empty       | 11 |         |    0 | 00/D6EE               | _DecodeScoreBCDAux                                    
 8782 | 34            hud_render_aux.s    246 | Code        | 11 |         |    2 | 00/D6EE : 64 19       |                          STZ     {$19}                
 8783 | 34            hud_render_aux.s    247 | Code        | 11 |         |    2 | 00/D6F0 : A2 00       |                          LDX     #0                   
 8784 | 34            hud_render_aux.s    248 | Code        | 11 |         |    2 | 00/D6F2 : A9 03       |                          LDA     #3                   
 8785 | 34            hud_render_aux.s    249 | Code        | 11 |         |    2 | 00/D6F4 : 85 1A       |                          STA     {$1A}                
 8786 | 34            hud_render_aux.s    250 | Code        | 11 |         |    2 | 00/D6F6 : A4 1A       | ozunid_53                LDY     {$1A}                
 8787 | 34            hud_render_aux.s    251 | Code        | 11 |         |    3 | 00/D6F8 : B9 DD 11    |                          LDA     ScoreBCDDsp,Y        
 8788 | 34            hud_render_aux.s    252 | Code        | 11 |         |    1 | 00/D6FB : 48          |                          PHA                          
 8789 | 34            hud_render_aux.s    253 | Code        | 11 |         |    1 | 00/D6FC : 4A          |                          LSR                          
 8790 | 34            hud_render_aux.s    254 | Code        | 11 |         |    1 | 00/D6FD : 4A          |                          LSR                          
 8791 | 34            hud_render_aux.s    255 | Code        | 11 |         |    1 | 00/D6FE : 4A          |                          LSR                          
 8792 | 34            hud_render_aux.s    256 | Code        | 11 |         |    1 | 00/D6FF : 4A          |                          LSR                          
 8793 | 34            hud_render_aux.s    257 | Code        | 11 |         |    3 | 00/D700 : 20 17 D7    |                          JSR     _EncodeOneNibbleAux  
 8794 | 34            hud_render_aux.s    258 | Code        | 11 |         |    1 | 00/D703 : 68          |                          PLA                          
 8795 | 34            hud_render_aux.s    259 | Code        | 11 |         |    2 | 00/D704 : 29 0F       |                          AND     #$0F                 
 8796 | 34            hud_render_aux.s    260 | Code        | 11 |         |    3 | 00/D706 : 20 17 D7    |                          JSR     _EncodeOneNibbleAux  
 8797 | 34            hud_render_aux.s    261 | Code        | 11 |         |    2 | 00/D709 : C6 1A       |                          DEC     {$1A}                
 8798 | 34            hud_render_aux.s    262 | Code        | 11 |         |    2 | 00/D70B : 10 E9       |                          BPL     ozunid_53            
 8799 | 34            hud_render_aux.s    263 | Code        | 11 |         |    2 | 00/D70D : A5 19       |                          LDA     {$19}                
 8800 | 34            hud_render_aux.s    264 | Code        | 11 |         |    2 | 00/D70F : D0 05       |                          BNE     ozunid_54            
 8801 | 34            hud_render_aux.s    265 | Code        | 11 |         |    2 | 00/D711 : A9 D2       |                          LDA     #210                 ; position 7 forced to "0" glyph (70 * 3)
 8802 | 34            hud_render_aux.s    266 | Code        | 11 |         |    3 | 00/D713 : 8D 3C 1E    |                          STA     {$1E35}+7            
 8803 | 34            hud_render_aux.s    267 | Code        | 11 |         |    1 | 00/D716 : 60          | ozunid_54                RTS                          
 8804 | 34            hud_render_aux.s    268 | Empty       | 11 |         |    0 | 00/D717               |                                                       
 8805 | 34            hud_render_aux.s    269 | Empty       | 11 |         |    0 | 00/D717               | _EncodeOneNibbleAux                                   
 8806 | 34            hud_render_aux.s    270 | Code        | 11 |         |    1 | 00/D717 : A8          |                          TAY                          
 8807 | 34            hud_render_aux.s    271 | Code        | 11 |         |    2 | 00/D718 : D0 0B       |                          BNE     _nonZero             
 8808 | 34            hud_render_aux.s    272 | Code        | 11 |         |    2 | 00/D71A : A5 19       |                          LDA     {$19}                
 8809 | 34            hud_render_aux.s    273 | Code        | 11 |         |    2 | 00/D71C : D0 0B       |                          BNE     _emit0               
 8810 | 34            hud_render_aux.s    274 | Code        | 11 |         |    2 | 00/D71E : A9 F0       |                          LDA     #240                 ; blank slot (shared $80 glyph per scan page)
 8811 | 34            hud_render_aux.s    275 | Code        | 11 |         |    3 | 00/D720 : 9D 35 1E    |                          STA     {$1E35},X            
 8812 | 34            hud_render_aux.s    276 | Code        | 11 |         |    1 | 00/D723 : E8          |                          INX                          
 8813 | 34            hud_render_aux.s    277 | Code        | 11 |         |    1 | 00/D724 : 60          |                          RTS                          
 8814 | 34            hud_render_aux.s    278 | Code        | 11 |         |    2 | 00/D725 : A9 01       | _nonZero                 LDA     #1                   
 8815 | 34            hud_render_aux.s    279 | Code        | 11 |         |    2 | 00/D727 : 85 19       |                          STA     {$19}                
 8816 | 34            hud_render_aux.s    280 | Empty       | 11 |         |    0 | 00/D729               | _emit0                                                
 8817 | 34            hud_render_aux.s    281 | Code        | 11 |         |    1 | 00/D729 : 8A          |                          TXA                          
 8818 | 34            hud_render_aux.s    282 | Code        | 11 |         |    1 | 00/D72A : 0A          |                          ASL                          
 8819 | 34            hud_render_aux.s    283 | Code        | 11 |         |    2 | 00/D72B : 85 18       |                          STA     {$18}                
 8820 | 34            hud_render_aux.s    284 | Code        | 11 |         |    1 | 00/D72D : 0A          |                          ASL                          
 8821 | 34            hud_render_aux.s    285 | Code        | 11 |         |    1 | 00/D72E : 0A          |                          ASL                          
 8822 | 34            hud_render_aux.s    286 | Code        | 11 |         |    1 | 00/D72F : 18          |                          CLC                          
 8823 | 34            hud_render_aux.s    287 | Code        | 11 |         |    2 | 00/D730 : 65 18       |                          ADC     {$18}                
 8824 | 34            hud_render_aux.s    288 | Code        | 11 |         |    2 | 00/D732 : 85 18       |                          STA     {$18}                
 8825 | 34            hud_render_aux.s    289 | Code        | 11 |         |    1 | 00/D734 : 98          |                          TYA                          
 8826 | 34            hud_render_aux.s    290 | Code        | 11 |         |    1 | 00/D735 : 18          |                          CLC                          
 8827 | 34            hud_render_aux.s    291 | Code        | 11 |         |    2 | 00/D736 : 65 18       |                          ADC     {$18}                ; A = pos*10 + nibble (digit index 0..79)
 8828 | 34            hud_render_aux.s    292 | Code        | 11 |         |    2 | 00/D738 : 85 18       |                          STA     {$18}                ; stash for *3 step
 8829 | 34            hud_render_aux.s    293 | Code        | 11 |         |    1 | 00/D73A : 0A          |                          ASL                          ; *2
 8830 | 34            hud_render_aux.s    294 | Code        | 11 |         |    1 | 00/D73B : 18          |                          CLC                          
 8831 | 34            hud_render_aux.s    295 | Code        | 11 |         |    2 | 00/D73C : 65 18       |                          ADC     {$18}                ; *3 = byte offset in per-scan glyph page
 8832 | 34            hud_render_aux.s    296 | Code        | 11 |         |    3 | 00/D73E : 9D 35 1E    |                          STA     {$1E35},X            
 8833 | 34            hud_render_aux.s    297 | Code        | 11 |         |    1 | 00/D741 : E8          |                          INX                          
 8834 | 34            hud_render_aux.s    298 | Code        | 11 |         |    1 | 00/D742 : 60          |                          RTS                          
 8835 | 34            hud_render_aux.s    299 | Empty       | 11 |         |    0 | 00/D743               |                                                       
 8836 | 34            hud_render_aux.s    300 | Comment     | 11 |         |    0 | 00/D743               | *----------------------------------------------
 8837 | 34            hud_render_aux.s    301 | Comment     | 11 |         |    0 | 00/D743               | * DrawBonusAux - Paint 4-digit BCD bonus (no leading-zero blanking).
 8838 | 34            hud_render_aux.s    302 | Comment     | 11 |         |    0 | 00/D743               | * Same pattern as DrawScoreAux but 4 positions and a narrower strip.
 8839 | 34            hud_render_aux.s    303 | Comment     | 11 |         |    0 | 00/D743               | *----------------------------------------------
 8840 | 34            hud_render_aux.s    304 | Empty       | 11 |         |    0 | 00/D743               | DrawBonusAux                                          
 8841 | 34            hud_render_aux.s    305 | Code        | 11 |         |    3 | 00/D743 : AD 06 03    |                          LDA     $0306                ; main-RAM pass-through: caller's PageOfs
 8842 | 34            hud_render_aux.s    306 | Code        | 11 |         |    2 | 00/D746 : 85 1E       |                          STA     {$1E}                ; mirror into aux ZP for this draw
 8843 | 34            hud_render_aux.s    307 | Code        | 11 |         |    3 | 00/D748 : 8D 02 C0    |                          STA     {$C002}              
 8844 | 34            hud_render_aux.s    308 | Code        | 11 |         |    3 | 00/D74B : 8D 04 C0    |                          STA     {$C004}              
 8845 | 34            hud_render_aux.s    309 | Comment     | 11 |         |    0 | 00/D74E               | * BonusMirror caches the last 4-digit composite; compare BonusBCD to
 8846 | 34            hud_render_aux.s    310 | Comment     | 11 |         |    0 | 00/D74E               | * BonusBCDPrev and skip the composite when unchanged.
 8847 | 34            hud_render_aux.s    311 | Code        | 11 |         |    3 | 00/D74E : AD E1 11    |                          LDA     BonusBCD+0           
 8848 | 34            hud_render_aux.s    312 | Code        | 11 |         |    3 | 00/D751 : CD D9 1E    |                          CMP     {$1ED9}+0            
 8849 | 34            hud_render_aux.s    313 | Code        | 11 |         |    2 | 00/D754 : D0 0B       |                          BNE     _dbDirty             
 8850 | 34            hud_render_aux.s    314 | Code        | 11 |         |    3 | 00/D756 : AD E2 11    |                          LDA     BonusBCD+1           
 8851 | 34            hud_render_aux.s    315 | Code        | 11 |         |    3 | 00/D759 : CD DA 1E    |                          CMP     {$1ED9}+1            
 8852 | 34            hud_render_aux.s    316 | Code        | 11 |         |    2 | 00/D75C : D0 03       |                          BNE     _dbDirty             
 8853 | 34            hud_render_aux.s    317 | Code        | 11 |         |    3 | 00/D75E : 4C FD D7    |                          JMP     _dbClean             
 8854 | 34            hud_render_aux.s    318 | Code        | 11 |         |    3 | 00/D761 : 20 63 D8    | _dbDirty                 JSR     _DecodeBonusBCDAux   
 8855 | 34            hud_render_aux.s    319 | Code        | 11 |         |    3 | 00/D764 : 9C 31 1E    |                          STZ     {$1E31}              
 8856 | 34            hud_render_aux.s    320 | Code        | 11 |         |    3 | 00/D767 : AE 31 1E    | ozunid_55                LDX     {$1E31}              
 8857 | 34            hud_render_aux.s    321 | Code        | 11 |         |    3 | 00/D76A : BD 1F 1E    |                          LDA     {$1E1F},X            
 8858 | 34            hud_render_aux.s    322 | Code        | 11 |         |    2 | 00/D76D : 85 04       |                          STA     {$04}                
 8859 | 34            hud_render_aux.s    323 | Code        | 11 |         |    3 | 00/D76F : BD 27 1E    |                          LDA     {$1E27},X            
 8860 | 34            hud_render_aux.s    324 | Code        | 11 |         |    2 | 00/D772 : 85 05       |                          STA     {$04}+1              
 8861 | 34            hud_render_aux.s    325 | Comment     | 11 |         |    0 | 00/D774               | * Unrolled composite into BonusMirror (transposed: col N at +N*8, X=scan).
 8862 | 34            hud_render_aux.s    326 | Comment     | 11 |         |    0 | 00/D774               | * Seams at bytes 2,4,6 do ORA; rest STA.
 8863 | 34            hud_render_aux.s    327 | Code        | 11 |         |    3 | 00/D774 : AC F8 1D    |                          LDY     {$1DF8}+0            ; --- P0 [0,1,2] ---
 8864 | 34            hud_render_aux.s    328 | Code        | 11 |         |    2 | 00/D777 : B1 04       |                          LDA     ({$04}),Y            
 8865 | 34            hud_render_aux.s    329 | Code        | 11 |         |    3 | 00/D779 : 9D DB 1E    |                          STA     {$1EDB}+0,X          
 8866 | 34            hud_render_aux.s    330 | Code        | 11 |         |    1 | 00/D77C : C8          |                          INY                          
 8867 | 34            hud_render_aux.s    331 | Code        | 11 |         |    2 | 00/D77D : B1 04       |                          LDA     ({$04}),Y            
 8868 | 34            hud_render_aux.s    332 | Code        | 11 |         |    3 | 00/D77F : 9D E3 1E    |                          STA     {$1EDB}+8,X          
 8869 | 34            hud_render_aux.s    333 | Code        | 11 |         |    1 | 00/D782 : C8          |                          INY                          
 8870 | 34            hud_render_aux.s    334 | Code        | 11 |         |    2 | 00/D783 : B1 04       |                          LDA     ({$04}),Y            
 8871 | 34            hud_render_aux.s    335 | Code        | 11 |         |    3 | 00/D785 : 9D EB 1E    |                          STA     {$1EDB}+16,X         ; seam-right
 8872 | 34            hud_render_aux.s    336 | Code        | 11 |         |    3 | 00/D788 : AC F9 1D    |                          LDY     {$1DF8}+1            ; --- P1 [2,3,4] ---
 8873 | 34            hud_render_aux.s    337 | Code        | 11 |         |    2 | 00/D78B : B1 04       |                          LDA     ({$04}),Y            
 8874 | 34            hud_render_aux.s    338 | Code        | 11 |         |    3 | 00/D78D : 1D EB 1E    |                          ORA     {$1EDB}+16,X         
 8875 | 34            hud_render_aux.s    339 | Code        | 11 |         |    3 | 00/D790 : 9D EB 1E    |                          STA     {$1EDB}+16,X         
 8876 | 34            hud_render_aux.s    340 | Code        | 11 |         |    1 | 00/D793 : C8          |                          INY                          
 8877 | 34            hud_render_aux.s    341 | Code        | 11 |         |    2 | 00/D794 : B1 04       |                          LDA     ({$04}),Y            
 8878 | 34            hud_render_aux.s    342 | Code        | 11 |         |    3 | 00/D796 : 9D F3 1E    |                          STA     {$1EDB}+24,X         
 8879 | 34            hud_render_aux.s    343 | Code        | 11 |         |    1 | 00/D799 : C8          |                          INY                          
 8880 | 34            hud_render_aux.s    344 | Code        | 11 |         |    2 | 00/D79A : B1 04       |                          LDA     ({$04}),Y            
 8881 | 34            hud_render_aux.s    345 | Code        | 11 |         |    3 | 00/D79C : 9D FB 1E    |                          STA     {$1EDB}+32,X         ; seam-right
 8882 | 34            hud_render_aux.s    346 | Code        | 11 |         |    3 | 00/D79F : AC FA 1D    |                          LDY     {$1DF8}+2            ; --- P2 [4,5,6] ---
 8883 | 34            hud_render_aux.s    347 | Code        | 11 |         |    2 | 00/D7A2 : B1 04       |                          LDA     ({$04}),Y            
 8884 | 34            hud_render_aux.s    348 | Code        | 11 |         |    3 | 00/D7A4 : 1D FB 1E    |                          ORA     {$1EDB}+32,X         
 8885 | 34            hud_render_aux.s    349 | Code        | 11 |         |    3 | 00/D7A7 : 9D FB 1E    |                          STA     {$1EDB}+32,X         
 8886 | 34            hud_render_aux.s    350 | Code        | 11 |         |    1 | 00/D7AA : C8          |                          INY                          
 8887 | 34            hud_render_aux.s    351 | Code        | 11 |         |    2 | 00/D7AB : B1 04       |                          LDA     ({$04}),Y            
 8888 | 34            hud_render_aux.s    352 | Code        | 11 |         |    3 | 00/D7AD : 9D 03 1F    |                          STA     {$1EDB}+40,X         
 8889 | 34            hud_render_aux.s    353 | Code        | 11 |         |    1 | 00/D7B0 : C8          |                          INY                          
 8890 | 34            hud_render_aux.s    354 | Code        | 11 |         |    2 | 00/D7B1 : B1 04       |                          LDA     ({$04}),Y            
 8891 | 34            hud_render_aux.s    355 | Code        | 11 |         |    3 | 00/D7B3 : 9D 0B 1F    |                          STA     {$1EDB}+48,X         ; seam-right
 8892 | 34            hud_render_aux.s    356 | Code        | 11 |         |    3 | 00/D7B6 : AC FB 1D    |                          LDY     {$1DF8}+3            ; --- P3 [6,7,8] ---
 8893 | 34            hud_render_aux.s    357 | Code        | 11 |         |    2 | 00/D7B9 : B1 04       |                          LDA     ({$04}),Y            
 8894 | 34            hud_render_aux.s    358 | Code        | 11 |         |    3 | 00/D7BB : 1D 0B 1F    |                          ORA     {$1EDB}+48,X         
 8895 | 34            hud_render_aux.s    359 | Code        | 11 |         |    3 | 00/D7BE : 9D 0B 1F    |                          STA     {$1EDB}+48,X         
 8896 | 34            hud_render_aux.s    360 | Code        | 11 |         |    1 | 00/D7C1 : C8          |                          INY                          
 8897 | 34            hud_render_aux.s    361 | Code        | 11 |         |    2 | 00/D7C2 : B1 04       |                          LDA     ({$04}),Y            
 8898 | 34            hud_render_aux.s    362 | Code        | 11 |         |    3 | 00/D7C4 : 9D 13 1F    |                          STA     {$1EDB}+56,X         
 8899 | 34            hud_render_aux.s    363 | Code        | 11 |         |    1 | 00/D7C7 : C8          |                          INY                          
 8900 | 34            hud_render_aux.s    364 | Code        | 11 |         |    2 | 00/D7C8 : B1 04       |                          LDA     ({$04}),Y            
 8901 | 34            hud_render_aux.s    365 | Code        | 11 |         |    3 | 00/D7CA : 9D 1B 1F    |                          STA     {$1EDB}+64,X         
 8902 | 34            hud_render_aux.s    366 | Code        | 11 |         |    3 | 00/D7CD : AC 31 1E    |                          LDY     {$1E31}              
 8903 | 34            hud_render_aux.s    367 | Code        | 11 |         |    3 | 00/D7D0 : B9 26 81    |                          LDA     ScanAdrL,Y           
 8904 | 34            hud_render_aux.s    368 | Code        | 11 |         |    2 | 00/D7D3 : 85 00       |                          STA     {$00}                
 8905 | 34            hud_render_aux.s    369 | Code        | 11 |         |    3 | 00/D7D5 : B9 E6 81    |                          LDA     ScanAdrH,Y           
 8906 | 34            hud_render_aux.s    370 | Code        | 11 |         |    1 | 00/D7D8 : 18          |                          CLC                          
 8907 | 34            hud_render_aux.s    371 | Code        | 11 |         |    2 | 00/D7D9 : 65 1E       |                          ADC     {$1E}                
 8908 | 34            hud_render_aux.s    372 | Code        | 11 |         |    2 | 00/D7DB : 85 01       |                          STA     {$00}+1              
 8909 | 34            hud_render_aux.s    373 | Code        | 11 |         |    3 | 00/D7DD : 20 24 D8    |                          JSR     _BlitMirrorBonusAux  ; X still = scan
 8910 | 34            hud_render_aux.s    374 | Code        | 11 |         |    3 | 00/D7E0 : EE 31 1E    |                          INC     {$1E31}              
 8911 | 34            hud_render_aux.s    375 | Code        | 11 |         |    3 | 00/D7E3 : AD 31 1E    |                          LDA     {$1E31}              
 8912 | 34            hud_render_aux.s    376 | Code        | 11 |         |    2 | 00/D7E6 : C9 08       |                          CMP     #8                   
 8913 | 34            hud_render_aux.s    377 | Code        | 11 |         |    2 | 00/D7E8 : B0 03       |                          BCS     _dbSnap              
 8914 | 34            hud_render_aux.s    378 | Code        | 11 |         |    3 | 00/D7EA : 4C 67 D7    |                          JMP     ozunid_55            
 8915 | 34            hud_render_aux.s    379 | Code        | 11 |         |    3 | 00/D7ED : AD E1 11    | _dbSnap                  LDA     BonusBCD+0           
 8916 | 34            hud_render_aux.s    380 | Code        | 11 |         |    3 | 00/D7F0 : 8D D9 1E    |                          STA     {$1ED9}+0            
 8917 | 34            hud_render_aux.s    381 | Code        | 11 |         |    3 | 00/D7F3 : AD E2 11    |                          LDA     BonusBCD+1           
 8918 | 34            hud_render_aux.s    382 | Code        | 11 |         |    3 | 00/D7F6 : 8D DA 1E    |                          STA     {$1ED9}+1            
 8919 | 34            hud_render_aux.s    383 | Code        | 11 |         |    3 | 00/D7F9 : 8D 04 C0    |                          STA     {$C004}              
 8920 | 34            hud_render_aux.s    384 | Code        | 11 |         |    1 | 00/D7FC : 60          |                          RTS                          
 8921 | 34            hud_render_aux.s    385 | Code        | 11 |         |    3 | 00/D7FD : 9C 31 1E    | _dbClean                 STZ     {$1E31}              
 8922 | 34            hud_render_aux.s    386 | Code        | 11 |         |    3 | 00/D800 : AE 31 1E    | _dbclLp                  LDX     {$1E31}              
 8923 | 34            hud_render_aux.s    387 | Code        | 11 |         |    3 | 00/D803 : AC 31 1E    |                          LDY     {$1E31}              
 8924 | 34            hud_render_aux.s    388 | Code        | 11 |         |    3 | 00/D806 : B9 26 81    |                          LDA     ScanAdrL,Y           
 8925 | 34            hud_render_aux.s    389 | Code        | 11 |         |    2 | 00/D809 : 85 00       |                          STA     {$00}                
 8926 | 34            hud_render_aux.s    390 | Code        | 11 |         |    3 | 00/D80B : B9 E6 81    |                          LDA     ScanAdrH,Y           
 8927 | 34            hud_render_aux.s    391 | Code        | 11 |         |    1 | 00/D80E : 18          |                          CLC                          
 8928 | 34            hud_render_aux.s    392 | Code        | 11 |         |    2 | 00/D80F : 65 1E       |                          ADC     {$1E}                
 8929 | 34            hud_render_aux.s    393 | Code        | 11 |         |    2 | 00/D811 : 85 01       |                          STA     {$00}+1              
 8930 | 34            hud_render_aux.s    394 | Code        | 11 |         |    3 | 00/D813 : 20 24 D8    |                          JSR     _BlitMirrorBonusAux  
 8931 | 34            hud_render_aux.s    395 | Code        | 11 |         |    3 | 00/D816 : EE 31 1E    |                          INC     {$1E31}              
 8932 | 34            hud_render_aux.s    396 | Code        | 11 |         |    3 | 00/D819 : AD 31 1E    |                          LDA     {$1E31}              
 8933 | 34            hud_render_aux.s    397 | Code        | 11 |         |    2 | 00/D81C : C9 08       |                          CMP     #8                   
 8934 | 34            hud_render_aux.s    398 | Code        | 11 |         |    2 | 00/D81E : 90 E0       |                          BCC     _dbclLp              
 8935 | 34            hud_render_aux.s    399 | Code        | 11 |         |    3 | 00/D820 : 8D 04 C0    |                          STA     {$C004}              
 8936 | 34            hud_render_aux.s    400 | Code        | 11 |         |    1 | 00/D823 : 60          |                          RTS                          
 8937 | 34            hud_render_aux.s    401 | Empty       | 11 |         |    0 | 00/D824               |                                                       
 8938 | 34            hud_render_aux.s    402 | Comment     | 11 |         |    0 | 00/D824               | *----------------------------------------------
 8939 | 34            hud_render_aux.s    403 | Comment     | 11 |         |    0 | 00/D824               | * _BlitMirrorBonusAux - Copy BonusMirror[0..8] for scan X to DHGR
 8940 | 34            hud_render_aux.s    404 | Comment     | 11 |         |    0 | 00/D824               | * bytes 32..40 (aux cols 32..36, main cols 32..35). Mirror is
 8941 | 34            hud_render_aux.s    405 | Comment     | 11 |         |    0 | 00/D824               | * transposed (col N at +N*8, X=scan).
 8942 | 34            hud_render_aux.s    406 | Comment     | 11 |         |    0 | 00/D824               | *----------------------------------------------
 8943 | 34            hud_render_aux.s    407 | Empty       | 11 |         |    0 | 00/D824               | _BlitMirrorBonusAux                                   
 8944 | 34            hud_render_aux.s    408 | Code        | 11 |         |    3 | 00/D824 : 8D 05 C0    |                          STA     {$C005}              
 8945 | 34            hud_render_aux.s    409 | Code        | 11 |         |    2 | 00/D827 : A0 20       |                          LDY     #32                  
 8946 | 34            hud_render_aux.s    410 | Code        | 11 |         |    3 | 00/D829 : BD DB 1E    |                          LDA     {$1EDB}+0,X          
 8947 | 34            hud_render_aux.s    411 | Code        | 11 |         |    2 | 00/D82C : 91 00       |                          STA     ({$00}),Y            
 8948 | 34            hud_render_aux.s    412 | Code        | 11 |         |    1 | 00/D82E : C8          |                          INY                          
 8949 | 34            hud_render_aux.s    413 | Code        | 11 |         |    3 | 00/D82F : BD EB 1E    |                          LDA     {$1EDB}+16,X         
 8950 | 34            hud_render_aux.s    414 | Code        | 11 |         |    2 | 00/D832 : 91 00       |                          STA     ({$00}),Y            
 8951 | 34            hud_render_aux.s    415 | Code        | 11 |         |    1 | 00/D834 : C8          |                          INY                          
 8952 | 34            hud_render_aux.s    416 | Code        | 11 |         |    3 | 00/D835 : BD FB 1E    |                          LDA     {$1EDB}+32,X         
 8953 | 34            hud_render_aux.s    417 | Code        | 11 |         |    2 | 00/D838 : 91 00       |                          STA     ({$00}),Y            
 8954 | 34            hud_render_aux.s    418 | Code        | 11 |         |    1 | 00/D83A : C8          |                          INY                          
 8955 | 34            hud_render_aux.s    419 | Code        | 11 |         |    3 | 00/D83B : BD 0B 1F    |                          LDA     {$1EDB}+48,X         
 8956 | 34            hud_render_aux.s    420 | Code        | 11 |         |    2 | 00/D83E : 91 00       |                          STA     ({$00}),Y            
 8957 | 34            hud_render_aux.s    421 | Code        | 11 |         |    1 | 00/D840 : C8          |                          INY                          
 8958 | 34            hud_render_aux.s    422 | Code        | 11 |         |    3 | 00/D841 : BD 1B 1F    |                          LDA     {$1EDB}+64,X         
 8959 | 34            hud_render_aux.s    423 | Code        | 11 |         |    2 | 00/D844 : 91 00       |                          STA     ({$00}),Y            
 8960 | 34            hud_render_aux.s    424 | Code        | 11 |         |    3 | 00/D846 : 8D 04 C0    |                          STA     {$C004}              
 8961 | 34            hud_render_aux.s    425 | Code        | 11 |         |    2 | 00/D849 : A0 20       |                          LDY     #32                  
 8962 | 34            hud_render_aux.s    426 | Code        | 11 |         |    3 | 00/D84B : BD E3 1E    |                          LDA     {$1EDB}+8,X          
 8963 | 34            hud_render_aux.s    427 | Code        | 11 |         |    2 | 00/D84E : 91 00       |                          STA     ({$00}),Y            
 8964 | 34            hud_render_aux.s    428 | Code        | 11 |         |    1 | 00/D850 : C8          |                          INY                          
 8965 | 34            hud_render_aux.s    429 | Code        | 11 |         |    3 | 00/D851 : BD F3 1E    |                          LDA     {$1EDB}+24,X         
 8966 | 34            hud_render_aux.s    430 | Code        | 11 |         |    2 | 00/D854 : 91 00       |                          STA     ({$00}),Y            
 8967 | 34            hud_render_aux.s    431 | Code        | 11 |         |    1 | 00/D856 : C8          |                          INY                          
 8968 | 34            hud_render_aux.s    432 | Code        | 11 |         |    3 | 00/D857 : BD 03 1F    |                          LDA     {$1EDB}+40,X         
 8969 | 34            hud_render_aux.s    433 | Code        | 11 |         |    2 | 00/D85A : 91 00       |                          STA     ({$00}),Y            
 8970 | 34            hud_render_aux.s    434 | Code        | 11 |         |    1 | 00/D85C : C8          |                          INY                          
 8971 | 34            hud_render_aux.s    435 | Code        | 11 |         |    3 | 00/D85D : BD 13 1F    |                          LDA     {$1EDB}+56,X         
 8972 | 34            hud_render_aux.s    436 | Code        | 11 |         |    2 | 00/D860 : 91 00       |                          STA     ({$00}),Y            
 8973 | 34            hud_render_aux.s    437 | Code        | 11 |         |    1 | 00/D862 : 60          |                          RTS                          
 8974 | 34            hud_render_aux.s    438 | Empty       | 11 |         |    0 | 00/D863               |                                                       
 8975 | 34            hud_render_aux.s    439 | Comment     | 11 |         |    0 | 00/D863               | *----------------------------------------------
 8976 | 34            hud_render_aux.s    440 | Comment     | 11 |         |    0 | 00/D863               | * _DecodeBonusBCDAux - Extract BonusBCD's 4 nibbles into
 8977 | 34            hud_render_aux.s    441 | Comment     | 11 |         |    0 | 00/D863               | * BonusPosIdx[0..3] in MSB-first order (no leading-zero logic).
 8978 | 34            hud_render_aux.s    442 | Comment     | 11 |         |    0 | 00/D863               | *----------------------------------------------
 8979 | 34            hud_render_aux.s    443 | Empty       | 11 |         |    0 | 00/D863               | _DecodeBonusBCDAux                                    
 8980 | 34            hud_render_aux.s    444 | Code        | 11 |         |    2 | 00/D863 : A2 00       |                          LDX     #0                   
 8981 | 34            hud_render_aux.s    445 | Code        | 11 |         |    3 | 00/D865 : AD E2 11    |                          LDA     BonusBCD+1           
 8982 | 34            hud_render_aux.s    446 | Code        | 11 |         |    1 | 00/D868 : 4A          |                          LSR                          
 8983 | 34            hud_render_aux.s    447 | Code        | 11 |         |    1 | 00/D869 : 4A          |                          LSR                          
 8984 | 34            hud_render_aux.s    448 | Code        | 11 |         |    1 | 00/D86A : 4A          |                          LSR                          
 8985 | 34            hud_render_aux.s    449 | Code        | 11 |         |    1 | 00/D86B : 4A          |                          LSR                          
 8986 | 34            hud_render_aux.s    450 | Code        | 11 |         |    3 | 00/D86C : 20 89 D8    |                          JSR     _BonusEncodeAux      
 8987 | 34            hud_render_aux.s    451 | Code        | 11 |         |    3 | 00/D86F : AD E2 11    |                          LDA     BonusBCD+1           
 8988 | 34            hud_render_aux.s    452 | Code        | 11 |         |    2 | 00/D872 : 29 0F       |                          AND     #$0F                 
 8989 | 34            hud_render_aux.s    453 | Code        | 11 |         |    3 | 00/D874 : 20 89 D8    |                          JSR     _BonusEncodeAux      
 8990 | 34            hud_render_aux.s    454 | Code        | 11 |         |    3 | 00/D877 : AD E1 11    |                          LDA     BonusBCD             
 8991 | 34            hud_render_aux.s    455 | Code        | 11 |         |    1 | 00/D87A : 4A          |                          LSR                          
 8992 | 34            hud_render_aux.s    456 | Code        | 11 |         |    1 | 00/D87B : 4A          |                          LSR                          
 8993 | 34            hud_render_aux.s    457 | Code        | 11 |         |    1 | 00/D87C : 4A          |                          LSR                          
 8994 | 34            hud_render_aux.s    458 | Code        | 11 |         |    1 | 00/D87D : 4A          |                          LSR                          
 8995 | 34            hud_render_aux.s    459 | Code        | 11 |         |    3 | 00/D87E : 20 89 D8    |                          JSR     _BonusEncodeAux      
 8996 | 34            hud_render_aux.s    460 | Code        | 11 |         |    3 | 00/D881 : AD E1 11    |                          LDA     BonusBCD             
 8997 | 34            hud_render_aux.s    461 | Code        | 11 |         |    2 | 00/D884 : 29 0F       |                          AND     #$0F                 
 8998 | 34            hud_render_aux.s    462 | Code        | 11 |         |    3 | 00/D886 : 4C 89 D8    |                          JMP     _BonusEncodeAux      
 8999 | 34            hud_render_aux.s    463 | Empty       | 11 |         |    0 | 00/D889               |                                                       
 9000 | 34            hud_render_aux.s    464 | Empty       | 11 |         |    0 | 00/D889               | _BonusEncodeAux                                       
 9001 | 34            hud_render_aux.s    465 | Code        | 11 |         |    2 | 00/D889 : 85 18       |                          STA     {$18}                
 9002 | 34            hud_render_aux.s    466 | Code        | 11 |         |    1 | 00/D88B : 8A          |                          TXA                          
 9003 | 34            hud_render_aux.s    467 | Code        | 11 |         |    1 | 00/D88C : 0A          |                          ASL                          
 9004 | 34            hud_render_aux.s    468 | Code        | 11 |         |    2 | 00/D88D : 85 19       |                          STA     {$19}                
 9005 | 34            hud_render_aux.s    469 | Code        | 11 |         |    1 | 00/D88F : 0A          |                          ASL                          
 9006 | 34            hud_render_aux.s    470 | Code        | 11 |         |    1 | 00/D890 : 0A          |                          ASL                          
 9007 | 34            hud_render_aux.s    471 | Code        | 11 |         |    1 | 00/D891 : 18          |                          CLC                          
 9008 | 34            hud_render_aux.s    472 | Code        | 11 |         |    2 | 00/D892 : 65 19       |                          ADC     {$19}                
 9009 | 34            hud_render_aux.s    473 | Code        | 11 |         |    1 | 00/D894 : 18          |                          CLC                          
 9010 | 34            hud_render_aux.s    474 | Code        | 11 |         |    2 | 00/D895 : 65 18       |                          ADC     {$18}                
 9011 | 34            hud_render_aux.s    475 | Code        | 11 |         |    2 | 00/D897 : 85 19       |                          STA     {$19}                
 9012 | 34            hud_render_aux.s    476 | Code        | 11 |         |    1 | 00/D899 : 0A          |                          ASL                          
 9013 | 34            hud_render_aux.s    477 | Code        | 11 |         |    1 | 00/D89A : 18          |                          CLC                          
 9014 | 34            hud_render_aux.s    478 | Code        | 11 |         |    2 | 00/D89B : 65 19       |                          ADC     {$19}                
 9015 | 34            hud_render_aux.s    479 | Code        | 11 |         |    3 | 00/D89D : 9D F8 1D    |                          STA     {$1DF8},X            
 9016 | 34            hud_render_aux.s    480 | Code        | 11 |         |    1 | 00/D8A0 : E8          |                          INX                          
 9017 | 34            hud_render_aux.s    481 | Code        | 11 |         |    1 | 00/D8A1 : 60          |                          RTS                          
 9018 | 34            hud_render_aux.s    482 | Empty       | 11 |         |    0 | 00/D8A2               |                                                       
 9019 | 34            hud_render_aux.s    483 | Comment     | 11 |         |    0 | 00/D8A2               | *----------------------------------------------
 9020 | 34            hud_render_aux.s    484 | Comment     | 11 |         |    0 | 00/D8A2               | * DrawHUDAllAux - intermission path entry point.
 9021 | 34            hud_render_aux.s    485 | Comment     | 11 |         |    0 | 00/D8A2               | *
 9022 | 34            hud_render_aux.s    486 | Comment     | 11 |         |    0 | 00/D8A2               | * intermission.s runs with ALTZP ON. Calling the main-side DrawHUDAll
 9023 | 34            hud_render_aux.s    487 | Comment     | 11 |         |    0 | 00/D8A2               | * from aux context would be safe today (straight JSRs to main RAM),
 9024 | 34            hud_render_aux.s    488 | Comment     | 11 |         |    0 | 00/D8A2               | * but DrawScore / DrawBonus are now trampolines that flip ALTZP off
 9025 | 34            hud_render_aux.s    489 | Comment     | 11 |         |    0 | 00/D8A2               | * at their RTS, which would break intermission's aux-context state
 9026 | 34            hud_render_aux.s    490 | Comment     | 11 |         |    0 | 00/D8A2               | * and crash when control returned to intermission. So intermission
 9027 | 34            hud_render_aux.s    491 | Comment     | 11 |         |    0 | 00/D8A2               | * enters through this aux-side helper, which calls DrawScoreAux /
 9028 | 34            hud_render_aux.s    492 | Comment     | 11 |         |    0 | 00/D8A2               | * DrawBonusAux directly (no trampolines) and cross-bank JSRs the
 9029 | 34            hud_render_aux.s    493 | Comment     | 11 |         |    0 | 00/D8A2               | * bank-agnostic helpers in main RAM.
 9030 | 34            hud_render_aux.s    494 | Comment     | 11 |         |    0 | 00/D8A2               | *
 9031 | 34            hud_render_aux.s    495 | Comment     | 11 |         |    0 | 00/D8A2               | * _SnapScoreBCD (in game.s) and DrawLivesRow (in hud_overlay.s) both
 9032 | 34            hud_render_aux.s    496 | Comment     | 11 |         |    0 | 00/D8A2               | * execute safely from aux context: they live in main RAM (instruction
 9033 | 34            hud_render_aux.s    497 | Comment     | 11 |         |    0 | 00/D8A2               | * fetch unaffected by ALTZP), use ZP only as local write-before-read
 9034 | 34            hud_render_aux.s    498 | Comment     | 11 |         |    0 | 00/D8A2               | * scratch, and hit absolute-addressed main data through
 9035 | 34            hud_render_aux.s    499 | Comment     | 11 |         |    0 | 00/D8A2               | * RAMRD/RAMWRTMAIN.
 9036 | 34            hud_render_aux.s    500 | Comment     | 11 |         |    0 | 00/D8A2               | *----------------------------------------------
 9037 | 34            hud_render_aux.s    501 | Empty       | 11 |         |    0 | 00/D8A2               | DrawHUDAllAux                                         
 9038 | 34            hud_render_aux.s    502 | Code        | 11 |         |    2 | 00/D8A2 : A5 1E       |                          LDA     {$1E}                ; aux-ZP PageOfs set by aux-context caller
 9039 | 34            hud_render_aux.s    503 | Code        | 11 |         |    3 | 00/D8A4 : 8D 06 03    |                          STA     $0306                ; stage pass-through for DrawScoreAux/DrawBonusAux
 9040 | 34            hud_render_aux.s    504 | Code        | 11 |         |    3 | 00/D8A7 : 20 F7 66    |                          JSR     _SnapScoreBCD        
 9041 | 34            hud_render_aux.s    505 | Code        | 11 |         |    3 | 00/D8AA : 20 20 D5    |                          JSR     DrawScoreAux         
 9042 | 34            hud_render_aux.s    506 | Code        | 11 |         |    3 | 00/D8AD : 20 43 D7    |                          JSR     DrawBonusAux         
 9043 | 34            hud_render_aux.s    507 | Code        | 11 |         |    3 | 00/D8B0 : 4C 9F 14    |                          JMP     DrawLivesRow         
 9044 | 34            hud_render_aux.s    508 | Empty       | 11 |         |    0 | 00/D8B3               |                                                       
 9045 |  1                    bagman.s     89 | Directive   | 11 |         |    0 | 00/D8B3               |                          PUT     leaderboard_aux.s    
 9046 | 35           leaderboard_aux.s      1 | Comment     | 11 |         |    0 | 00/D8B3               | *
 9047 | 35           leaderboard_aux.s      2 | Comment     | 11 |         |    0 | 00/D8B3               | * Bagman - Top 10 Leaderboard (aux-LC UI half)
 9048 | 35           leaderboard_aux.s      3 | Comment     | 11 |         |    0 | 00/D8B3               | *
 9049 | 35           leaderboard_aux.s      4 | Comment     | 11 |         |    0 | 00/D8B3               | * Lives in the AuxCold block alongside font/intermission/title. Runs
 9050 | 35           leaderboard_aux.s      5 | Comment     | 11 |         |    0 | 00/D8B3               | * with ALTZP ON. Reached from main via AuxGoToLeaderboard trampoline.
 9051 | 35           leaderboard_aux.s      6 | Comment     | 11 |         |    0 | 00/D8B3               | *
 9052 | 35           leaderboard_aux.s      7 | Comment     | 11 |         |    0 | 00/D8B3               | * All absolute addresses ($xxxx) target main RAM for $0200-$BFFF
 9053 | 35           leaderboard_aux.s      8 | Comment     | 11 |         |    0 | 00/D8B3               | * (RAMRD/RAMWRT default off). Screen I/O ($C00x) is bank-independent.
 9054 | 35           leaderboard_aux.s      9 | Comment     | 11 |         |    0 | 00/D8B3               | * DrawText lives in this same aux block - direct JSR.
 9055 | 35           leaderboard_aux.s     10 | Comment     | 11 |         |    0 | 00/D8B3               | *
 9056 | 35           leaderboard_aux.s     11 | Comment     | 11 |         |    0 | 00/D8B3               | * HiScoreTbl, HiScoreRowBuf, HiScoreNewRank, HiScoreCur are the
 9057 | 35           leaderboard_aux.s     12 | Comment     | 11 |         |    0 | 00/D8B3               | * same main-RAM locations declared in leaderboard.s. SaveHiScores /
 9058 | 35           leaderboard_aux.s     13 | Comment     | 11 |         |    0 | 00/D8B3               | * HiScoreTbl access cross banks transparently.
 9059 | 35           leaderboard_aux.s     14 | Comment     | 11 |         |    0 | 00/D8B3               | *
 9060 | 35           leaderboard_aux.s     15 | Comment     | 11 |         |    0 | 00/D8B3               | * EditPtr ($FA-$FB) is a persistent ZP pointer to the edit row's
 9061 | 35           leaderboard_aux.s     16 | Comment     | 11 |         |    0 | 00/D8B3               | * name field, set once after HiScoreInsert. Must NOT live at $27-$29
 9062 | 35           leaderboard_aux.s     17 | Comment     | 11 |         |    0 | 00/D8B3               | * (font.s ShiftBuf clobbers those during DrawText). $FA-$FF are
 9063 | 35           leaderboard_aux.s     18 | Comment     | 11 |         |    0 | 00/D8B3               | * LZSA2 decomp slots, only live during ShowTitle - free here.
 9064 | 35           leaderboard_aux.s     19 | Comment     | 11 |         |    0 | 00/D8B3               | *
 9065 | 35           leaderboard_aux.s     20 | Empty       | 11 |         |    0 | 00/D8B3               |                                                       
 9066 | 35           leaderboard_aux.s     21 | Equivalence | 11 |         |    0 | 00/D8B3               | EditPtr                  =       $FA                  
 9067 | 35           leaderboard_aux.s     22 | Empty       | 11 |         |    0 | 00/D8B3               |                                                       
 9068 | 35           leaderboard_aux.s     23 | Comment     | 11 |         |    0 | 00/D8B3               | *----------------------------------------------
 9069 | 35           leaderboard_aux.s     24 | Comment     | 11 |         |    0 | 00/D8B3               | * Slot-byte-offset table: entry N at HiScoreTbl + SlotOfs[N].
 9070 | 35           leaderboard_aux.s     25 | Comment     | 11 |         |    0 | 00/D8B3               | * 11 entries so HiScoreInsert can read SlotOfs[i+1] without bounds
 9071 | 35           leaderboard_aux.s     26 | Comment     | 11 |         |    0 | 00/D8B3               | * code. Every entry stays within a single page.
 9072 | 35           leaderboard_aux.s     27 | Comment     | 11 |         |    0 | 00/D8B3               | *----------------------------------------------
 9073 | 35           leaderboard_aux.s     28 | Data        | 11 |         |   11 | 00/D8B3 : 00 13 26 39 | SlotOfs                  DFB     0,19,38,57,76,95,114,133,152,171,190
      |                                       |             |    |         |      |           4C 5F 72 85 |
      |                                       |             |    |         |      |           98 AB BE    |
 9074 | 35           leaderboard_aux.s     29 | Empty       | 11 |         |    0 | 00/D8BE               |                                                       
 9075 | 35           leaderboard_aux.s     30 | Empty       | 11 |         |    0 | 00/D8BE               | HighScoresTitle                                       
 9076 | 35           leaderboard_aux.s     31 | Data        | 11 |         |   11 | 00/D8BE : C8 C9 C7 C8 |                          ASC     "HIGH SCORES"        
      |                                       |             |    |         |      |           A0 D3 C3 CF |
      |                                       |             |    |         |      |           D2 C5 D3    |
 9077 | 35           leaderboard_aux.s     32 | Data        | 11 |         |    1 | 00/D8C9 : 00          |                          DFB     0                    
 9078 | 35           leaderboard_aux.s     33 | Empty       | 11 |         |    0 | 00/D8CA               |                                                       
 9079 | 35           leaderboard_aux.s     34 | Comment     | 11 |         |    0 | 00/D8CA               | *----------------------------------------------
 9080 | 35           leaderboard_aux.s     35 | Comment     | 11 |         |    0 | 00/D8CA               | * HiScoreView - attract-mode view-only entry.
 9081 | 35           leaderboard_aux.s     36 | Comment     | 11 |         |    0 | 00/D8CA               | * Draws the leaderboard, then loops the music with a note-count
 9082 | 35           leaderboard_aux.s     37 | Comment     | 11 |         |    0 | 00/D8CA               | * limit (~4s per chunk) until either AttractState clears (key
 9083 | 35           leaderboard_aux.s     38 | Comment     | 11 |         |    0 | 00/D8CA               | * pressed -> title.s handled the clear) or a key lands in $C000.
 9084 | 35           leaderboard_aux.s     39 | Comment     | 11 |         |    0 | 00/D8CA               | *
 9085 | 35           leaderboard_aux.s     40 | Comment     | 11 |         |    0 | 00/D8CA               | * Skips HiScoreCheck / HiScoreInsert entirely; ScoreBCD is still
 9086 | 35           leaderboard_aux.s     41 | Comment     | 11 |         |    0 | 00/D8CA               | * zero during attract so no row would qualify anyway. NewRank=$FF
 9087 | 35           leaderboard_aux.s     42 | Comment     | 11 |         |    0 | 00/D8CA               | * keeps DrawLBFrame / DrawEditRow (which we don't call here)
 9088 | 35           leaderboard_aux.s     43 | Comment     | 11 |         |    0 | 00/D8CA               | * consistent with the view-only contract used by :show.
 9089 | 35           leaderboard_aux.s     44 | Comment     | 11 |         |    0 | 00/D8CA               | *----------------------------------------------
 9090 | 35           leaderboard_aux.s     45 | Empty       | 11 |         |    0 | 00/D8CA               | HiScoreView                                           
 9091 | 35           leaderboard_aux.s     46 | Code        | 11 |         |    2 | 00/D8CA : A9 FF       |                          LDA     #$FF                 
 9092 | 35           leaderboard_aux.s     47 | Code        | 11 |         |    3 | 00/D8CC : 8D E1 1F    |                          STA     {$1FE1}              
 9093 | 35           leaderboard_aux.s     48 | Code        | 11 |         |    3 | 00/D8CF : 9C E2 1F    |                          STZ     {$1FE2}              
 9094 | 35           leaderboard_aux.s     49 | Code        | 11 |         |    3 | 00/D8D2 : 20 AE D9    |                          JSR     DrawLBFrame          
 9095 | 35           leaderboard_aux.s     50 | Code        | 11 |         |    2 | 00/D8D5 : A9 14       | _vwLoop                  LDA     #20                  
 9096 | 35           leaderboard_aux.s     51 | Code        | 11 |         |    3 | 00/D8D7 : 8D AC 03    |                          STA     {$03AC}              ; ~8s chunk
 9097 | 35           leaderboard_aux.s     52 | Code        | 11 |         |    3 | 00/D8DA : 20 47 D1    |                          JSR     PlayMusicResumeNoSwap
 9098 | 35           leaderboard_aux.s     53 | Code        | 11 |         |    3 | 00/D8DD : 9C AC 03    |                          STZ     {$03AC}              
 9099 | 35           leaderboard_aux.s     54 | Code        | 11 |         |    3 | 00/D8E0 : AD 00 C0    |                          LDA     $C000                ; key pressed?
 9100 | 35           leaderboard_aux.s     55 | Code        | 11 |         |    2 | 00/D8E3 : 10 07       |                          BPL     _vwTimeout           
 9101 | 35           leaderboard_aux.s     56 | Code        | 11 |         |    3 | 00/D8E5 : 8D 10 C0    |                          STA     $C010                
 9102 | 35           leaderboard_aux.s     57 | Code        | 11 |         |    3 | 00/D8E8 : 9C A6 03    |                          STZ     {$03A6}              ; real key -> normal title dispatch
 9103 | 35           leaderboard_aux.s     58 | Code        | 11 |         |    1 | 00/D8EB : 60          |                          RTS                          
 9104 | 35           leaderboard_aux.s     59 | Empty       | 11 |         |    0 | 00/D8EC               | _vwTimeout                                            
 9105 | 35           leaderboard_aux.s     60 | Code        | 11 |         |    3 | 00/D8EC : AD A6 03    |                          LDA     {$03A6}              
 9106 | 35           leaderboard_aux.s     61 | Code        | 11 |         |    2 | 00/D8EF : F0 01       |                          BEQ     _vwExit              ; attract cleared -> bail
 9107 | 35           leaderboard_aux.s     62 | Code        | 11 |         |    1 | 00/D8F1 : 60          |                          RTS                          ; attract still armed -> caller transitions
 9108 | 35           leaderboard_aux.s     63 | Code        | 11 |         |    1 | 00/D8F2 : 60          | _vwExit                  RTS                          
 9109 | 35           leaderboard_aux.s     64 | Empty       | 11 |         |    0 | 00/D8F3               |                                                       
 9110 | 35           leaderboard_aux.s     65 | Comment     | 11 |         |    0 | 00/D8F3               | *----------------------------------------------
 9111 | 35           leaderboard_aux.s     66 | Comment     | 11 |         |    0 | 00/D8F3               | * GoToLeaderboard - Main entry. Does qualify check, optional name
 9112 | 35           leaderboard_aux.s     67 | Comment     | 11 |         |    0 | 00/D8F3               | * entry, leaderboard display, conditional save, then RTS (back to
 9113 | 35           leaderboard_aux.s     68 | Comment     | 11 |         |    0 | 00/D8F3               | * the AuxLCCall trampoline which RTS's to the main :goEnd site).
 9114 | 35           leaderboard_aux.s     69 | Comment     | 11 |         |    0 | 00/D8F3               | *----------------------------------------------
 9115 | 35           leaderboard_aux.s     70 | Empty       | 11 |         |    0 | 00/D8F3               | GoToLeaderboard                                       
 9116 | 35           leaderboard_aux.s     71 | Code        | 11 |         |    2 | 00/D8F3 : A9 FF       |                          LDA     #$FF                 
 9117 | 35           leaderboard_aux.s     72 | Code        | 11 |         |    3 | 00/D8F5 : 8D E1 1F    |                          STA     {$1FE1}              
 9118 | 35           leaderboard_aux.s     73 | Code        | 11 |         |    3 | 00/D8F8 : 20 52 D9    |                          JSR     HiScoreCheck         
 9119 | 35           leaderboard_aux.s     74 | Code        | 11 |         |    2 | 00/D8FB : 90 12       |                          BCC     _show                
 9120 | 35           leaderboard_aux.s     75 | Code        | 11 |         |    3 | 00/D8FD : 20 76 D9    |                          JSR     HiScoreInsert        
 9121 | 35           leaderboard_aux.s     76 | Comment     | 11 |         |    0 | 00/D900               |          ; EditPtr = HiScoreTbl + SlotOfs[NewRank] (name field base)
 9122 | 35           leaderboard_aux.s     77 | Code        | 11 |         |    3 | 00/D900 : AE E1 1F    |                          LDX     {$1FE1}              
 9123 | 35           leaderboard_aux.s     78 | Code        | 11 |         |    3 | 00/D903 : BD B3 D8    |                          LDA     SlotOfs,X            
 9124 | 35           leaderboard_aux.s     79 | Code        | 11 |         |    1 | 00/D906 : 18          |                          CLC                          
 9125 | 35           leaderboard_aux.s     80 | Code        | 11 |         |    2 | 00/D907 : 69 23       |                          ADC     #<{$1F23}            
 9126 | 35           leaderboard_aux.s     81 | Code        | 11 |         |    2 | 00/D909 : 85 FA       |                          STA     {$FA}                
 9127 | 35           leaderboard_aux.s     82 | Code        | 11 |         |    2 | 00/D90B : A9 1F       |                          LDA     #>{$1F23}            
 9128 | 35           leaderboard_aux.s     83 | Code        | 11 |         |    2 | 00/D90D : 85 FB       |                          STA     {$FA}+1              
 9129 | 35           leaderboard_aux.s     84 | Code        | 11 |         |    3 | 00/D90F : 9C E2 1F    | _show                    STZ     {$1FE2}              
 9130 | 35           leaderboard_aux.s     85 | Code        | 11 |         |    3 | 00/D912 : 20 AE D9    |                          JSR     DrawLBFrame          ; one-time full draw
 9131 | 35           leaderboard_aux.s     86 | Code        | 11 |         |    3 | 00/D915 : AD E1 1F    |                          LDA     {$1FE1}              
 9132 | 35           leaderboard_aux.s     87 | Code        | 11 |         |    2 | 00/D918 : 30 03       |                          BMI     _kw                  ; view-only: no cursor overlay
 9133 | 35           leaderboard_aux.s     88 | Code        | 11 |         |    3 | 00/D91A : 20 E7 D9    |                          JSR     DrawEditRow          ; overlay cursor on edit row
 9134 | 35           leaderboard_aux.s     89 | Code        | 11 |         |    3 | 00/D91D : AD 00 C0    | _kw                      LDA     $C000                
 9135 | 35           leaderboard_aux.s     90 | Code        | 11 |         |    2 | 00/D920 : 10 FB       |                          BPL     _kw                  
 9136 | 35           leaderboard_aux.s     91 | Code        | 11 |         |    3 | 00/D922 : 8D 10 C0    |                          STA     $C010                
 9137 | 35           leaderboard_aux.s     92 | Code        | 11 |         |    3 | 00/D925 : AC E1 1F    |                          LDY     {$1FE1}              
 9138 | 35           leaderboard_aux.s     93 | Code        | 11 |         |    2 | 00/D928 : 30 27       |                          BMI     ozunid_56            ; no new rank: any key exits
 9139 | 35           leaderboard_aux.s     94 | Code        | 11 |         |    2 | 00/D92A : 29 7F       |                          AND     #$7F                 
 9140 | 35           leaderboard_aux.s     95 | Code        | 11 |         |    2 | 00/D92C : C9 0D       |                          CMP     #$0D                 
 9141 | 35           leaderboard_aux.s     96 | Code        | 11 |         |    2 | 00/D92E : F0 1E       |                          BEQ     _save                
 9142 | 35           leaderboard_aux.s     97 | Code        | 11 |         |    2 | 00/D930 : C9 08       |                          CMP     #$08                 
 9143 | 35           leaderboard_aux.s     98 | Code        | 11 |         |    2 | 00/D932 : F0 08       |                          BEQ     _bksp                
 9144 | 35           leaderboard_aux.s     99 | Code        | 11 |         |    3 | 00/D934 : 20 86 DA    |                          JSR     _AcceptChar          
 9145 | 35           leaderboard_aux.s    100 | Code        | 11 |         |    3 | 00/D937 : 20 E7 D9    |                          JSR     DrawEditRow          
 9146 | 35           leaderboard_aux.s    101 | Code        | 11 |         |    2 | 00/D93A : 80 E1       |                          BRA     _kw                  
 9147 | 35           leaderboard_aux.s    102 | Code        | 11 |         |    3 | 00/D93C : AC E2 1F    | _bksp                    LDY     {$1FE2}              
 9148 | 35           leaderboard_aux.s    103 | Code        | 11 |         |    2 | 00/D93F : F0 DC       |                          BEQ     _kw                  
 9149 | 35           leaderboard_aux.s    104 | Code        | 11 |         |    1 | 00/D941 : 88          |                          DEY                          
 9150 | 35           leaderboard_aux.s    105 | Code        | 11 |         |    3 | 00/D942 : 8C E2 1F    |                          STY     {$1FE2}              
 9151 | 35           leaderboard_aux.s    106 | Code        | 11 |         |    2 | 00/D945 : A9 20       |                          LDA     #' '                 
 9152 | 35           leaderboard_aux.s    107 | Code        | 11 |         |    2 | 00/D947 : 91 FA       |                          STA     ({$FA}),Y            
 9153 | 35           leaderboard_aux.s    108 | Code        | 11 |         |    3 | 00/D949 : 20 E7 D9    |                          JSR     DrawEditRow          
 9154 | 35           leaderboard_aux.s    109 | Code        | 11 |         |    2 | 00/D94C : 80 CF       |                          BRA     _kw                  
 9155 | 35           leaderboard_aux.s    110 | Code        | 11 |         |    3 | 00/D94E : 20 EE 9B    | _save                    JSR     SaveHiScoresFromAux  ; main-RAM trampoline flips ALTZP safely
 9156 | 35           leaderboard_aux.s    111 | Code        | 11 |         |    1 | 00/D951 : 60          | ozunid_56                RTS                          
 9157 | 35           leaderboard_aux.s    112 | Empty       | 11 |         |    0 | 00/D952               |                                                       
 9158 | 35           leaderboard_aux.s    113 | Comment     | 11 |         |    0 | 00/D952               | *----------------------------------------------
 9159 | 35           leaderboard_aux.s    114 | Comment     | 11 |         |    0 | 00/D952               | * HiScoreCheck - Walk ranks 0..9; return SEC + A = first rank the
 9160 | 35           leaderboard_aux.s    115 | Comment     | 11 |         |    0 | 00/D952               | * player's ScoreBCD strictly beats. CLC if no qualification.
 9161 | 35           leaderboard_aux.s    116 | Comment     | 11 |         |    0 | 00/D952               | *----------------------------------------------
 9162 | 35           leaderboard_aux.s    117 | Empty       | 11 |         |    0 | 00/D952               | HiScoreCheck                                          
 9163 | 35           leaderboard_aux.s    118 | Code        | 11 |         |    2 | 00/D952 : A2 00       |                          LDX     #0                   ; rank
 9164 | 35           leaderboard_aux.s    119 | Code        | 11 |         |    3 | 00/D954 : BD B3 D8    | _rLoop                   LDA     SlotOfs,X            
 9165 | 35           leaderboard_aux.s    120 | Code        | 11 |         |    1 | 00/D957 : 18          |                          CLC                          
 9166 | 35           leaderboard_aux.s    121 | Code        | 11 |         |    2 | 00/D958 : 69 32       |                          ADC     #$32                 ; low byte of HiScoreTbl+15
 9167 | 35           leaderboard_aux.s    122 | Code        | 11 |         |    3 | 00/D95A : 8D 63 D9    |                          STA     _sm+1                ; self-mod low byte of CMP operand
 9168 | 35           leaderboard_aux.s    123 | Code        | 11 |         |    2 | 00/D95D : A0 03       |                          LDY     #3                   ; byte idx (LE BCD: 3=high, 0=low)
 9169 | 35           leaderboard_aux.s    124 | Code        | 11 |         |    3 | 00/D95F : B9 D9 11    | _bL                      LDA     ScoreBCD,Y           
 9170 | 35           leaderboard_aux.s    125 | Code        | 11 |         |    3 | 00/D962 : D9 32 1F    | _sm                      CMP     {$1F23}+15,Y         ; low byte patched per rank
 9171 | 35           leaderboard_aux.s    126 | Code        | 11 |         |    2 | 00/D965 : 90 05       |                          BCC     _lower               
 9172 | 35           leaderboard_aux.s    127 | Code        | 11 |         |    2 | 00/D967 : D0 0A       |                          BNE     _higher              
 9173 | 35           leaderboard_aux.s    128 | Code        | 11 |         |    1 | 00/D969 : 88          |                          DEY                          
 9174 | 35           leaderboard_aux.s    129 | Code        | 11 |         |    2 | 00/D96A : 10 F3       |                          BPL     _bL                  
 9175 | 35           leaderboard_aux.s    130 | Code        | 11 |         |    1 | 00/D96C : E8          | _lower                   INX                          
 9176 | 35           leaderboard_aux.s    131 | Code        | 11 |         |    2 | 00/D96D : E0 0A       |                          CPX     #10                  
 9177 | 35           leaderboard_aux.s    132 | Code        | 11 |         |    2 | 00/D96F : 90 E3       |                          BCC     _rLoop               
 9178 | 35           leaderboard_aux.s    133 | Code        | 11 |         |    1 | 00/D971 : 18          |                          CLC                          
 9179 | 35           leaderboard_aux.s    134 | Code        | 11 |         |    1 | 00/D972 : 60          |                          RTS                          
 9180 | 35           leaderboard_aux.s    135 | Code        | 11 |         |    1 | 00/D973 : 8A          | _higher                  TXA                          
 9181 | 35           leaderboard_aux.s    136 | Code        | 11 |         |    1 | 00/D974 : 38          |                          SEC                          
 9182 | 35           leaderboard_aux.s    137 | Code        | 11 |         |    1 | 00/D975 : 60          |                          RTS                          
 9183 | 35           leaderboard_aux.s    138 | Empty       | 11 |         |    0 | 00/D976               |                                                       
 9184 | 35           leaderboard_aux.s    139 | Comment     | 11 |         |    0 | 00/D976               | *----------------------------------------------
 9185 | 35           leaderboard_aux.s    140 | Comment     | 11 |         |    0 | 00/D976               | * HiScoreInsert - Shift entries [rank..8] down by one slot, then
 9186 | 35           leaderboard_aux.s    141 | Comment     | 11 |         |    0 | 00/D976               | * write 15 spaces + ScoreBCD into slot [rank]. Sets HiScoreNewRank.
 9187 | 35           leaderboard_aux.s    142 | Comment     | 11 |         |    0 | 00/D976               | *
 9188 | 35           leaderboard_aux.s    143 | Comment     | 11 |         |    0 | 00/D976               | * In: A = rank (0..9)
 9189 | 35           leaderboard_aux.s    144 | Comment     | 11 |         |    0 | 00/D976               | *----------------------------------------------
 9190 | 35           leaderboard_aux.s    145 | Empty       | 11 |         |    0 | 00/D976               | HiScoreInsert                                         
 9191 | 35           leaderboard_aux.s    146 | Code        | 11 |         |    3 | 00/D976 : 8D E1 1F    |                          STA     {$1FE1}              
 9192 | 35           leaderboard_aux.s    147 | Code        | 11 |         |    1 | 00/D979 : AA          |                          TAX                          
 9193 | 35           leaderboard_aux.s    148 | Code        | 11 |         |    2 | 00/D97A : C9 09       |                          CMP     #9                   
 9194 | 35           leaderboard_aux.s    149 | Code        | 11 |         |    2 | 00/D97C : B0 13       |                          BCS     _populate            
 9195 | 35           leaderboard_aux.s    150 | Comment     | 11 |         |    0 | 00/D97E               |          ; Shift: for Y from 189 down to (rank+1)*19,
 9196 | 35           leaderboard_aux.s    151 | Comment     | 11 |         |    0 | 00/D97E               |          ; HiScoreTbl[Y] = HiScoreTbl[Y-19]
 9197 | 35           leaderboard_aux.s    152 | Code        | 11 |         |    3 | 00/D97E : BD B4 D8    |                          LDA     SlotOfs+1,X          ; (rank+1)*19 = first byte of slot[rank+1]
 9198 | 35           leaderboard_aux.s    153 | Code        | 11 |         |    3 | 00/D981 : 8D 8E D9    |                          STA     _endSM+1             
 9199 | 35           leaderboard_aux.s    154 | Code        | 11 |         |    2 | 00/D984 : A0 BD       |                          LDY     #189                 
 9200 | 35           leaderboard_aux.s    155 | Code        | 11 |         |    3 | 00/D986 : B9 10 1F    | _shift                   LDA     {$1F23}-19,Y         
 9201 | 35           leaderboard_aux.s    156 | Code        | 11 |         |    3 | 00/D989 : 99 23 1F    |                          STA     {$1F23},Y            
 9202 | 35           leaderboard_aux.s    157 | Code        | 11 |         |    1 | 00/D98C : 88          |                          DEY                          
 9203 | 35           leaderboard_aux.s    158 | Code        | 11 |         |    2 | 00/D98D : C0 00       | _endSM                   CPY     #0                   ; self-modified to (rank+1)*19
 9204 | 35           leaderboard_aux.s    159 | Code        | 11 |         |    2 | 00/D98F : B0 F5       |                          BCS     _shift               
 9205 | 35           leaderboard_aux.s    160 | Empty       | 11 |         |    0 | 00/D991               | _populate                                             
 9206 | 35           leaderboard_aux.s    161 | Code        | 11 |         |    3 | 00/D991 : BC B3 D8    |                          LDY     SlotOfs,X            
 9207 | 35           leaderboard_aux.s    162 | Code        | 11 |         |    2 | 00/D994 : A2 0F       |                          LDX     #15                  
 9208 | 35           leaderboard_aux.s    163 | Code        | 11 |         |    2 | 00/D996 : A9 20       |                          LDA     #' '                 
 9209 | 35           leaderboard_aux.s    164 | Code        | 11 |         |    3 | 00/D998 : 99 23 1F    | _sp                      STA     {$1F23},Y            
 9210 | 35           leaderboard_aux.s    165 | Code        | 11 |         |    1 | 00/D99B : C8          |                          INY                          
 9211 | 35           leaderboard_aux.s    166 | Code        | 11 |         |    1 | 00/D99C : CA          |                          DEX                          
 9212 | 35           leaderboard_aux.s    167 | Code        | 11 |         |    2 | 00/D99D : D0 F9       |                          BNE     _sp                  
 9213 | 35           leaderboard_aux.s    168 | Code        | 11 |         |    2 | 00/D99F : A2 00       |                          LDX     #0                   
 9214 | 35           leaderboard_aux.s    169 | Code        | 11 |         |    3 | 00/D9A1 : BD D9 11    | ozunid_57                LDA     ScoreBCD,X           
 9215 | 35           leaderboard_aux.s    170 | Code        | 11 |         |    3 | 00/D9A4 : 99 23 1F    |                          STA     {$1F23},Y            
 9216 | 35           leaderboard_aux.s    171 | Code        | 11 |         |    1 | 00/D9A7 : C8          |                          INY                          
 9217 | 35           leaderboard_aux.s    172 | Code        | 11 |         |    1 | 00/D9A8 : E8          |                          INX                          
 9218 | 35           leaderboard_aux.s    173 | Code        | 11 |         |    2 | 00/D9A9 : E0 04       |                          CPX     #4                   
 9219 | 35           leaderboard_aux.s    174 | Code        | 11 |         |    2 | 00/D9AB : D0 F4       |                          BNE     ozunid_57            
 9220 | 35           leaderboard_aux.s    175 | Code        | 11 |         |    1 | 00/D9AD : 60          |                          RTS                          
 9221 | 35           leaderboard_aux.s    176 | Empty       | 11 |         |    0 | 00/D9AE               |                                                       
 9222 | 35           leaderboard_aux.s    177 | Comment     | 11 |         |    0 | 00/D9AE               | *----------------------------------------------
 9223 | 35           leaderboard_aux.s    178 | Comment     | 11 |         |    0 | 00/D9AE               | * DrawLBFrame - Clear page 1, render 10 rows with DrawTextAt.
 9224 | 35           leaderboard_aux.s    179 | Comment     | 11 |         |    0 | 00/D9AE               | *----------------------------------------------
 9225 | 35           leaderboard_aux.s    180 | Empty       | 11 |         |    0 | 00/D9AE               | DrawLBFrame                                           
 9226 | 35           leaderboard_aux.s    181 | Code        | 11 |         |    3 | 00/D9AE : 8D 54 C0    |                          STA     {$C054}              
 9227 | 35           leaderboard_aux.s    182 | Code        | 11 |         |    2 | 00/D9B1 : 64 1E       |                          STZ     {$1E}                
 9228 | 35           leaderboard_aux.s    183 | Code        | 11 |         |    3 | 00/D9B3 : 20 DC 0F    |                          JSR     DHGRClear            ; main-RAM, callable with ALTZP on
 9229 | 35           leaderboard_aux.s    184 | Comment     | 11 |         |    0 | 00/D9B6               |          ; "HIGH SCORES" title, 11 chars centered on 35-col screen
 9230 | 35           leaderboard_aux.s    185 | Code        | 11 |         |    2 | 00/D9B6 : A9 BE       |                          LDA     #<HighScoresTitle    
 9231 | 35           leaderboard_aux.s    186 | Code        | 11 |         |    2 | 00/D9B8 : 85 04       |                          STA     {$04}                
 9232 | 35           leaderboard_aux.s    187 | Code        | 11 |         |    2 | 00/D9BA : A9 D8       |                          LDA     #>HighScoresTitle    
 9233 | 35           leaderboard_aux.s    188 | Code        | 11 |         |    2 | 00/D9BC : 85 05       |                          STA     {$04}+1              
 9234 | 35           leaderboard_aux.s    189 | Code        | 11 |         |    2 | 00/D9BE : A9 01       |                          LDA     #1                   ; row 1
 9235 | 35           leaderboard_aux.s    190 | Code        | 11 |         |    2 | 00/D9C0 : A2 0C       |                          LDX     #12                  ; col 12 = (35-11)/2
 9236 | 35           leaderboard_aux.s    191 | Code        | 11 |         |    3 | 00/D9C2 : 20 55 D2    |                          JSR     DrawTextAt           
 9237 | 35           leaderboard_aux.s    192 | Code        | 11 |         |    3 | 00/D9C5 : 9C FE 1F    |                          STZ     {$1FE3}+27           ; null terminator
 9238 | 35           leaderboard_aux.s    193 | Code        | 11 |         |    2 | 00/D9C8 : A9 E3       |                          LDA     #<{$1FE3}            
 9239 | 35           leaderboard_aux.s    194 | Code        | 11 |         |    2 | 00/D9CA : 85 04       |                          STA     {$04}                
 9240 | 35           leaderboard_aux.s    195 | Code        | 11 |         |    2 | 00/D9CC : A9 1F       |                          LDA     #>{$1FE3}            
 9241 | 35           leaderboard_aux.s    196 | Code        | 11 |         |    2 | 00/D9CE : 85 05       |                          STA     {$04}+1              
 9242 | 35           leaderboard_aux.s    197 | Code        | 11 |         |    2 | 00/D9D0 : A9 00       |                          LDA     #0                   ; rank counter (kept on stack across DrawTextAt,
 9243 | 35           leaderboard_aux.s    198 | Comment     | 11 |         |    0 | 00/D9D2               |                                ; since Temp3 IS TextCol and gets clobbered)
 9244 | 35           leaderboard_aux.s    199 | Code        | 11 |         |    1 | 00/D9D2 : 48          | _rowL                    PHA                          
 9245 | 35           leaderboard_aux.s    200 | Code        | 11 |         |    3 | 00/D9D3 : 20 2E DA    |                          JSR     _BuildRow            
 9246 | 35           leaderboard_aux.s    201 | Code        | 11 |         |    1 | 00/D9D6 : 68          |                          PLA                          
 9247 | 35           leaderboard_aux.s    202 | Code        | 11 |         |    1 | 00/D9D7 : 48          |                          PHA                          
 9248 | 35           leaderboard_aux.s    203 | Code        | 11 |         |    1 | 00/D9D8 : 18          |                          CLC                          
 9249 | 35           leaderboard_aux.s    204 | Code        | 11 |         |    2 | 00/D9D9 : 69 03       |                          ADC     #3                   ; row 3..12
 9250 | 35           leaderboard_aux.s    205 | Code        | 11 |         |    2 | 00/D9DB : A2 04       |                          LDX     #4                   ; col 4
 9251 | 35           leaderboard_aux.s    206 | Code        | 11 |         |    3 | 00/D9DD : 20 55 D2    |                          JSR     DrawTextAt           
 9252 | 35           leaderboard_aux.s    207 | Code        | 11 |         |    1 | 00/D9E0 : 68          |                          PLA                          
 9253 | 35           leaderboard_aux.s    208 | Code        | 11 |         |    1 | 00/D9E1 : 1A          |                          INC                          
 9254 | 35           leaderboard_aux.s    209 | Code        | 11 |         |    2 | 00/D9E2 : C9 0A       |                          CMP     #10                  
 9255 | 35           leaderboard_aux.s    210 | Code        | 11 |         |    2 | 00/D9E4 : 90 EC       |                          BCC     _rowL                
 9256 | 35           leaderboard_aux.s    211 | Code        | 11 |         |    1 | 00/D9E6 : 60          |                          RTS                          
 9257 | 35           leaderboard_aux.s    212 | Empty       | 11 |         |    0 | 00/D9E7               |                                                       
 9258 | 35           leaderboard_aux.s    213 | Comment     | 11 |         |    0 | 00/D9E7               | *----------------------------------------------
 9259 | 35           leaderboard_aux.s    214 | Comment     | 11 |         |    0 | 00/D9E7               | * DrawEditRow - Redraw only the 15-char name field during name
 9260 | 35           leaderboard_aux.s    215 | Comment     | 11 |         |    0 | 00/D9E7               | * entry. Rank and score from the initial DrawLBFrame stay intact.
 9261 | 35           leaderboard_aux.s    216 | Comment     | 11 |         |    0 | 00/D9E7               | * Clears name region only (bytes 16..50 = text cols 7..21).
 9262 | 35           leaderboard_aux.s    217 | Comment     | 11 |         |    0 | 00/D9E7               | * Name source is HiScoreTbl via EditPtr; staged into
 9263 | 35           leaderboard_aux.s    218 | Comment     | 11 |         |    0 | 00/D9E7               | * HiScoreRowBuf+3..+18 (name + null) for DrawText.
 9264 | 35           leaderboard_aux.s    219 | Comment     | 11 |         |    0 | 00/D9E7               | *----------------------------------------------
 9265 | 35           leaderboard_aux.s    220 | Empty       | 11 |         |    0 | 00/D9E7               | DrawEditRow                                           
 9266 | 35           leaderboard_aux.s    221 | Code        | 11 |         |    3 | 00/D9E7 : AD E1 1F    |                          LDA     {$1FE1}              
 9267 | 35           leaderboard_aux.s    222 | Code        | 11 |         |    1 | 00/D9EA : 0A          |                          ASL                          
 9268 | 35           leaderboard_aux.s    223 | Code        | 11 |         |    1 | 00/D9EB : 0A          |                          ASL                          
 9269 | 35           leaderboard_aux.s    224 | Code        | 11 |         |    1 | 00/D9EC : 0A          |                          ASL                          
 9270 | 35           leaderboard_aux.s    225 | Code        | 11 |         |    1 | 00/D9ED : 18          |                          CLC                          
 9271 | 35           leaderboard_aux.s    226 | Code        | 11 |         |    2 | 00/D9EE : 69 18       |                          ADC     #24                  
 9272 | 35           leaderboard_aux.s    227 | Code        | 11 |         |    2 | 00/D9F0 : 85 1A       |                          STA     {$1A}                ; Y0
 9273 | 35           leaderboard_aux.s    228 | Code        | 11 |         |    1 | 00/D9F2 : 18          |                          CLC                          
 9274 | 35           leaderboard_aux.s    229 | Code        | 11 |         |    2 | 00/D9F3 : 69 08       |                          ADC     #8                   
 9275 | 35           leaderboard_aux.s    230 | Code        | 11 |         |    2 | 00/D9F5 : 85 1B       |                          STA     {$1B}                ; Y1
 9276 | 35           leaderboard_aux.s    231 | Code        | 11 |         |    2 | 00/D9F7 : A9 10       |                          LDA     #16                  ; col 7 first DHGR byte
 9277 | 35           leaderboard_aux.s    232 | Code        | 11 |         |    2 | 00/D9F9 : 85 18       |                          STA     {$18}                
 9278 | 35           leaderboard_aux.s    233 | Code        | 11 |         |    2 | 00/D9FB : A9 33       |                          LDA     #51                  ; col 22 first DHGR byte (exclusive)
 9279 | 35           leaderboard_aux.s    234 | Code        | 11 |         |    2 | 00/D9FD : 85 19       |                          STA     {$19}                
 9280 | 35           leaderboard_aux.s    235 | Code        | 11 |         |    3 | 00/D9FF : 20 A9 69    |                          JSR     _ClearHUDBytes       
 9281 | 35           leaderboard_aux.s    236 | Code        | 11 |         |    2 | 00/DA02 : A0 0E       |                          LDY     #14                  
 9282 | 35           leaderboard_aux.s    237 | Code        | 11 |         |    2 | 00/DA04 : B1 FA       | ozunid_58                LDA     ({$FA}),Y            
 9283 | 35           leaderboard_aux.s    238 | Code        | 11 |         |    3 | 00/DA06 : 99 E6 1F    |                          STA     {$1FE3}+3,Y          
 9284 | 35           leaderboard_aux.s    239 | Code        | 11 |         |    1 | 00/DA09 : 88          |                          DEY                          
 9285 | 35           leaderboard_aux.s    240 | Code        | 11 |         |    2 | 00/DA0A : 10 F8       |                          BPL     ozunid_58            
 9286 | 35           leaderboard_aux.s    241 | Code        | 11 |         |    3 | 00/DA0C : 9C F5 1F    |                          STZ     {$1FE3}+18           ; null-terminate name segment
 9287 | 35           leaderboard_aux.s    242 | Code        | 11 |         |    3 | 00/DA0F : AC E2 1F    |                          LDY     {$1FE2}              
 9288 | 35           leaderboard_aux.s    243 | Code        | 11 |         |    2 | 00/DA12 : C0 0F       |                          CPY     #15                  
 9289 | 35           leaderboard_aux.s    244 | Code        | 11 |         |    2 | 00/DA14 : B0 05       |                          BCS     _noCur               
 9290 | 35           leaderboard_aux.s    245 | Code        | 11 |         |    2 | 00/DA16 : A9 5F       |                          LDA     #'_'                 
 9291 | 35           leaderboard_aux.s    246 | Code        | 11 |         |    3 | 00/DA18 : 99 E6 1F    |                          STA     {$1FE3}+3,Y          
 9292 | 35           leaderboard_aux.s    247 | Code        | 11 |         |    2 | 00/DA1B : A9 E6       | _noCur                   LDA     #<{$1FE3}+3          
 9293 | 35           leaderboard_aux.s    248 | Code        | 11 |         |    2 | 00/DA1D : 85 04       |                          STA     {$04}                
 9294 | 35           leaderboard_aux.s    249 | Code        | 11 |         |    2 | 00/DA1F : A9 1F       |                          LDA     #>{$1FE3}+3          
 9295 | 35           leaderboard_aux.s    250 | Code        | 11 |         |    2 | 00/DA21 : 85 05       |                          STA     {$04}+1              
 9296 | 35           leaderboard_aux.s    251 | Code        | 11 |         |    3 | 00/DA23 : AD E1 1F    |                          LDA     {$1FE1}              
 9297 | 35           leaderboard_aux.s    252 | Code        | 11 |         |    1 | 00/DA26 : 18          |                          CLC                          
 9298 | 35           leaderboard_aux.s    253 | Code        | 11 |         |    2 | 00/DA27 : 69 03       |                          ADC     #3                   
 9299 | 35           leaderboard_aux.s    254 | Code        | 11 |         |    2 | 00/DA29 : A2 07       |                          LDX     #7                   
 9300 | 35           leaderboard_aux.s    255 | Code        | 11 |         |    3 | 00/DA2B : 4C 55 D2    |                          JMP     DrawTextAt           
 9301 | 35           leaderboard_aux.s    256 | Empty       | 11 |         |    0 | 00/DA2E               |                                                       
 9302 | 35           leaderboard_aux.s    257 | Comment     | 11 |         |    0 | 00/DA2E               | *----------------------------------------------
 9303 | 35           leaderboard_aux.s    258 | Comment     | 11 |         |    0 | 00/DA2E               | * _BuildRow - Fill HiScoreRowBuf for rank in A.
 9304 | 35           leaderboard_aux.s    259 | Comment     | 11 |         |    0 | 00/DA2E               | * Layout: 2 rank + 1 sp + 15 name + 1 sp + 8 score + 1 null.
 9305 | 35           leaderboard_aux.s    260 | Comment     | 11 |         |    0 | 00/DA2E               | *----------------------------------------------
 9306 | 35           leaderboard_aux.s    261 | Empty       | 11 |         |    0 | 00/DA2E               | _BuildRow                                             
 9307 | 35           leaderboard_aux.s    262 | Code        | 11 |         |    1 | 00/DA2E : AA          |                          TAX                          
 9308 | 35           leaderboard_aux.s    263 | Code        | 11 |         |    1 | 00/DA2F : E8          |                          INX                          ; X = rank+1 (1..10)
 9309 | 35           leaderboard_aux.s    264 | Code        | 11 |         |    3 | 00/DA30 : BD B2 D8    |                          LDA     SlotOfs-1,X          ; = SlotOfs[rank]; max 171+$23=194<256, no carry
 9310 | 35           leaderboard_aux.s    265 | Code        | 11 |         |    1 | 00/DA33 : 18          |                          CLC                          
 9311 | 35           leaderboard_aux.s    266 | Code        | 11 |         |    2 | 00/DA34 : 69 23       |                          ADC     #<{$1F23}            
 9312 | 35           leaderboard_aux.s    267 | Code        | 11 |         |    2 | 00/DA36 : 85 18       |                          STA     {$18}                
 9313 | 35           leaderboard_aux.s    268 | Code        | 11 |         |    2 | 00/DA38 : A9 1F       |                          LDA     #>{$1F23}            
 9314 | 35           leaderboard_aux.s    269 | Code        | 11 |         |    2 | 00/DA3A : 85 19       |                          STA     {$19}                
 9315 | 35           leaderboard_aux.s    270 | Comment     | 11 |         |    0 | 00/DA3C               |          ; Rank display: " N" for 1..9, "10" for rank 9. X still holds rank+1.
 9316 | 35           leaderboard_aux.s    271 | Code        | 11 |         |    2 | 00/DA3C : A9 20       |                          LDA     #' '                 
 9317 | 35           leaderboard_aux.s    272 | Code        | 11 |         |    3 | 00/DA3E : 8D E3 1F    |                          STA     {$1FE3}              
 9318 | 35           leaderboard_aux.s    273 | Code        | 11 |         |    2 | 00/DA41 : E0 0A       |                          CPX     #10                  
 9319 | 35           leaderboard_aux.s    274 | Code        | 11 |         |    2 | 00/DA43 : 90 07       |                          BCC     _single              
 9320 | 35           leaderboard_aux.s    275 | Code        | 11 |         |    2 | 00/DA45 : A9 31       |                          LDA     #'1'                 
 9321 | 35           leaderboard_aux.s    276 | Code        | 11 |         |    3 | 00/DA47 : 8D E3 1F    |                          STA     {$1FE3}              
 9322 | 35           leaderboard_aux.s    277 | Code        | 11 |         |    2 | 00/DA4A : A2 00       |                          LDX     #0                   ; ones digit becomes '0' via ORA below
 9323 | 35           leaderboard_aux.s    278 | Code        | 11 |         |    1 | 00/DA4C : 8A          | _single                  TXA                          
 9324 | 35           leaderboard_aux.s    279 | Code        | 11 |         |    2 | 00/DA4D : 09 30       |                          ORA     #'0'                 
 9325 | 35           leaderboard_aux.s    280 | Code        | 11 |         |    3 | 00/DA4F : 8D E4 1F    |                          STA     {$1FE3}+1            
 9326 | 35           leaderboard_aux.s    281 | Code        | 11 |         |    2 | 00/DA52 : A9 20       |                          LDA     #' '                 
 9327 | 35           leaderboard_aux.s    282 | Code        | 11 |         |    3 | 00/DA54 : 8D E5 1F    |                          STA     {$1FE3}+2            
 9328 | 35           leaderboard_aux.s    283 | Code        | 11 |         |    3 | 00/DA57 : 8D F5 1F    |                          STA     {$1FE3}+18           
 9329 | 35           leaderboard_aux.s    284 | Code        | 11 |         |    2 | 00/DA5A : A0 00       |                          LDY     #0                   
 9330 | 35           leaderboard_aux.s    285 | Code        | 11 |         |    2 | 00/DA5C : B1 18       | _nm                      LDA     ({$18}),Y            
 9331 | 35           leaderboard_aux.s    286 | Code        | 11 |         |    3 | 00/DA5E : 99 E6 1F    |                          STA     {$1FE3}+3,Y          
 9332 | 35           leaderboard_aux.s    287 | Code        | 11 |         |    1 | 00/DA61 : C8          |                          INY                          
 9333 | 35           leaderboard_aux.s    288 | Code        | 11 |         |    2 | 00/DA62 : C0 0F       |                          CPY     #15                  
 9334 | 35           leaderboard_aux.s    289 | Code        | 11 |         |    2 | 00/DA64 : D0 F6       |                          BNE     _nm                  
 9335 | 35           leaderboard_aux.s    290 | Code        | 11 |         |    2 | 00/DA66 : A0 12       |                          LDY     #18                  
 9336 | 35           leaderboard_aux.s    291 | Code        | 11 |         |    2 | 00/DA68 : A2 00       |                          LDX     #0                   
 9337 | 35           leaderboard_aux.s    292 | Code        | 11 |         |    2 | 00/DA6A : B1 18       | ozunid_59                LDA     ({$18}),Y            
 9338 | 35           leaderboard_aux.s    293 | Code        | 11 |         |    1 | 00/DA6C : 48          |                          PHA                          
 9339 | 35           leaderboard_aux.s    294 | Code        | 11 |         |    1 | 00/DA6D : 4A          |                          LSR                          
 9340 | 35           leaderboard_aux.s    295 | Code        | 11 |         |    1 | 00/DA6E : 4A          |                          LSR                          
 9341 | 35           leaderboard_aux.s    296 | Code        | 11 |         |    1 | 00/DA6F : 4A          |                          LSR                          
 9342 | 35           leaderboard_aux.s    297 | Code        | 11 |         |    1 | 00/DA70 : 4A          |                          LSR                          
 9343 | 35           leaderboard_aux.s    298 | Code        | 11 |         |    2 | 00/DA71 : 09 30       |                          ORA     #'0'                 
 9344 | 35           leaderboard_aux.s    299 | Code        | 11 |         |    3 | 00/DA73 : 9D F6 1F    |                          STA     {$1FE3}+19,X         
 9345 | 35           leaderboard_aux.s    300 | Code        | 11 |         |    1 | 00/DA76 : E8          |                          INX                          
 9346 | 35           leaderboard_aux.s    301 | Code        | 11 |         |    1 | 00/DA77 : 68          |                          PLA                          
 9347 | 35           leaderboard_aux.s    302 | Code        | 11 |         |    2 | 00/DA78 : 29 0F       |                          AND     #$0F                 
 9348 | 35           leaderboard_aux.s    303 | Code        | 11 |         |    2 | 00/DA7A : 09 30       |                          ORA     #'0'                 
 9349 | 35           leaderboard_aux.s    304 | Code        | 11 |         |    3 | 00/DA7C : 9D F6 1F    |                          STA     {$1FE3}+19,X         
 9350 | 35           leaderboard_aux.s    305 | Code        | 11 |         |    1 | 00/DA7F : E8          |                          INX                          
 9351 | 35           leaderboard_aux.s    306 | Code        | 11 |         |    1 | 00/DA80 : 88          |                          DEY                          
 9352 | 35           leaderboard_aux.s    307 | Code        | 11 |         |    2 | 00/DA81 : C0 0E       |                          CPY     #14                  
 9353 | 35           leaderboard_aux.s    308 | Code        | 11 |         |    2 | 00/DA83 : D0 E5       |                          BNE     ozunid_59            
 9354 | 35           leaderboard_aux.s    309 | Code        | 11 |         |    1 | 00/DA85 : 60          |                          RTS                          
 9355 | 35           leaderboard_aux.s    310 | Empty       | 11 |         |    0 | 00/DA86               |                                                       
 9356 | 35           leaderboard_aux.s    311 | Comment     | 11 |         |    0 | 00/DA86               | *----------------------------------------------
 9357 | 35           leaderboard_aux.s    312 | Comment     | 11 |         |    0 | 00/DA86               | * _AcceptChar - Uppercase lowercase then accept printable $20..$5A.
 9358 | 35           leaderboard_aux.s    313 | Comment     | 11 |         |    0 | 00/DA86               | * Writes to HiScoreTbl[HiScoreNewRank].name[HiScoreCur] if < 15.
 9359 | 35           leaderboard_aux.s    314 | Comment     | 11 |         |    0 | 00/DA86               | *----------------------------------------------
 9360 | 35           leaderboard_aux.s    315 | Empty       | 11 |         |    0 | 00/DA86               | _AcceptChar                                           
 9361 | 35           leaderboard_aux.s    316 | Code        | 11 |         |    2 | 00/DA86 : C9 61       |                          CMP     #'a'                 
 9362 | 35           leaderboard_aux.s    317 | Code        | 11 |         |    2 | 00/DA88 : 90 06       |                          BCC     _skipUp              
 9363 | 35           leaderboard_aux.s    318 | Code        | 11 |         |    2 | 00/DA8A : C9 7B       |                          CMP     #'z'+1               
 9364 | 35           leaderboard_aux.s    319 | Code        | 11 |         |    2 | 00/DA8C : B0 02       |                          BCS     _skipUp              
 9365 | 35           leaderboard_aux.s    320 | Code        | 11 |         |    2 | 00/DA8E : 29 DF       |                          AND     #$DF                 
 9366 | 35           leaderboard_aux.s    321 | Code        | 11 |         |    2 | 00/DA90 : C9 20       | _skipUp                  CMP     #' '                 
 9367 | 35           leaderboard_aux.s    322 | Code        | 11 |         |    2 | 00/DA92 : 90 10       |                          BCC     _rej                 
 9368 | 35           leaderboard_aux.s    323 | Code        | 11 |         |    2 | 00/DA94 : C9 5B       |                          CMP     #'['                 
 9369 | 35           leaderboard_aux.s    324 | Code        | 11 |         |    2 | 00/DA96 : B0 0C       |                          BCS     _rej                 
 9370 | 35           leaderboard_aux.s    325 | Code        | 11 |         |    3 | 00/DA98 : AC E2 1F    |                          LDY     {$1FE2}              
 9371 | 35           leaderboard_aux.s    326 | Code        | 11 |         |    2 | 00/DA9B : C0 0F       |                          CPY     #15                  
 9372 | 35           leaderboard_aux.s    327 | Code        | 11 |         |    2 | 00/DA9D : B0 05       |                          BCS     _rej                 
 9373 | 35           leaderboard_aux.s    328 | Code        | 11 |         |    2 | 00/DA9F : 91 FA       |                          STA     ({$FA}),Y            
 9374 | 35           leaderboard_aux.s    329 | Code        | 11 |         |    3 | 00/DAA1 : EE E2 1F    |                          INC     {$1FE2}              
 9375 | 35           leaderboard_aux.s    330 | Code        | 11 |         |    1 | 00/DAA4 : 60          | _rej                     RTS                          
 9376 | 35           leaderboard_aux.s    331 | Empty       | 11 |         |    0 | 00/DAA5               |                                                       
 9377 |  1                    bagman.s     90 | Empty       | 11 |         |    0 | 00/DAA5               | ozunid_93                                             
 9378 |  1                    bagman.s     90 | Equivalence | 11 |         |    0 | 00/DAA5               | AuxColdLen               =       ozunid_93-{$D100}    
 9379 |  1                    bagman.s     91 | Equivalence | 11 |         |    0 | 00/DAA5               | AuxColdPages             =       {ozunid_93-{$D100}}/256+1
 9380 |  1                    bagman.s     92 | Empty       | 11 |         |    0 | 00/DAA5               |                                                       
 9381 |  1                    bagman.s     93 | Comment     | 11 |         |    0 | 00/DAA5               | * --- Music player + song data in AUX Language Card ---
 9382 |  1                    bagman.s     94 | Comment     | 11 |         |    0 | 00/DAA5               | * Copied to aux LC during init via ALTZP.
 9383 |  1                    bagman.s     95 | Comment     | 11 |         |    0 | 00/DAA5               | * PlayMusic trampoline in $1800 block handles the switch.
 9384 |  1                    bagman.s     96 | Equivalence | 11 |         |    0 | 00/DAA5               | AuxMusicDest             =       $E660                
 9385 |  1                    bagman.s     97 | Equivalence | 11 |         |    0 | 00/DAA5               | AuxMusicBinSrc           =       StubEnd+{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}
 9386 |  1                    bagman.s     98 | Directive   | 11 |         |    0 | 00/DAA5               |                          ORG     {$E660}              
 9387 |  1                    bagman.s     99 | Directive   | 11 |         |    0 | 00/E660               |                          PUT     music.s              
 9388 | 36                     music.s      1 | Comment     | 11 |         |    0 | 00/E660               | *
 9389 | 36                     music.s      2 | Comment     | 11 |         |    0 | 00/E660               | * Bagman - Music Player
 9390 | 36                     music.s      3 | Comment     | 11 |         |    0 | 00/E660               | *
 9391 | 36                     music.s      4 | Comment     | 11 |         |    0 | 00/E660               | * Alex Patalenski's improved Electric Duet player
 9392 | 36                     music.s      5 | Comment     | 11 |         |    0 | 00/E660               | * Eliminates 14,080 Hz noise artifact from original Paul Lutus version
 9393 | 36                     music.s      6 | Comment     | 11 |         |    0 | 00/E660               | * Source: github.com/zajo/appler (readme, section III)
 9394 | 36                     music.s      7 | Comment     | 11 |         |    0 | 00/E660               | *
 9395 | 36                     music.s      8 | Comment     | 11 |         |    0 | 00/E660               | * Two-voice music through Apple II speaker ($C030)
 9396 | 36                     music.s      9 | Comment     | 11 |         |    0 | 00/E660               | * Blocking playback - returns on song end or keypress
 9397 | 36                     music.s     10 | Comment     | 11 |         |    0 | 00/E660               | *
 9398 | 36                     music.s     11 | Comment     | 11 |         |    0 | 00/E660               | * Data format: 3 bytes per note group
 9399 | 36                     music.s     12 | Comment     | 11 |         |    0 | 00/E660               | *   [duration] [voice1_freq] [voice2_freq]
 9400 | 36                     music.s     13 | Comment     | 11 |         |    0 | 00/E660               | *   duration=0 terminates song
 9401 | 36                     music.s     14 | Comment     | 11 |         |    0 | 00/E660               | *   freq=0 silences that voice
 9402 | 36                     music.s     15 | Comment     | 11 |         |    0 | 00/E660               | *
 9403 | 36                     music.s     16 | Empty       | 11 |         |    0 | 00/E660               |                                                       
 9404 | 36                     music.s     17 | Comment     | 11 |         |    0 | 00/E660               | *----------------------------------------------
 9405 | 36                     music.s     18 | Comment     | 11 |         |    0 | 00/E660               | * AuxPlayMusic - Play a tune (blocking)
 9406 | 36                     music.s     19 | Comment     | 11 |         |    0 | 00/E660               | *   Runs in AUX LC via ALTZP.  Called by PlayMusic
 9407 | 36                     music.s     20 | Comment     | 11 |         |    0 | 00/E660               | *   trampoline in main RAM.
 9408 | 36                     music.s     21 | Comment     | 11 |         |    0 | 00/E660               | *   A = low byte of music data address
 9409 | 36                     music.s     22 | Comment     | 11 |         |    0 | 00/E660               | *   X = high byte of music data address
 9410 | 36                     music.s     23 | Comment     | 11 |         |    0 | 00/E660               | * Returns when song ends or key is pressed
 9411 | 36                     music.s     24 | Comment     | 11 |         |    0 | 00/E660               | *----------------------------------------------
 9412 | 36                     music.s     25 | Empty       | 11 |         |    0 | 00/E660               | AuxPlayMusic                                          
 9413 | 36                     music.s     26 | Code        | 11 |         |    2 | 00/E660 : 85 E0       |                          STA     {$E0}                
 9414 | 36                     music.s     27 | Code        | 11 |         |    2 | 00/E662 : 86 E1       |                          STX     {$E0}+1              
 9415 | 36                     music.s     28 | Comment     | 11 |         |    0 | 00/E664               | * Fall through to EDPlayer
 9416 | 36                     music.s     29 | Empty       | 11 |         |    0 | 00/E664               |                                                       
 9417 | 36                     music.s     30 | Comment     | 11 |         |    0 | 00/E664               | *----------------------------------------------
 9418 | 36                     music.s     31 | Comment     | 11 |         |    0 | 00/E664               | * ResumeMusic - Re-enter player without rewinding MusicPtr.
 9419 | 36                     music.s     32 | Comment     | 11 |         |    0 | 00/E664               | * Caller leaves the aux-ZP MusicPtr alone, so playback picks up
 9420 | 36                     music.s     33 | Comment     | 11 |         |    0 | 00/E664               | * at whichever note NotesLeft previously stopped on.
 9421 | 36                     music.s     34 | Comment     | 11 |         |    0 | 00/E664               | * NotesLeft (main RAM $03AC) controls optional early-exit.
 9422 | 36                     music.s     35 | Comment     | 11 |         |    0 | 00/E664               | *----------------------------------------------
 9423 | 36                     music.s     36 | Empty       | 11 |         |    0 | 00/E664               | ResumeMusic                                           
 9424 | 36                     music.s     37 | Comment     | 11 |         |    0 | 00/E664               | * Fall through to EDPlayer
 9425 | 36                     music.s     38 | Empty       | 11 |         |    0 | 00/E664               |                                                       
 9426 | 36                     music.s     39 | Comment     | 11 |         |    0 | 00/E664               | *----------------------------------------------
 9427 | 36                     music.s     40 | Comment     | 11 |         |    0 | 00/E664               | * EDPlayer - Core player routine
 9428 | 36                     music.s     41 | Comment     | 11 |         |    0 | 00/E664               | * Zero page: MusicPtr ($E0-$E1), $E2-$E8
 9429 | 36                     music.s     42 | Comment     | 11 |         |    0 | 00/E664               | * Self-modifying code patches BIT/EOR instructions
 9430 | 36                     music.s     43 | Comment     | 11 |         |    0 | 00/E664               | * to enable/disable speaker toggle per voice
 9431 | 36                     music.s     44 | Comment     | 11 |         |    0 | 00/E664               | *----------------------------------------------
 9432 | 36                     music.s     45 | Empty       | 11 |         |    0 | 00/E664               | EDPlayer                                              
 9433 | 36                     music.s     46 | Code        | 11 |         |    2 | 00/E664 : A9 00       |                          LDA     #$00                 
 9434 | 36                     music.s     47 | Code        | 11 |         |    2 | 00/E666 : 85 E8       |                          STA     {$E8}                
 9435 | 36                     music.s     48 | Code        | 11 |         |    2 | 00/E668 : 85 E6       |                          STA     {$E6}                
 9436 | 36                     music.s     49 | Code        | 11 |         |    2 | 00/E66A : 85 E7       |                          STA     {$E7}                
 9437 | 36                     music.s     50 | Empty       | 11 |         |    0 | 00/E66C               | EDNextNote                                            
 9438 | 36                     music.s     51 | Code        | 11 |         |    2 | 00/E66C : A0 00       |                          LDY     #$00                 
 9439 | 36                     music.s     52 | Code        | 11 |         |    2 | 00/E66E : B1 E0       |                          LDA     ({$E0}),Y            ; read duration byte
 9440 | 36                     music.s     53 | Code        | 11 |         |    2 | 00/E670 : D0 01       |                          BNE     EDGotNote            
 9441 | 36                     music.s     54 | Code        | 11 |         |    1 | 00/E672 : 60          | EDExit                   RTS                          ; duration=0 or keypress → done
 9442 | 36                     music.s     55 | Empty       | 11 |         |    0 | 00/E673               | EDGotNote                                             
 9443 | 36                     music.s     56 | Code        | 11 |         |    2 | 00/E673 : 85 E2       |                          STA     {$E2}                
 9444 | 36                     music.s     57 | Code        | 11 |         |    3 | 00/E675 : AD 00 C0    |                          LDA     $C000                ; check keyboard
 9445 | 36                     music.s     58 | Code        | 11 |         |    2 | 00/E678 : 30 F8       |                          BMI     EDExit               ; key pressed → exit
 9446 | 36                     music.s     59 | Comment     | 11 |         |    0 | 00/E67A               | * Read voice 1 frequency
 9447 | 36                     music.s     60 | Code        | 11 |         |    2 | 00/E67A : A2 00       |                          LDX     #$00                 
 9448 | 36                     music.s     61 | Code        | 11 |         |    3 | 00/E67C : 20 22 E7    |                          JSR     EDReadVoice          
 9449 | 36                     music.s     62 | Code        | 11 |         |    3 | 00/E67F : 8D B0 E6    |                          STA     EDV1Spk1+1           ; patch BIT low byte
 9450 | 36                     music.s     63 | Code        | 11 |         |    3 | 00/E682 : 8D C0 E6    |                          STA     EDV1Spk2+1           
 9451 | 36                     music.s     64 | Code        | 11 |         |    3 | 00/E685 : 8E B3 E6    |                          STX     EDV1Eor1+1           ; patch EOR operand
 9452 | 36                     music.s     65 | Code        | 11 |         |    3 | 00/E688 : 8E C3 E6    |                          STX     EDV1Eor2+1           
 9453 | 36                     music.s     66 | Comment     | 11 |         |    0 | 00/E68B               | * Read voice 2 frequency
 9454 | 36                     music.s     67 | Code        | 11 |         |    2 | 00/E68B : A2 01       |                          LDX     #$01                 
 9455 | 36                     music.s     68 | Code        | 11 |         |    3 | 00/E68D : 20 22 E7    |                          JSR     EDReadVoice          
 9456 | 36                     music.s     69 | Code        | 11 |         |    3 | 00/E690 : 8D DA E6    |                          STA     EDV2Spk1+1           
 9457 | 36                     music.s     70 | Code        | 11 |         |    3 | 00/E693 : 8D EA E6    |                          STA     EDV2Spk2+1           
 9458 | 36                     music.s     71 | Code        | 11 |         |    3 | 00/E696 : 8E DD E6    |                          STX     EDV2Eor1+1           
 9459 | 36                     music.s     72 | Code        | 11 |         |    3 | 00/E699 : 8E ED E6    |                          STX     EDV2Eor2+1           
 9460 | 36                     music.s     73 | Comment     | 11 |         |    0 | 00/E69C               | * Inner loop - generate audio for this note group
 9461 | 36                     music.s     74 | Code        | 11 |         |    2 | 00/E69C : A9 00       |                          LDA     #$00                 
 9462 | 36                     music.s     75 | Code        | 11 |         |    2 | 00/E69E : A2 8A       |                          LDX     #$8A                 ; voice 2 counter init
 9463 | 36                     music.s     76 | Code        | 11 |         |    2 | 00/E6A0 : A0 40       |                          LDY     #$40                 ; voice 1 counter init
 9464 | 36                     music.s     77 | Code        | 11 |         |    2 | 00/E6A2 : 85 E3       |                          STA     {$E3}                
 9465 | 36                     music.s     78 | Comment     | 11 |         |    0 | 00/E6A4               | *--- Audio sample loop (cycle-counted) ---
 9466 | 36                     music.s     79 | Code        | 11 |         |    2 | 00/E6A4 : 85 E8       | EDLoop                   STA     {$E8}                
 9467 | 36                     music.s     80 | Code        | 11 |         |    1 | 00/E6A6 : 88          |                          DEY                          
 9468 | 36                     music.s     81 | Code        | 11 |         |    2 | 00/E6A7 : D0 0E       |                          BNE     EDChkD1              
 9469 | 36                     music.s     82 | Comment     | 11 |         |    0 | 00/E6A9               | * Voice 1 period expired - reload counter, maybe toggle
 9470 | 36                     music.s     83 | Code        | 11 |         |    2 | 00/E6A9 : A4 E4       |                          LDY     {$E4}                
 9471 | 36                     music.s     84 | Code        | 11 |         |    2 | 00/E6AB : 24 E8       |                          BIT     {$E8}                
 9472 | 36                     music.s     85 | Code        | 11 |         |    2 | 00/E6AD : 30 19       |                          BMI     EDV1Sk1              
 9473 | 36                     music.s     86 | Code        | 11 |         |    3 | 00/E6AF : 2C 30 C0    | EDV1Spk1                 BIT     $C030                
 9474 | 36                     music.s     87 | Code        | 11 |         |    2 | 00/E6B2 : 49 A0       | EDV1Eor1                 EOR     #$A0                 
 9475 | 36                     music.s     88 | Code        | 11 |         |    3 | 00/E6B4 : 4C CC E6    |                          JMP     EDV1D1               
 9476 | 36                     music.s     89 | Code        | 11 |         |    2 | 00/E6B7 : C4 E6       | EDChkD1                  CPY     {$E6}                
 9477 | 36                     music.s     90 | Code        | 11 |         |    2 | 00/E6B9 : D0 0C       |                          BNE     EDV1Nop              
 9478 | 36                     music.s     91 | Code        | 11 |         |    2 | 00/E6BB : 24 E8       |                          BIT     {$E8}                
 9479 | 36                     music.s     92 | Code        | 11 |         |    2 | 00/E6BD : 10 0A       |                          BPL     EDV1Sk2              
 9480 | 36                     music.s     93 | Code        | 11 |         |    3 | 00/E6BF : 2C 30 C0    | EDV1Spk2                 BIT     $C030                
 9481 | 36                     music.s     94 | Code        | 11 |         |    2 | 00/E6C2 : 49 A0       | EDV1Eor2                 EOR     #$A0                 
 9482 | 36                     music.s     95 | Code        | 11 |         |    3 | 00/E6C4 : 4C CD E6    |                          JMP     EDV1D2               
 9483 | 36                     music.s     96 | Code        | 11 |         |    1 | 00/E6C7 : EA          | EDV1Nop                  NOP                          
 9484 | 36                     music.s     97 | Code        | 11 |         |    1 | 00/E6C8 : EA          | EDV1Sk1                  NOP                          
 9485 | 36                     music.s     98 | Code        | 11 |         |    1 | 00/E6C9 : EA          | EDV1Sk2                  NOP                          
 9486 | 36                     music.s     99 | Code        | 11 |         |    1 | 00/E6CA : EA          |                          NOP                          
 9487 | 36                     music.s    100 | Code        | 11 |         |    1 | 00/E6CB : EA          |                          NOP                          
 9488 | 36                     music.s    101 | Code        | 11 |         |    1 | 00/E6CC : EA          | EDV1D1                   NOP                          
 9489 | 36                     music.s    102 | Code        | 11 |         |    1 | 00/E6CD : EA          | EDV1D2                   NOP                          
 9490 | 36                     music.s    103 | Comment     | 11 |         |    0 | 00/E6CE               | * Voice 2
 9491 | 36                     music.s    104 | Code        | 11 |         |    2 | 00/E6CE : 85 E8       |                          STA     {$E8}                
 9492 | 36                     music.s    105 | Code        | 11 |         |    1 | 00/E6D0 : CA          |                          DEX                          
 9493 | 36                     music.s    106 | Code        | 11 |         |    2 | 00/E6D1 : D0 0E       |                          BNE     EDChkD2              
 9494 | 36                     music.s    107 | Comment     | 11 |         |    0 | 00/E6D3               | * Voice 2 period expired
 9495 | 36                     music.s    108 | Code        | 11 |         |    2 | 00/E6D3 : A6 E5       |                          LDX     {$E5}                
 9496 | 36                     music.s    109 | Code        | 11 |         |    2 | 00/E6D5 : 24 E8       |                          BIT     {$E8}                
 9497 | 36                     music.s    110 | Code        | 11 |         |    2 | 00/E6D7 : 30 19       |                          BMI     EDV2Sk1              
 9498 | 36                     music.s    111 | Code        | 11 |         |    3 | 00/E6D9 : 2C 30 C0    | EDV2Spk1                 BIT     $C030                
 9499 | 36                     music.s    112 | Code        | 11 |         |    2 | 00/E6DC : 49 A0       | EDV2Eor1                 EOR     #$A0                 
 9500 | 36                     music.s    113 | Code        | 11 |         |    3 | 00/E6DE : 4C F6 E6    |                          JMP     EDV2D1               
 9501 | 36                     music.s    114 | Code        | 11 |         |    2 | 00/E6E1 : E4 E7       | EDChkD2                  CPX     {$E7}                
 9502 | 36                     music.s    115 | Code        | 11 |         |    2 | 00/E6E3 : D0 0C       |                          BNE     EDV2Nop              
 9503 | 36                     music.s    116 | Code        | 11 |         |    2 | 00/E6E5 : 24 E8       |                          BIT     {$E8}                
 9504 | 36                     music.s    117 | Code        | 11 |         |    2 | 00/E6E7 : 10 0A       |                          BPL     EDV2Sk2              
 9505 | 36                     music.s    118 | Code        | 11 |         |    3 | 00/E6E9 : 2C 30 C0    | EDV2Spk2                 BIT     $C030                
 9506 | 36                     music.s    119 | Code        | 11 |         |    2 | 00/E6EC : 49 A0       | EDV2Eor2                 EOR     #$A0                 
 9507 | 36                     music.s    120 | Code        | 11 |         |    3 | 00/E6EE : 4C F7 E6    |                          JMP     EDV2D2               
 9508 | 36                     music.s    121 | Code        | 11 |         |    1 | 00/E6F1 : EA          | EDV2Nop                  NOP                          
 9509 | 36                     music.s    122 | Code        | 11 |         |    1 | 00/E6F2 : EA          | EDV2Sk1                  NOP                          
 9510 | 36                     music.s    123 | Code        | 11 |         |    1 | 00/E6F3 : EA          | EDV2Sk2                  NOP                          
 9511 | 36                     music.s    124 | Code        | 11 |         |    1 | 00/E6F4 : EA          |                          NOP                          
 9512 | 36                     music.s    125 | Code        | 11 |         |    1 | 00/E6F5 : EA          |                          NOP                          
 9513 | 36                     music.s    126 | Code        | 11 |         |    1 | 00/E6F6 : EA          | EDV2D1                   NOP                          
 9514 | 36                     music.s    127 | Code        | 11 |         |    1 | 00/E6F7 : EA          | EDV2D2                   NOP                          
 9515 | 36                     music.s    128 | Comment     | 11 |         |    0 | 00/E6F8               | * Duration countdown
 9516 | 36                     music.s    129 | Code        | 11 |         |    2 | 00/E6F8 : C6 E3       |                          DEC     {$E3}                
 9517 | 36                     music.s    130 | Code        | 11 |         |    2 | 00/E6FA : D0 07       |                          BNE     EDNotDur             
 9518 | 36                     music.s    131 | Code        | 11 |         |    2 | 00/E6FC : C6 E2       |                          DEC     {$E2}                
 9519 | 36                     music.s    132 | Code        | 11 |         |    2 | 00/E6FE : F0 09       |                          BEQ     EDNextGrp            
 9520 | 36                     music.s    133 | Code        | 11 |         |    3 | 00/E700 : 4C A4 E6    |                          JMP     EDLoop               
 9521 | 36                     music.s    134 | Code        | 11 |         |    1 | 00/E703 : EA          | EDNotDur                 NOP                          
 9522 | 36                     music.s    135 | Code        | 11 |         |    1 | 00/E704 : EA          |                          NOP                          
 9523 | 36                     music.s    136 | Code        | 11 |         |    1 | 00/E705 : EA          |                          NOP                          
 9524 | 36                     music.s    137 | Code        | 11 |         |    3 | 00/E706 : 4C A4 E6    |                          JMP     EDLoop               
 9525 | 36                     music.s    138 | Comment     | 11 |         |    0 | 00/E709               | * Advance data pointer by 3 bytes, fetch next note
 9526 | 36                     music.s    139 | Empty       | 11 |         |    0 | 00/E709               | EDNextGrp                                             
 9527 | 36                     music.s    140 | Code        | 11 |         |    2 | 00/E709 : A5 E0       |                          LDA     {$E0}                
 9528 | 36                     music.s    141 | Code        | 11 |         |    1 | 00/E70B : 18          |                          CLC                          
 9529 | 36                     music.s    142 | Code        | 11 |         |    2 | 00/E70C : 69 03       |                          ADC     #$03                 
 9530 | 36                     music.s    143 | Code        | 11 |         |    2 | 00/E70E : 85 E0       |                          STA     {$E0}                
 9531 | 36                     music.s    144 | Code        | 11 |         |    2 | 00/E710 : 90 02       |                          BCC     EDNoCarry            
 9532 | 36                     music.s    145 | Code        | 11 |         |    2 | 00/E712 : E6 E1       |                          INC     {$E0}+1              
 9533 | 36                     music.s    146 | Empty       | 11 |         |    0 | 00/E714               | EDNoCarry                                             
 9534 | 36                     music.s    147 | Comment     | 11 |         |    0 | 00/E714               | * Note-count early-exit (attract mode). NotesLeft=0 disables the limit.
 9535 | 36                     music.s    148 | Code        | 11 |         |    3 | 00/E714 : AD AC 03    |                          LDA     {$03AC}              
 9536 | 36                     music.s    149 | Code        | 11 |         |    2 | 00/E717 : F0 06       |                          BEQ     EDNoLimit            
 9537 | 36                     music.s    150 | Code        | 11 |         |    3 | 00/E719 : CE AC 03    |                          DEC     {$03AC}              
 9538 | 36                     music.s    151 | Code        | 11 |         |    2 | 00/E71C : D0 01       |                          BNE     EDNoLimit            
 9539 | 36                     music.s    152 | Code        | 11 |         |    1 | 00/E71E : 60          |                          RTS                          ; reached note budget -> exit
 9540 | 36                     music.s    153 | Empty       | 11 |         |    0 | 00/E71F               | EDNoLimit                                             
 9541 | 36                     music.s    154 | Code        | 11 |         |    3 | 00/E71F : 4C 6C E6    |                          JMP     EDNextNote           
 9542 | 36                     music.s    155 | Empty       | 11 |         |    0 | 00/E722               |                                                       
 9543 | 36                     music.s    156 | Comment     | 11 |         |    0 | 00/E722               | *----------------------------------------------
 9544 | 36                     music.s    157 | Comment     | 11 |         |    0 | 00/E722               | * EDReadVoice - Read frequency byte, compute duty cycle
 9545 | 36                     music.s    158 | Comment     | 11 |         |    0 | 00/E722               | *   X = voice index (0=voice1, 1=voice2)
 9546 | 36                     music.s    159 | Comment     | 11 |         |    0 | 00/E722               | *   Y = current data offset (incremented)
 9547 | 36                     music.s    160 | Comment     | 11 |         |    0 | 00/E722               | * Returns:
 9548 | 36                     music.s    161 | Comment     | 11 |         |    0 | 00/E722               | *   A = $30 (speaker addr low) if active, else $00
 9549 | 36                     music.s    162 | Comment     | 11 |         |    0 | 00/E722               | *   X = $A0 (EOR toggle) if active, else original X
 9550 | 36                     music.s    163 | Comment     | 11 |         |    0 | 00/E722               | *----------------------------------------------
 9551 | 36                     music.s    164 | Empty       | 11 |         |    0 | 00/E722               | EDReadVoice                                           
 9552 | 36                     music.s    165 | Code        | 11 |         |    1 | 00/E722 : C8          |                          INY                          
 9553 | 36                     music.s    166 | Code        | 11 |         |    2 | 00/E723 : B1 E0       |                          LDA     ({$E0}),Y            ; read frequency byte
 9554 | 36                     music.s    167 | Code        | 11 |         |    1 | 00/E725 : 08          |                          PHP                          
 9555 | 36                     music.s    168 | Code        | 11 |         |    2 | 00/E726 : 95 E4       |                          STA     {$E4},X              ; store raw freq (indexed)
 9556 | 36                     music.s    169 | Code        | 11 |         |    2 | 00/E728 : C9 05       |                          CMP     #$05                 
 9557 | 36                     music.s    170 | Code        | 11 |         |    2 | 00/E72A : 90 02       |                          BCC     _noExtra             
 9558 | 36                     music.s    171 | Code        | 11 |         |    1 | 00/E72C : 4A          |                          LSR                          ; extra shift for high freqs
 9559 | 36                     music.s    172 | Code        | 11 |         |    1 | 00/E72D : 4A          |                          LSR                          
 9560 | 36                     music.s    173 | Code        | 11 |         |    1 | 00/E72E : 4A          | _noExtra                 LSR                          
 9561 | 36                     music.s    174 | Code        | 11 |         |    1 | 00/E72F : 4A          |                          LSR                          
 9562 | 36                     music.s    175 | Code        | 11 |         |    2 | 00/E730 : 95 E6       |                          STA     {$E6},X              ; store duty threshold (indexed)
 9563 | 36                     music.s    176 | Code        | 11 |         |    1 | 00/E732 : 28          |                          PLP                          
 9564 | 36                     music.s    177 | Code        | 11 |         |    2 | 00/E733 : F0 04       |                          BEQ     _silent              ; freq=0 → voice off
 9565 | 36                     music.s    178 | Code        | 11 |         |    2 | 00/E735 : A9 30       |                          LDA     #$30                 ; low byte of $C030
 9566 | 36                     music.s    179 | Code        | 11 |         |    2 | 00/E737 : A2 A0       |                          LDX     #$A0                 ; EOR operand for toggle
 9567 | 36                     music.s    180 | Code        | 11 |         |    1 | 00/E739 : 60          | _silent                  RTS                          
 9568 | 36                     music.s    181 | Empty       | 11 |         |    0 | 00/E73A               |                                                       
 9569 |  1                    bagman.s    100 | Directive   | 11 |         |    0 | 00/E73A               |                          PUT     musicdata.s          
 9570 | 37                 musicdata.s      1 | Comment     | 11 |         |    0 | 00/E73A               | *
 9571 | 37                 musicdata.s      2 | Comment     | 11 |         |    0 | 00/E73A               | * Bagman - Music Data (Electric Duet format)
 9572 | 37                 musicdata.s      3 | Comment     | 11 |         |    0 | 00/E73A               | *
 9573 | 37                 musicdata.s      4 | Comment     | 11 |         |    0 | 00/E73A               | * Converted from original Bagman arcade AY-8910 data
 9574 | 37                 musicdata.s      5 | Comment     | 11 |         |    0 | 00/E73A               | * Format: [duration] [voice1_freq] [voice2_freq], $00=end
 9575 | 37                 musicdata.s      6 | Comment     | 11 |         |    0 | 00/E73A               | *
 9576 | 37                 musicdata.s      7 | Empty       | 11 |         |    0 | 00/E73A               |                                                       
 9577 | 37                 musicdata.s      8 | Comment     | 11 |         |    0 | 00/E73A               | * TUNE1 - Gameplay music
 9578 | 37                 musicdata.s      9 | Comment     | 11 |         |    0 | 00/E73A               | * 79 notes, 238 bytes
 9579 | 37                 musicdata.s     10 | Empty       | 11 |         |    0 | 00/E73A               | Tune1Data                                             
 9580 | 37                 musicdata.s     11 | Data        | 11 |         |   12 | 00/E73A : 0A 00 14 0A |                          DFB     $0A,$00,$14,$0A,$00,$00,$0A,$00,$00,$0A,$00,$1B
      |                                       |             |    |         |      |           00 00 0A 00 |
      |                                       |             |    |         |      |           00 0A 00 1B |
 9581 | 37                 musicdata.s     12 | Data        | 11 |         |   12 | 00/E746 : 0A 00 1A 0A |                          DFB     $0A,$00,$1A,$0A,$00,$1B,$0A,$00,$1A,$0A,$00,$1B
      |                                       |             |    |         |      |           00 1B 0A 00 |
      |                                       |             |    |         |      |           1A 0A 00 1B |
 9582 | 37                 musicdata.s     13 | Data        | 11 |         |   12 | 00/E752 : 0A 00 0F 0A |                          DFB     $0A,$00,$0F,$0A,$00,$00,$0A,$00,$00,$0A,$00,$1B
      |                                       |             |    |         |      |           00 00 0A 00 |
      |                                       |             |    |         |      |           00 0A 00 1B |
 9583 | 37                 musicdata.s     14 | Data        | 11 |         |   12 | 00/E75E : 0A 00 1A 0A |                          DFB     $0A,$00,$1A,$0A,$00,$1B,$0A,$30,$1A,$0A,$2E,$1B
      |                                       |             |    |         |      |           00 1B 0A 30 |
      |                                       |             |    |         |      |           1A 0A 2E 1B |
 9584 | 37                 musicdata.s     15 | Data        | 11 |         |   12 | 00/E76A : 0A 2C 14 0A |                          DFB     $0A,$2C,$14,$0A,$00,$00,$0A,$2C,$00,$0A,$2E,$1B
      |                                       |             |    |         |      |           00 00 0A 2C |
      |                                       |             |    |         |      |           00 0A 2E 1B |
 9585 | 37                 musicdata.s     16 | Data        | 11 |         |   12 | 00/E776 : 0A 2C 1A 0A |                          DFB     $0A,$2C,$1A,$0A,$00,$1B,$0A,$24,$1A,$0A,$25,$1B
      |                                       |             |    |         |      |           00 1B 0A 24 |
      |                                       |             |    |         |      |           1A 0A 25 1B |
 9586 | 37                 musicdata.s     17 | Data        | 11 |         |   12 | 00/E782 : 0A 27 14 0A |                          DFB     $0A,$27,$14,$0A,$29,$00,$0A,$27,$00,$0A,$24,$1B
      |                                       |             |    |         |      |           29 00 0A 27 |
      |                                       |             |    |         |      |           00 0A 24 1B |
 9587 | 37                 musicdata.s     18 | Data        | 11 |         |   12 | 00/E78E : 0A 27 1A 0A |                          DFB     $0A,$27,$1A,$0A,$00,$1B,$0A,$2C,$1A,$0A,$2E,$1B
      |                                       |             |    |         |      |           00 1B 0A 2C |
      |                                       |             |    |         |      |           1A 0A 2E 1B |
 9588 | 37                 musicdata.s     19 | Data        | 11 |         |   12 | 00/E79A : 0A 30 14 0A |                          DFB     $0A,$30,$14,$0A,$00,$00,$0A,$30,$00,$0A,$00,$1B
      |                                       |             |    |         |      |           00 00 0A 30 |
      |                                       |             |    |         |      |           00 0A 00 1B |
 9589 | 37                 musicdata.s     20 | Data        | 11 |         |   12 | 00/E7A6 : 0A 30 1A 0A |                          DFB     $0A,$30,$1A,$0A,$2E,$1B,$0A,$2C,$1A,$0A,$2E,$1B
      |                                       |             |    |         |      |           2E 1B 0A 2C |
      |                                       |             |    |         |      |           1A 0A 2E 1B |
 9590 | 37                 musicdata.s     21 | Data        | 11 |         |   12 | 00/E7B2 : 0A 30 0F 0A |                          DFB     $0A,$30,$0F,$0A,$00,$00,$0A,$2E,$00,$0A,$00,$00
      |                                       |             |    |         |      |           00 00 0A 2E |
      |                                       |             |    |         |      |           00 0A 00 00 |
 9591 | 37                 musicdata.s     22 | Data        | 11 |         |   12 | 00/E7BE : 0A 2E 0F 0A |                          DFB     $0A,$2E,$0F,$0A,$00,$00,$0A,$30,$1A,$0A,$2E,$1B
      |                                       |             |    |         |      |           00 00 0A 30 |
      |                                       |             |    |         |      |           1A 0A 2E 1B |
 9592 | 37                 musicdata.s     23 | Data        | 11 |         |   12 | 00/E7CA : 0A 2C 14 0A |                          DFB     $0A,$2C,$14,$0A,$00,$00,$0A,$2C,$00,$0A,$2E,$1B
      |                                       |             |    |         |      |           00 00 0A 2C |
      |                                       |             |    |         |      |           00 0A 2E 1B |
 9593 | 37                 musicdata.s     24 | Data        | 11 |         |   12 | 00/E7D6 : 0A 2C 1A 0A |                          DFB     $0A,$2C,$1A,$0A,$00,$1B,$0A,$24,$1A,$0A,$25,$1B
      |                                       |             |    |         |      |           00 1B 0A 24 |
      |                                       |             |    |         |      |           1A 0A 25 1B |
 9594 | 37                 musicdata.s     25 | Data        | 11 |         |   12 | 00/E7E2 : 0A 27 14 0A |                          DFB     $0A,$27,$14,$0A,$29,$00,$0A,$27,$00,$0A,$24,$1B
      |                                       |             |    |         |      |           29 00 0A 27 |
      |                                       |             |    |         |      |           00 0A 24 1B |
 9595 | 37                 musicdata.s     26 | Data        | 11 |         |   12 | 00/E7EE : 0A 27 1A 0A |                          DFB     $0A,$27,$1A,$0A,$00,$1B,$0A,$2C,$1A,$0A,$2E,$1B
      |                                       |             |    |         |      |           00 1B 0A 2C |
      |                                       |             |    |         |      |           1A 0A 2E 1B |
 9596 | 37                 musicdata.s     27 | Data        | 11 |         |   12 | 00/E7FA : 0A 30 14 0A |                          DFB     $0A,$30,$14,$0A,$00,$00,$0A,$30,$00,$0A,$00,$1B
      |                                       |             |    |         |      |           00 00 0A 30 |
      |                                       |             |    |         |      |           00 0A 00 1B |
 9597 | 37                 musicdata.s     28 | Data        | 11 |         |   12 | 00/E806 : 0A 30 1A 0A |                          DFB     $0A,$30,$1A,$0A,$2E,$1B,$0A,$2C,$1A,$0A,$2E,$1B
      |                                       |             |    |         |      |           2E 1B 0A 2C |
      |                                       |             |    |         |      |           1A 0A 2E 1B |
 9598 | 37                 musicdata.s     29 | Data        | 11 |         |   12 | 00/E812 : 0A 30 0F 0A |                          DFB     $0A,$30,$0F,$0A,$00,$00,$0A,$2E,$13,$0A,$00,$00
      |                                       |             |    |         |      |           00 00 0A 2E |
      |                                       |             |    |         |      |           13 0A 00 00 |
 9599 | 37                 musicdata.s     30 | Data        | 11 |         |   10 | 00/E81E : 0A 2C 14 0A |                          DFB     $0A,$2C,$14,$0A,$00,$00,$0A,$00,$00,$00
      |                                       |             |    |         |      |           00 00 0A 00 |
      |                                       |             |    |         |      |           00 00       |
 9600 | 37                 musicdata.s     31 | Empty       | 11 |         |    0 | 00/E828               |                                                       
 9601 | 37                 musicdata.s     32 | Comment     | 11 |         |    0 | 00/E828               | * TUNE2 - Intermission music
 9602 | 37                 musicdata.s     33 | Comment     | 11 |         |    0 | 00/E828               | * 120 notes, 361 bytes
 9603 | 37                 musicdata.s     34 | Empty       | 11 |         |    0 | 00/E828               | Tune2Data                                             
 9604 | 37                 musicdata.s     35 | Data        | 11 |         |   12 | 00/E828 : 0A 0F 00 0A |                          DFB     $0A,$0F,$00,$0A,$00,$00,$0A,$11,$00,$0A,$00,$00
      |                                       |             |    |         |      |           00 00 0A 11 |
      |                                       |             |    |         |      |           00 0A 00 00 |
 9605 | 37                 musicdata.s     36 | Data        | 11 |         |   12 | 00/E834 : 0A 14 22 0A |                          DFB     $0A,$14,$22,$0A,$00,$24,$0A,$00,$2C,$0A,$00,$27
      |                                       |             |    |         |      |           00 24 0A 00 |
      |                                       |             |    |         |      |           2C 0A 00 27 |
 9606 | 37                 musicdata.s     37 | Data        | 11 |         |   12 | 00/E840 : 0A 14 22 0A |                          DFB     $0A,$14,$22,$0A,$00,$24,$0A,$00,$2C,$0A,$00,$27
      |                                       |             |    |         |      |           00 24 0A 00 |
      |                                       |             |    |         |      |           2C 0A 00 27 |
 9607 | 37                 musicdata.s     38 | Data        | 11 |         |   12 | 00/E84C : 0A 11 22 0A |                          DFB     $0A,$11,$22,$0A,$00,$24,$0A,$0F,$2C,$0A,$00,$27
      |                                       |             |    |         |      |           00 24 0A 0F |
      |                                       |             |    |         |      |           2C 0A 00 27 |
 9608 | 37                 musicdata.s     39 | Data        | 11 |         |   12 | 00/E858 : 0A 0F 22 0A |                          DFB     $0A,$0F,$22,$0A,$00,$24,$0A,$11,$1D,$0A,$00,$1B
      |                                       |             |    |         |      |           00 24 0A 11 |
      |                                       |             |    |         |      |           1D 0A 00 1B |
 9609 | 37                 musicdata.s     40 | Data        | 11 |         |   12 | 00/E864 : 0A 14 20 0A |                          DFB     $0A,$14,$20,$0A,$00,$24,$0A,$00,$27,$0A,$00,$2C
      |                                       |             |    |         |      |           00 24 0A 00 |
      |                                       |             |    |         |      |           27 0A 00 2C |
 9610 | 37                 musicdata.s     41 | Data        | 11 |         |   12 | 00/E870 : 0A 00 27 0A |                          DFB     $0A,$00,$27,$0A,$00,$20,$0A,$00,$24,$0A,$00,$27
      |                                       |             |    |         |      |           00 20 0A 00 |
      |                                       |             |    |         |      |           24 0A 00 27 |
 9611 | 37                 musicdata.s     42 | Data        | 11 |         |   12 | 00/E87C : 0A 00 20 0A |                          DFB     $0A,$00,$20,$0A,$00,$24,$0A,$00,$27,$0A,$00,$2C
      |                                       |             |    |         |      |           00 24 0A 00 |
      |                                       |             |    |         |      |           27 0A 00 2C |
 9612 | 37                 musicdata.s     43 | Data        | 11 |         |   12 | 00/E888 : 0A 14 27 0A |                          DFB     $0A,$14,$27,$0A,$00,$20,$0A,$16,$24,$0A,$00,$27
      |                                       |             |    |         |      |           00 20 0A 16 |
      |                                       |             |    |         |      |           24 0A 00 27 |
 9613 | 37                 musicdata.s     44 | Data        | 11 |         |   12 | 00/E894 : 0A 18 22 0A |                          DFB     $0A,$18,$22,$0A,$00,$24,$0A,$00,$2C,$0A,$00,$27
      |                                       |             |    |         |      |           00 24 0A 00 |
      |                                       |             |    |         |      |           2C 0A 00 27 |
 9614 | 37                 musicdata.s     45 | Data        | 11 |         |   12 | 00/E8A0 : 0A 18 22 0A |                          DFB     $0A,$18,$22,$0A,$00,$24,$0A,$00,$2C,$0A,$00,$27
      |                                       |             |    |         |      |           00 24 0A 00 |
      |                                       |             |    |         |      |           2C 0A 00 27 |
 9615 | 37                 musicdata.s     46 | Data        | 11 |         |   12 | 00/E8AC : 0A 1B 22 0A |                          DFB     $0A,$1B,$22,$0A,$00,$24,$0A,$18,$2C,$0A,$00,$27
      |                                       |             |    |         |      |           00 24 0A 18 |
      |                                       |             |    |         |      |           2C 0A 00 27 |
 9616 | 37                 musicdata.s     47 | Data        | 11 |         |   12 | 00/E8B8 : 0A 16 22 0A |                          DFB     $0A,$16,$22,$0A,$00,$24,$0A,$14,$1D,$0A,$00,$1B
      |                                       |             |    |         |      |           00 24 0A 14 |
      |                                       |             |    |         |      |           1D 0A 00 1B |
 9617 | 37                 musicdata.s     48 | Data        | 11 |         |   12 | 00/E8C4 : 0A 16 22 0A |                          DFB     $0A,$16,$22,$0A,$00,$27,$0A,$00,$2B,$0A,$00,$2C
      |                                       |             |    |         |      |           00 27 0A 00 |
      |                                       |             |    |         |      |           2B 0A 00 2C |
 9618 | 37                 musicdata.s     49 | Data        | 11 |         |   12 | 00/E8D0 : 0A 00 2B 0A |                          DFB     $0A,$00,$2B,$0A,$00,$27,$0A,$00,$22,$0A,$00,$27
      |                                       |             |    |         |      |           00 27 0A 00 |
      |                                       |             |    |         |      |           22 0A 00 27 |
 9619 | 37                 musicdata.s     50 | Data        | 11 |         |   12 | 00/E8DC : 0A 00 22 0A |                          DFB     $0A,$00,$22,$0A,$00,$27,$0A,$00,$2B,$0A,$00,$2C
      |                                       |             |    |         |      |           00 27 0A 00 |
      |                                       |             |    |         |      |           2B 0A 00 2C |
 9620 | 37                 musicdata.s     51 | Data        | 11 |         |   12 | 00/E8E8 : 0A 1B 2B 0A |                          DFB     $0A,$1B,$2B,$0A,$00,$27,$0A,$19,$22,$0A,$00,$27
      |                                       |             |    |         |      |           00 27 0A 19 |
      |                                       |             |    |         |      |           22 0A 00 27 |
 9621 | 37                 musicdata.s     52 | Data        | 11 |         |   12 | 00/E8F4 : 0A 18 22 0A |                          DFB     $0A,$18,$22,$0A,$00,$24,$0A,$00,$2C,$0A,$00,$27
      |                                       |             |    |         |      |           00 24 0A 00 |
      |                                       |             |    |         |      |           2C 0A 00 27 |
 9622 | 37                 musicdata.s     53 | Data        | 11 |         |   12 | 00/E900 : 0A 18 22 0A |                          DFB     $0A,$18,$22,$0A,$00,$24,$0A,$00,$2C,$0A,$00,$27
      |                                       |             |    |         |      |           00 24 0A 00 |
      |                                       |             |    |         |      |           2C 0A 00 27 |
 9623 | 37                 musicdata.s     54 | Data        | 11 |         |   12 | 00/E90C : 0A 16 22 0A |                          DFB     $0A,$16,$22,$0A,$00,$24,$0A,$14,$2C,$0A,$00,$27
      |                                       |             |    |         |      |           00 24 0A 14 |
      |                                       |             |    |         |      |           2C 0A 00 27 |
 9624 | 37                 musicdata.s     55 | Data        | 11 |         |   12 | 00/E918 : 0A 14 22 0A |                          DFB     $0A,$14,$22,$0A,$00,$24,$0A,$12,$1D,$0A,$00,$1B
      |                                       |             |    |         |      |           00 24 0A 12 |
      |                                       |             |    |         |      |           1D 0A 00 1B |
 9625 | 37                 musicdata.s     56 | Data        | 11 |         |   12 | 00/E924 : 0A 11 1D 0A |                          DFB     $0A,$11,$1D,$0A,$00,$20,$0A,$00,$25,$0A,$00,$27
      |                                       |             |    |         |      |           00 20 0A 00 |
      |                                       |             |    |         |      |           25 0A 00 27 |
 9626 | 37                 musicdata.s     57 | Data        | 11 |         |   12 | 00/E930 : 0A 11 25 0A |                          DFB     $0A,$11,$25,$0A,$00,$22,$0A,$00,$20,$0A,$00,$1D
      |                                       |             |    |         |      |           00 22 0A 00 |
      |                                       |             |    |         |      |           20 0A 00 1D |
 9627 | 37                 musicdata.s     58 | Data        | 11 |         |   12 | 00/E93C : 0A 16 1C 0A |                          DFB     $0A,$16,$1C,$0A,$00,$20,$0A,$14,$25,$0A,$00,$27
      |                                       |             |    |         |      |           00 20 0A 14 |
      |                                       |             |    |         |      |           25 0A 00 27 |
 9628 | 37                 musicdata.s     59 | Data        | 11 |         |   12 | 00/E948 : 0A 13 25 0A |                          DFB     $0A,$13,$25,$0A,$00,$22,$0A,$11,$20,$0A,$00,$1C
      |                                       |             |    |         |      |           00 22 0A 11 |
      |                                       |             |    |         |      |           20 0A 00 1C |
 9629 | 37                 musicdata.s     60 | Data        | 11 |         |   12 | 00/E954 : 0A 0F 1B 0A |                          DFB     $0A,$0F,$1B,$0A,$00,$20,$0A,$00,$24,$0A,$00,$25
      |                                       |             |    |         |      |           00 20 0A 00 |
      |                                       |             |    |         |      |           24 0A 00 25 |
 9630 | 37                 musicdata.s     61 | Data        | 11 |         |   12 | 00/E960 : 0A 0F 24 0A |                          DFB     $0A,$0F,$24,$0A,$00,$22,$0A,$00,$20,$0A,$00,$1D
      |                                       |             |    |         |      |           00 22 0A 00 |
      |                                       |             |    |         |      |           20 0A 00 1D |
 9631 | 37                 musicdata.s     62 | Data        | 11 |         |   12 | 00/E96C : 0A 18 1B 0A |                          DFB     $0A,$18,$1B,$0A,$00,$1F,$0A,$16,$22,$0A,$00,$24
      |                                       |             |    |         |      |           00 1F 0A 16 |
      |                                       |             |    |         |      |           22 0A 00 24 |
 9632 | 37                 musicdata.s     63 | Data        | 11 |         |   12 | 00/E978 : 0A 14 22 0A |                          DFB     $0A,$14,$22,$0A,$00,$1F,$0A,$13,$1B,$0A,$00,$1F
      |                                       |             |    |         |      |           00 1F 0A 13 |
      |                                       |             |    |         |      |           1B 0A 00 1F |
 9633 | 37                 musicdata.s     64 | Data        | 11 |         |   12 | 00/E984 : 0A 14 20 0A |                          DFB     $0A,$14,$20,$0A,$00,$00,$0A,$00,$00,$0A,$00,$00
      |                                       |             |    |         |      |           00 00 0A 00 |
      |                                       |             |    |         |      |           00 0A 00 00 |
 9634 | 37                 musicdata.s     65 | Data        | 11 |         |    1 | 00/E990 : 00          |                          DFB     $00                  
 9635 | 37                 musicdata.s     66 | Empty       | 11 |         |    0 | 00/E991               |                                                       
 9636 | 37                 musicdata.s     67 | Comment     | 11 |         |    0 | 00/E991               | * PLAYER_KILLED_TUNE - Death music
 9637 | 37                 musicdata.s     68 | Comment     | 11 |         |    0 | 00/E991               | * 11 notes, 34 bytes
 9638 | 37                 musicdata.s     69 | Empty       | 11 |         |    0 | 00/E991               | DeathTune                                             
 9639 | 37                 musicdata.s     70 | Data        | 11 |         |   12 | 00/E991 : 03 20 00 15 |                          DFB     $03,$20,$00,$15,$00,$00,$0C,$1B,$00,$0C,$1B,$00
      |                                       |             |    |         |      |           00 00 0C 1B |
      |                                       |             |    |         |      |           00 0C 1B 00 |
 9640 | 37                 musicdata.s     71 | Data        | 11 |         |   12 | 00/E99D : 0C 1B 00 0C |                          DFB     $0C,$1B,$00,$0C,$1C,$00,$0C,$1B,$00,$0C,$00,$00
      |                                       |             |    |         |      |           1C 00 0C 1B |
      |                                       |             |    |         |      |           00 0C 00 00 |
 9641 | 37                 musicdata.s     72 | Data        | 11 |         |   10 | 00/E9A9 : 16 1F 00 0C |                          DFB     $16,$1F,$00,$0C,$20,$00,$0C,$00,$00,$00
      |                                       |             |    |         |      |           20 00 0C 00 |
      |                                       |             |    |         |      |           00 00       |
 9642 | 37                 musicdata.s     73 | Empty       | 11 |         |    0 | 00/E9B3               |                                                       
 9643 | 37                 musicdata.s     74 | Comment     | 11 |         |    0 | 00/E9B3               | * REWARD_TUNE - Bag delivered
 9644 | 37                 musicdata.s     75 | Comment     | 11 |         |    0 | 00/E9B3               | * 6 notes, 19 bytes
 9645 | 37                 musicdata.s     76 | Empty       | 11 |         |    0 | 00/E9B3               | RewardTune                                            
 9646 | 37                 musicdata.s     77 | Data        | 11 |         |   12 | 00/E9B3 : 0C 1B 00 0C |                          DFB     $0C,$1B,$00,$0C,$20,$00,$0C,$24,$00,$0C,$27,$00
      |                                       |             |    |         |      |           20 00 0C 24 |
      |                                       |             |    |         |      |           00 0C 27 00 |
 9647 | 37                 musicdata.s     78 | Data        | 11 |         |    7 | 00/E9BF : 0C 24 00 0C |                          DFB     $0C,$24,$00,$0C,$00,$00,$00
      |                                       |             |    |         |      |           00 00 00    |
 9648 | 37                 musicdata.s     79 | Empty       | 11 |         |    0 | 00/E9C6               |                                                       
 9649 | 37                 musicdata.s     80 | Comment     | 11 |         |    0 | 00/E9C6               | * TAKE_BAG - Pickup money bag jingle
 9650 | 37                 musicdata.s     81 | Comment     | 11 |         |    0 | 00/E9C6               | * 4 notes, 13 bytes
 9651 | 37                 musicdata.s     82 | Empty       | 11 |         |    0 | 00/E9C6               | TakeBagTune                                           
 9652 | 37                 musicdata.s     83 | Data        | 11 |         |   12 | 00/E9C6 : 02 1B 0F 0C |                          DFB     $02,$1B,$0F,$0C,$18,$0E,$0C,$14,$0E,$0C,$00,$00
      |                                       |             |    |         |      |           18 0E 0C 14 |
      |                                       |             |    |         |      |           0E 0C 00 00 |
 9653 | 37                 musicdata.s     84 | Data        | 11 |         |    1 | 00/E9D2 : 00          |                          DFB     $00                  
 9654 | 37                 musicdata.s     85 | Empty       | 11 |         |    0 | 00/E9D3               |                                                       
 9655 | 37                 musicdata.s     86 | Comment     | 11 |         |    0 | 00/E9D3               | * Total music data: 665 bytes
 9656 | 37                 musicdata.s     87 | Empty       | 11 |         |    0 | 00/E9D3               |                                                       
 9657 |  1                    bagman.s    101 | Empty       | 11 |         |    0 | 00/E9D3               | ozunid_94                                             
 9658 |  1                    bagman.s    101 | Equivalence | 11 |         |    0 | 00/E9D3               | AuxMusicLen              =       ozunid_94-{$E660}    
 9659 |  1                    bagman.s    102 | Equivalence | 11 |         |    0 | 00/E9D3               | AuxMusicPages            =       {ozunid_94-{$E660}}/256+1
 9660 |  1                    bagman.s    103 | Empty       | 11 |         |    0 | 00/E9D3               |                                                       
 9661 |  1                    bagman.s    104 | Comment     | 11 |         |    0 | 00/E9D3               | * --- Compressed title-screen data in AUX Language Card ---
 9662 |  1                    bagman.s    105 | Comment     | 11 |         |    0 | 00/E9D3               | * LZSA2 blob (LogoAux + LogoMain) decompressed by ShowTitle into DHGR.
 9663 |  1                    bagman.s    106 | Comment     | 11 |         |    0 | 00/E9D3               | * Lives in aux LC so it doesn't burn low main RAM at $0800-$17FF for
 9664 |  1                    bagman.s    107 | Comment     | 11 |         |    0 | 00/E9D3               | * a blob that's only read once at boot. ShowTitle pages in aux LC via
 9665 |  1                    bagman.s    108 | Comment     | 11 |         |    0 | 00/E9D3               | * ALTZP for the decompress call; LZSA2 reads (ZP),Y so it hits aux.
 9666 |  1                    bagman.s    109 | Comment     | 11 |         |    0 | 00/E9D3               | *
 9667 |  1                    bagman.s    110 | Comment     | 11 |         |    0 | 00/E9D3               | * Placed AFTER the music ($E660-$E9C7). Aux $D000 onward now holds
 9668 |  1                    bagman.s    111 | Comment     | 11 |         |    0 | 00/E9D3               | * the AuxCold cold-code block (font + fonttest + wrappers); the font
 9669 |  1                    bagman.s    112 | Comment     | 11 |         |    0 | 00/E9D3               | * bitmap still sits at $E260.
 9670 |  1                    bagman.s    113 | Equivalence | 11 |         |    0 | 00/E9D3               | AuxLogoDest              =       $EA00                
 9671 |  1                    bagman.s    114 | Equivalence | 11 |         |    0 | 00/E9D3               | AuxLogoBinSrc            =       StubEnd+{ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}+{ozunid_94-{$E660}}
 9672 |  1                    bagman.s    115 | Directive   | 11 |         |    0 | 00/E9D3               |                          ORG     {$EA00}              
 9673 |  1                    bagman.s    116 | Directive   | 11 |         |    0 | 00/EA00               |                          PUT     logodata.s           
 9674 | 38                  logodata.s      1 | Comment     | 11 |         |    0 | 00/EA00               | *
 9675 | 38                  logodata.s      2 | Comment     | 11 |         |    0 | 00/EA00               | * Bagman - Compressed Title Screen Data (LZSA2)
 9676 | 38                  logodata.s      3 | Comment     | 11 |         |    0 | 00/EA00               | *
 9677 | 38                  logodata.s      4 | Comment     | 11 |         |    0 | 00/EA00               | * Generated from logo6.dhr - do not edit
 9678 | 38                  logodata.s      5 | Comment     | 11 |         |    0 | 00/EA00               | *
 9679 | 38                  logodata.s      6 | Empty       | 11 |         |    0 | 00/EA00               | LogoAux                                               
 9680 | 38                  logodata.s      7 | Data        | 11 |         |   32 | 00/EA00 : 0F 80 FF 17 |                          HEX     0F80FF175FACF0B7DEFBE0B7D0BBEDB78EF88FDE3A4E8EB2C8A38CB288391AA0
      |                                       |             |    |         |      |           5F AC F0 B7 |
      |                                       |             |    |         |      |           DE FB E0 B7 |
      |                                       |             |    |         |      |           D0 BB ED B7 |
      |                                       |             |    |         |      |           8E F8 8F DE |
      |                                       |             |    |         |      |           3A 4E 8E B2 |
      |                                       |             |    |         |      |           C8 A3 8C B2 |
      |                                       |             |    |         |      |           88 39 1A A0 |
 9681 | 38                  logodata.s      8 | Data        | 11 |         |   32 | 00/EA20 : 8C 82 C0 2F |                          HEX     8C82C02FC8E2248F408A0D00EF80F7185FB4DEBB8D80FFFFE0B7DE5EE048EE80
      |                                       |             |    |         |      |           C8 E2 24 8F |
      |                                       |             |    |         |      |           40 8A 0D 00 |
      |                                       |             |    |         |      |           EF 80 F7 18 |
      |                                       |             |    |         |      |           5F B4 DE BB |
      |                                       |             |    |         |      |           8D 80 FF FF |
      |                                       |             |    |         |      |           E0 B7 DE 5E |
      |                                       |             |    |         |      |           E0 48 EE 80 |
 9682 | 38                  logodata.s      9 | Data        | 11 |         |   32 | 00/EA40 : F1 83 80 FE |                          HEX     F18380FEE0B2C8E980EAA0EA80EFB0FD2032A08251D0B88100E059B48E8380EF
      |                                       |             |    |         |      |           E0 B2 C8 E9 |
      |                                       |             |    |         |      |           80 EA A0 EA |
      |                                       |             |    |         |      |           80 EF B0 FD |
      |                                       |             |    |         |      |           20 32 A0 82 |
      |                                       |             |    |         |      |           51 D0 B8 81 |
      |                                       |             |    |         |      |           00 E0 59 B4 |
      |                                       |             |    |         |      |           8E 83 80 EF |
 9683 | 38                  logodata.s     10 | Data        | 11 |         |   32 | 00/EA60 : AA CF 4C BB |                          HEX     AACF4CBB00EEC86BBBF466E84F80000161A457FD8304F00379C08EFB88628459
      |                                       |             |    |         |      |           00 EE C8 6B |
      |                                       |             |    |         |      |           BB F4 66 E8 |
      |                                       |             |    |         |      |           4F 80 00 01 |
      |                                       |             |    |         |      |           61 A4 57 FD |
      |                                       |             |    |         |      |           83 04 F0 03 |
      |                                       |             |    |         |      |           79 C0 8E FB |
      |                                       |             |    |         |      |           88 62 84 59 |
 9684 | 38                  logodata.s     11 | Data        | 11 |         |   32 | 00/EA80 : 34 C3 ED 83 |                          HEX     34C3ED83DEC380706AED704FBF006AB0805C2480A3EE83C88C59B0888382B2EE
      |                                       |             |    |         |      |           DE C3 80 70 |
      |                                       |             |    |         |      |           6A ED 70 4F |
      |                                       |             |    |         |      |           BF 00 6A B0 |
      |                                       |             |    |         |      |           80 5C 24 80 |
      |                                       |             |    |         |      |           A3 EE 83 C8 |
      |                                       |             |    |         |      |           8C 59 B0 88 |
      |                                       |             |    |         |      |           83 82 B2 EE |
 9685 | 38                  logodata.s     12 | Data        | 11 |         |   32 | 00/EAA0 : 8B 88 31 B8 |                          HEX     8B8831B8EE4570E0B8E06780468441B440A86FB484F301F0B9EE5AC38DF7FE80
      |                                       |             |    |         |      |           EE 45 70 E0 |
      |                                       |             |    |         |      |           B8 E0 67 80 |
      |                                       |             |    |         |      |           46 84 41 B4 |
      |                                       |             |    |         |      |           40 A8 6F B4 |
      |                                       |             |    |         |      |           84 F3 01 F0 |
      |                                       |             |    |         |      |           B9 EE 5A C3 |
      |                                       |             |    |         |      |           8D F7 FE 80 |
 9686 | 38                  logodata.s     13 | Data        | 11 |         |   32 | 00/EAC0 : E0 8C 30 B4 |                          HEX     E08C30B4D0ECF89080F8EEB4FEFBEDB4E08BEEBBEE8067B3F9104780EBED3080
      |                                       |             |    |         |      |           D0 EC F8 90 |
      |                                       |             |    |         |      |           80 F8 EE B4 |
      |                                       |             |    |         |      |           FE FB ED B4 |
      |                                       |             |    |         |      |           E0 8B EE BB |
      |                                       |             |    |         |      |           EE 80 67 B3 |
      |                                       |             |    |         |      |           F9 10 47 80 |
      |                                       |             |    |         |      |           EB ED 30 80 |
 9687 | 38                  logodata.s     14 | Data        | 11 |         |   32 | 00/EAE0 : F8 C6 0A FE |                          HEX     F8C60AFE87FEA851DEC31071B08E34708083F83080A3EC68C01421718CB828E9
      |                                       |             |    |         |      |           87 FE A8 51 |
      |                                       |             |    |         |      |           DE C3 10 71 |
      |                                       |             |    |         |      |           B0 8E 34 70 |
      |                                       |             |    |         |      |           80 83 F8 30 |
      |                                       |             |    |         |      |           80 A3 EC 68 |
      |                                       |             |    |         |      |           C0 14 21 71 |
      |                                       |             |    |         |      |           8C B8 28 E9 |
 9688 | 38                  logodata.s     15 | Data        | 11 |         |   32 | 00/EB00 : BB 06 F0 39 |                          HEX     BB06F039FFF4FC3E39BF9FFF80BCC0808FBC80FD80D0C0C081BC4E4780EBFDF0
      |                                       |             |    |         |      |           FF F4 FC 3E |
      |                                       |             |    |         |      |           39 BF 9F FF |
      |                                       |             |    |         |      |           80 BC C0 80 |
      |                                       |             |    |         |      |           8F BC 80 FD |
      |                                       |             |    |         |      |           80 D0 C0 C0 |
      |                                       |             |    |         |      |           81 BC 4E 47 |
      |                                       |             |    |         |      |           80 EB FD F0 |
 9689 | 38                  logodata.s     16 | Data        | 11 |         |   32 | 00/EB20 : DE BB EF DE |                          HEX     DEBBEFDEFF02688328E9E0E9E08B802CF580B82A82EA204700FE22F280BF2232
      |                                       |             |    |         |      |           FF 02 68 83 |
      |                                       |             |    |         |      |           28 E9 E0 E9 |
      |                                       |             |    |         |      |           E0 8B 80 2C |
      |                                       |             |    |         |      |           F5 80 B8 2A |
      |                                       |             |    |         |      |           82 EA 20 47 |
      |                                       |             |    |         |      |           00 FE 22 F2 |
      |                                       |             |    |         |      |           80 BF 22 32 |
 9690 | 38                  logodata.s     17 | Data        | 11 |         |   32 | 00/EB40 : 8E FF 6F A7 |                          HEX     8EFF6FA7A8E0F58080FAEEBB80EF833F47801D07FF1748D05A4056F18380688D
      |                                       |             |    |         |      |           A8 E0 F5 80 |
      |                                       |             |    |         |      |           80 FA EE BB |
      |                                       |             |    |         |      |           80 EF 83 3F |
      |                                       |             |    |         |      |           47 80 1D 07 |
      |                                       |             |    |         |      |           FF 17 48 D0 |
      |                                       |             |    |         |      |           5A 40 56 F1 |
      |                                       |             |    |         |      |           83 80 68 8D |
 9691 | 38                  logodata.s     18 | Data        | 11 |         |   32 | 00/EB60 : EE A7 FD 80 |                          HEX     EEA7FD8083FF1E8486A2FE76465EECC883E6A7FF002389C0F25EFA83FFFFD0FB
      |                                       |             |    |         |      |           83 FF 1E 84 |
      |                                       |             |    |         |      |           86 A2 FE 76 |
      |                                       |             |    |         |      |           46 5E EC C8 |
      |                                       |             |    |         |      |           83 E6 A7 FF |
      |                                       |             |    |         |      |           00 23 89 C0 |
      |                                       |             |    |         |      |           F2 5E FA 83 |
      |                                       |             |    |         |      |           FF FF D0 FB |
 9692 | 38                  logodata.s     19 | Data        | 11 |         |   32 | 00/EB80 : 47 80 E1 F1 |                          HEX     4780E1F183C0EFE0E981EAB0EAC0EFA0FC200BA0698D5EA0F100FAF0C3EDB747
      |                                       |             |    |         |      |           83 C0 EF E0 |
      |                                       |             |    |         |      |           E9 81 EA B0 |
      |                                       |             |    |         |      |           EA C0 EF A0 |
      |                                       |             |    |         |      |           FC 20 0B A0 |
      |                                       |             |    |         |      |           69 8D 5E A0 |
      |                                       |             |    |         |      |           F1 00 FA F0 |
      |                                       |             |    |         |      |           C3 ED B7 47 |
 9693 | 38                  logodata.s     20 | Data        | 11 |         |   32 | 00/EBA0 : 00 CC EE 8B |                          HEX     00CCEE8B2384FA66264080EF83FB016102F7FE83A5F0DAEBFCBAB48EB8EE7E52
      |                                       |             |    |         |      |           23 84 FA 66 |
      |                                       |             |    |         |      |           26 40 80 EF |
      |                                       |             |    |         |      |           83 FB 01 61 |
      |                                       |             |    |         |      |           02 F7 FE 83 |
      |                                       |             |    |         |      |           A5 F0 DA EB |
      |                                       |             |    |         |      |           FC BA B4 8E |
      |                                       |             |    |         |      |           B8 EE 7E 52 |
 9694 | 38                  logodata.s     21 | Data        | 11 |         |   32 | 00/EBC0 : E0 F4 82 A1 |                          HEX     E0F482A172B7838FF50024CF50B2EE98A53EF95AE0838E80AEB9C8B8205F2A80
      |                                       |             |    |         |      |           72 B7 83 8F |
      |                                       |             |    |         |      |           F5 00 24 CF |
      |                                       |             |    |         |      |           50 B2 EE 98 |
      |                                       |             |    |         |      |           A5 3E F9 5A |
      |                                       |             |    |         |      |           E0 83 8E 80 |
      |                                       |             |    |         |      |           AE B9 C8 B8 |
      |                                       |             |    |         |      |           20 5F 2A 80 |
 9695 | 38                  logodata.s     22 | Data        | 11 |         |   32 | 00/EBE0 : E4 90 80 90 |                          HEX     E4908090804CFBA46FDE84F602F0BBEE5A83FEFFED80DEB8E08078288F24F8B7
      |                                       |             |    |         |      |           80 4C FB A4 |
      |                                       |             |    |         |      |           6F DE 84 F6 |
      |                                       |             |    |         |      |           02 F0 BB EE |
      |                                       |             |    |         |      |           5A 83 FE FF |
      |                                       |             |    |         |      |           ED 80 DE B8 |
      |                                       |             |    |         |      |           E0 80 78 28 |
      |                                       |             |    |         |      |           8F 24 F8 B7 |
 9696 | 38                  logodata.s     23 | Data        | 11 |         |   32 | 00/EC00 : EE F8 ED F7 |                          HEX     EEF8EDF7DEF882FFF4B7829000FE224B8F80A3FE47CDEE698EC051ED8300B2A3
      |                                       |             |    |         |      |           DE F8 82 FF |
      |                                       |             |    |         |      |           F4 B7 82 90 |
      |                                       |             |    |         |      |           00 FE 22 4B |
      |                                       |             |    |         |      |           8F 80 A3 FE |
      |                                       |             |    |         |      |           47 CD EE 69 |
      |                                       |             |    |         |      |           8E C0 51 ED |
      |                                       |             |    |         |      |           83 00 B2 A3 |
 9697 | 38                  logodata.s     24 | Data        | 11 |         |   32 | 00/EC20 : EE 3E 71 FB |                          HEX     EE3E71FBE02449AE8B7180B71C2980E028B887F1DA80D064E8F039BCF083EC28
      |                                       |             |    |         |      |           E0 24 49 AE |
      |                                       |             |    |         |      |           8B 71 80 B7 |
      |                                       |             |    |         |      |           1C 29 80 E0 |
      |                                       |             |    |         |      |           28 B8 87 F1 |
      |                                       |             |    |         |      |           DA 80 D0 64 |
      |                                       |             |    |         |      |           E8 F0 39 BC |
      |                                       |             |    |         |      |           F0 83 EC 28 |
 9698 | 38                  logodata.s     25 | Data        | 11 |         |   32 | 00/EC40 : C3 EB 80 E9 |                          HEX     C3EB80E98F4F8F80EE4EFE00F7FFEDAB8EFF9289E028E9E08C82DD1E8CB8AA83
      |                                       |             |    |         |      |           8F 4F 8F 80 |
      |                                       |             |    |         |      |           EE 4E FE 00 |
      |                                       |             |    |         |      |           F7 FF ED AB |
      |                                       |             |    |         |      |           8E FF 92 89 |
      |                                       |             |    |         |      |           E0 28 E9 E0 |
      |                                       |             |    |         |      |           8C 82 DD 1E |
      |                                       |             |    |         |      |           8C B8 AA 83 |
 9699 | 38                  logodata.s     26 | Data        | 11 |         |   32 | 00/EC60 : FF 18 61 28 |                          HEX     FF186128470022F280FFE9EDF78DF7EFA4C0A6F5A8F28080EF83A7FF004A91E0
      |                                       |             |    |         |      |           47 00 22 F2 |
      |                                       |             |    |         |      |           80 FF E9 ED |
      |                                       |             |    |         |      |           F7 8D F7 EF |
      |                                       |             |    |         |      |           A4 C0 A6 F5 |
      |                                       |             |    |         |      |           A8 F2 80 80 |
      |                                       |             |    |         |      |           EF 83 A7 FF |
      |                                       |             |    |         |      |           00 4A 91 E0 |
 9700 | 38                  logodata.s     27 | Data        | 11 |         |   32 | 00/EC80 : 83 DE DC B2 |                          HEX     83DEDCB2808FD8F1C08D87DC00EF8B6A23A7DF002F488080612A69FF0A68C004
      |                                       |             |    |         |      |           80 8F D8 F1 |
      |                                       |             |    |         |      |           C0 8D 87 DC |
      |                                       |             |    |         |      |           00 EF 8B 6A |
      |                                       |             |    |         |      |           23 A7 DF 00 |
      |                                       |             |    |         |      |           2F 48 80 80 |
      |                                       |             |    |         |      |           61 2A 69 FF |
      |                                       |             |    |         |      |           0A 68 C0 04 |
 9701 | 38                  logodata.s     28 | Data        | 11 |         |   32 | 00/ECA0 : A7 DF 00 0F |                          HEX     A7DF000FEF81FE2EA6FEA88DD200F9BC8083D0B8FF0AA880FCE9806662A5D100
      |                                       |             |    |         |      |           EF 81 FE 2E |
      |                                       |             |    |         |      |           A6 FE A8 8D |
      |                                       |             |    |         |      |           D2 00 F9 BC |
      |                                       |             |    |         |      |           80 83 D0 B8 |
      |                                       |             |    |         |      |           FF 0A A8 80 |
      |                                       |             |    |         |      |           FC E9 80 66 |
      |                                       |             |    |         |      |           62 A5 D1 00 |
 9702 | 38                  logodata.s     29 | Data        | 11 |         |   32 | 00/ECC0 : EF C0 EF 83 |                          HEX     EFC0EF83EDADF8FC07F8A7D65C89C0E0FAF1B88D398DAA80AFB78FBF00BDA2E0
      |                                       |             |    |         |      |           ED AD F8 FC |
      |                                       |             |    |         |      |           07 F8 A7 D6 |
      |                                       |             |    |         |      |           5C 89 C0 E0 |
      |                                       |             |    |         |      |           FA F1 B8 8D |
      |                                       |             |    |         |      |           39 8D AA 80 |
      |                                       |             |    |         |      |           AF B7 8F BF |
      |                                       |             |    |         |      |           00 BD A2 E0 |
 9703 | 38                  logodata.s     30 | Data        | 11 |         |   32 | 00/ECE0 : 6D C8 4E 29 |                          HEX     6DC84E29EE6FA98E02F800808BE4228FB8D980F5E0B76784F201EBC079FFFFDE
      |                                       |             |    |         |      |           EE 6F A9 8E |
      |                                       |             |    |         |      |           02 F8 00 80 |
      |                                       |             |    |         |      |           8B E4 22 8F |
      |                                       |             |    |         |      |           B8 D9 80 F5 |
      |                                       |             |    |         |      |           E0 B7 67 84 |
      |                                       |             |    |         |      |           F2 01 EB C0 |
      |                                       |             |    |         |      |           79 FF FF DE |
 9704 | 38                  logodata.s     31 | Data        | 11 |         |   32 | 00/ED00 : 80 8D 04 81 |                          HEX     808D0481EEAC91FBEFCAF28EB4F180BBEF8320BABCF4D0FD80B19F8378BFBDC0
      |                                       |             |    |         |      |           EE AC 91 FB |
      |                                       |             |    |         |      |           EF CA F2 8E |
      |                                       |             |    |         |      |           B4 F1 80 BB |
      |                                       |             |    |         |      |           EF 83 20 BA |
      |                                       |             |    |         |      |           BC F4 D0 FD |
      |                                       |             |    |         |      |           80 B1 9F 83 |
      |                                       |             |    |         |      |           78 BF BD C0 |
 9705 | 38                  logodata.s     32 | Data        | 11 |         |   32 | 00/ED20 : 81 80 9F C3 |                          HEX     81809FC3FFD0F08381BFFFFDFF80EFEBEFF7D0FB054AA30420CDAAEE0081EE56
      |                                       |             |    |         |      |           FF D0 F0 83 |
      |                                       |             |    |         |      |           81 BF FF FD |
      |                                       |             |    |         |      |           FF 80 EF EB |
      |                                       |             |    |         |      |           EF F7 D0 FB |
      |                                       |             |    |         |      |           05 4A A3 04 |
      |                                       |             |    |         |      |           20 CD AA EE |
      |                                       |             |    |         |      |           00 81 EE 56 |
 9706 | 38                  logodata.s     33 | Data        | 11 |         |   32 | 00/ED40 : A0 2E F1 AE |                          HEX     A02EF1AE8021EDEA8CAFB8002F53FD8F8068F0E6A9FC00FB0C8380FC81EEA7DF
      |                                       |             |    |         |      |           80 21 ED EA |
      |                                       |             |    |         |      |           8C AF B8 00 |
      |                                       |             |    |         |      |           2F 53 FD 8F |
      |                                       |             |    |         |      |           80 68 F0 E6 |
      |                                       |             |    |         |      |           A9 FC 00 FB |
      |                                       |             |    |         |      |           0C 83 80 FC |
      |                                       |             |    |         |      |           81 EE A7 DF |
 9707 | 38                  logodata.s     34 | Data        | 11 |         |   32 | 00/ED60 : 00 00 EC E0 |                          HEX     0000ECE0FF1F83EDF7D005EDEEEB82EF8CF032EFB4EFFB4BA7A8E700A3DF00EF
      |                                       |             |    |         |      |           FF 1F 83 ED |
      |                                       |             |    |         |      |           F7 D0 05 ED |
      |                                       |             |    |         |      |           EE EB 82 EF |
      |                                       |             |    |         |      |           8C F0 32 EF |
      |                                       |             |    |         |      |           B4 EF FB 4B |
      |                                       |             |    |         |      |           A7 A8 E7 00 |
      |                                       |             |    |         |      |           A3 DF 00 EF |
 9708 | 38                  logodata.s     35 | Data        | 11 |         |   32 | 00/ED80 : 80 59 AA F8 |                          HEX     8059AAF8FC06A9FF02AFEFDF0002EFBB6FE9B0EFB02C8BAAFF0EA200048DA700
      |                                       |             |    |         |      |           FC 06 A9 FF |
      |                                       |             |    |         |      |           02 AF EF DF |
      |                                       |             |    |         |      |           00 02 EF BB |
      |                                       |             |    |         |      |           6F E9 B0 EF |
      |                                       |             |    |         |      |           B0 2C 8B AA |
      |                                       |             |    |         |      |           FF 0E A2 00 |
      |                                       |             |    |         |      |           04 8D A7 00 |
 9709 | 38                  logodata.s     36 | Data        | 11 |         |   32 | 00/EDA0 : FD 55 A7 B2 |                          HEX     FD55A7B21A89BCFFB4F88DFD56AAFB8287CE00AF82D100EAC0F782808FA7228B
      |                                       |             |    |         |      |           1A 89 BC FF |
      |                                       |             |    |         |      |           B4 F8 8D FD |
      |                                       |             |    |         |      |           56 AA FB 82 |
      |                                       |             |    |         |      |           87 CE 00 AF |
      |                                       |             |    |         |      |           82 D1 00 EA |
      |                                       |             |    |         |      |           C0 F7 82 80 |
      |                                       |             |    |         |      |           8F A7 22 8B |
 9710 | 38                  logodata.s     37 | Data        | 11 |         |   32 | 00/EDC0 : A7 BC AD A7 |                          HEX     A7BCADA75C7B50D0C384A2F659238EA88A80DE80F7FEFBBA1BE4BBEEBB72E882
      |                                       |             |    |         |      |           5C 7B 50 D0 |
      |                                       |             |    |         |      |           C3 84 A2 F6 |
      |                                       |             |    |         |      |           59 23 8E A8 |
      |                                       |             |    |         |      |           8A 80 DE 80 |
      |                                       |             |    |         |      |           F7 FE FB BA |
      |                                       |             |    |         |      |           1B E4 BB EE |
      |                                       |             |    |         |      |           BB 72 E8 82 |
 9711 | 38                  logodata.s     38 | Data        | 11 |         |   32 | 00/EDE0 : 23 BB A4 66 |                          HEX     23BBA466A1D864208A83EDF4E8AEAFBB009FF3D0F8EF800282BD0AA000F0FFFB
      |                                       |             |    |         |      |           A1 D8 64 20 |
      |                                       |             |    |         |      |           8A 83 ED F4 |
      |                                       |             |    |         |      |           E8 AE AF BB |
      |                                       |             |    |         |      |           00 9F F3 D0 |
      |                                       |             |    |         |      |           F8 EF 80 02 |
      |                                       |             |    |         |      |           82 BD 0A A0 |
      |                                       |             |    |         |      |           00 F0 FF FB |
 9712 | 38                  logodata.s     39 | Data        | 11 |         |   32 | 00/EE00 : F8 01 80 C3 |                          HEX     F80180C38DF9BBED83D0E88EE8B771C0B828AF83E270B4BF8FDE8CE883F0F0C3
      |                                       |             |    |         |      |           8D F9 BB ED |
      |                                       |             |    |         |      |           83 D0 E8 8E |
      |                                       |             |    |         |      |           E8 B7 71 C0 |
      |                                       |             |    |         |      |           B8 28 AF 83 |
      |                                       |             |    |         |      |           E2 70 B4 BF |
      |                                       |             |    |         |      |           8F DE 8C E8 |
      |                                       |             |    |         |      |           83 F0 F0 C3 |
 9713 | 38                  logodata.s     40 | Data        | 11 |         |   32 | 00/EE20 : 20 2A F0 C9 |                          HEX     202AF0C92020ADA700EFEBDFE88DF7C3E003FB2CE080DEBB8D8224228DA180ED
      |                                       |             |    |         |      |           20 20 AD A7 |
      |                                       |             |    |         |      |           00 EF EB DF |
      |                                       |             |    |         |      |           E8 8D F7 C3 |
      |                                       |             |    |         |      |           E0 03 FB 2C |
      |                                       |             |    |         |      |           E0 80 DE BB |
      |                                       |             |    |         |      |           8D 82 24 22 |
      |                                       |             |    |         |      |           8D A1 80 ED |
 9714 | 38                  logodata.s     41 | Data        | 11 |         |   32 | 00/EE40 : 80 EF B8 2D |                          HEX     80EFB82D4288AF83002DEEC3A780FD00F6D0BBAFE000FF05EDEEEC8EEA8BEF8C
      |                                       |             |    |         |      |           42 88 AF 83 |
      |                                       |             |    |         |      |           00 2D EE C3 |
      |                                       |             |    |         |      |           A7 80 FD 00 |
      |                                       |             |    |         |      |           F6 D0 BB AF |
      |                                       |             |    |         |      |           E0 00 FF 05 |
      |                                       |             |    |         |      |           ED EE EC 8E |
      |                                       |             |    |         |      |           EA 8B EF 8C |
 9715 | 38                  logodata.s     42 | Data        | 11 |         |   32 | 00/EE60 : 2C F0 F8 8D |                          HEX     2CF0F88DEBFFF7B78EFD03ED8CA6AAA7DF0059B0B4D0A158F9FC8FC0E0A7DF00
      |                                       |             |    |         |      |           EB FF F7 B7 |
      |                                       |             |    |         |      |           8E FD 03 ED |
      |                                       |             |    |         |      |           8C A6 AA A7 |
      |                                       |             |    |         |      |           DF 00 59 B0 |
      |                                       |             |    |         |      |           B4 D0 A1 58 |
      |                                       |             |    |         |      |           F9 FC 8F C0 |
      |                                       |             |    |         |      |           E0 A7 DF 00 |
 9716 | 38                  logodata.s     43 | Data        | 11 |         |   32 | 00/EE80 : 01 EF BB 6F |                          HEX     01EFBB6FEFA030F859AAAA8AB4DEB8F0C3698FCE28A0A7DF000EE883EF88FF0E
      |                                       |             |    |         |      |           EF A0 30 F8 |
      |                                       |             |    |         |      |           59 AA AA 8A |
      |                                       |             |    |         |      |           B4 DE B8 F0 |
      |                                       |             |    |         |      |           C3 69 8F CE |
      |                                       |             |    |         |      |           28 A0 A7 DF |
      |                                       |             |    |         |      |           00 0E E8 83 |
      |                                       |             |    |         |      |           EF 88 FF 0E |
 9717 | 38                  logodata.s     44 | Data        | 11 |         |   32 | 00/EEA0 : F7 FB 8D 0B |                          HEX     F7FB8D0BF819E080FFBFB6DEC34CAFFFD700EAA3F780B03DEAE0F28380EF8BF7
      |                                       |             |    |         |      |           F8 19 E0 80 |
      |                                       |             |    |         |      |           FF BF B6 DE |
      |                                       |             |    |         |      |           C3 4C AF FF |
      |                                       |             |    |         |      |           D7 00 EA A3 |
      |                                       |             |    |         |      |           F7 80 B0 3D |
      |                                       |             |    |         |      |           EA E0 F2 83 |
      |                                       |             |    |         |      |           80 EF 8B F7 |
 9718 | 38                  logodata.s     45 | Data        | 11 |         |   32 | 00/EEC0 : DE FB FE 08 |                          HEX     DEFBFE08EC8AE9B868C38081FAB1A8AAAFF2A000F7FDF73FECE0A20226F62100
      |                                       |             |    |         |      |           EC 8A E9 B8 |
      |                                       |             |    |         |      |           68 C3 80 81 |
      |                                       |             |    |         |      |           FA B1 A8 AA |
      |                                       |             |    |         |      |           AF F2 A0 00 |
      |                                       |             |    |         |      |           F7 FD F7 3F |
      |                                       |             |    |         |      |           EC E0 A2 02 |
      |                                       |             |    |         |      |           26 F6 21 00 |
 9719 | 38                  logodata.s     46 | Data        | 11 |         |   32 | 00/EEE0 : 3C 22 29 C0 |                          HEX     3C2229C06B2882AF8B9F8000F08E80EF80EAEBE4F0FDF7A1FAE9B2BD2DB88DA3
      |                                       |             |    |         |      |           6B 28 82 AF |
      |                                       |             |    |         |      |           8B 9F 80 00 |
      |                                       |             |    |         |      |           F0 8E 80 EF |
      |                                       |             |    |         |      |           80 EA EB E4 |
      |                                       |             |    |         |      |           F0 FD F7 A1 |
      |                                       |             |    |         |      |           FA E9 B2 BD |
      |                                       |             |    |         |      |           2D B8 8D A3 |
 9720 | 38                  logodata.s     47 | Data        | 11 |         |   32 | 00/EF00 : 82 BB 00 A5 |                          HEX     82BB00A59D80A70030E9C0BBFF83FFF700EFFFA7DE00E9DEEFD0F302FBA080C0
      |                                       |             |    |         |      |           9D 80 A7 00 |
      |                                       |             |    |         |      |           30 E9 C0 BB |
      |                                       |             |    |         |      |           FF 83 FF F7 |
      |                                       |             |    |         |      |           00 EF FF A7 |
      |                                       |             |    |         |      |           DE 00 E9 DE |
      |                                       |             |    |         |      |           EF D0 F3 02 |
      |                                       |             |    |         |      |           FB A0 80 C0 |
 9721 | 38                  logodata.s     48 | Data        | 11 |         |   32 | 00/EF20 : 8D 83 80 82 |                          HEX     8D838082C924A080F7E08029AF900060FA808087F4F083A2BF0008FFA7DF0003
      |                                       |             |    |         |      |           C9 24 A0 80 |
      |                                       |             |    |         |      |           F7 E0 80 29 |
      |                                       |             |    |         |      |           AF 90 00 60 |
      |                                       |             |    |         |      |           FA 80 80 87 |
      |                                       |             |    |         |      |           F4 F0 83 A2 |
      |                                       |             |    |         |      |           BF 00 08 FF |
      |                                       |             |    |         |      |           A7 DF 00 03 |
 9722 | 38                  logodata.s     49 | Data        | 11 |         |   32 | 00/EF40 : 65 FC A7 DF |                          HEX     65FCA7DF000DB38EA39D80EE8BA700FA256600AA83FE87F67CA77EA886999EA7
      |                                       |             |    |         |      |           00 0D B3 8E |
      |                                       |             |    |         |      |           A3 9D 80 EE |
      |                                       |             |    |         |      |           8B A7 00 FA |
      |                                       |             |    |         |      |           25 66 00 AA |
      |                                       |             |    |         |      |           83 FE 87 F6 |
      |                                       |             |    |         |      |           7C A7 7E A8 |
      |                                       |             |    |         |      |           86 99 9E A7 |
 9723 | 38                  logodata.s     50 | Data        | 11 |         |   32 | 00/EF60 : 00 FA 5A 81 |                          HEX     00FA5A81FE68FCACA0DF00EFED07EF88F03AE8A8F8AAF88DF84FC080FCFF808D
      |                                       |             |    |         |      |           FE 68 FC AC |
      |                                       |             |    |         |      |           A0 DF 00 EF |
      |                                       |             |    |         |      |           ED 07 EF 88 |
      |                                       |             |    |         |      |           F0 3A E8 A8 |
      |                                       |             |    |         |      |           F8 AA F8 8D |
      |                                       |             |    |         |      |           F8 4F C0 80 |
      |                                       |             |    |         |      |           FC FF 80 8D |
 9724 | 38                  logodata.s     51 | Data        | 11 |         |   32 | 00/EF80 : B7 EF AA 03 |                          HEX     B7EFAA03EF8014EF83EF80F002FFE0FFDFFB0781AE74B48EF82BBF8B874E8D6D
      |                                       |             |    |         |      |           EF 80 14 EF |
      |                                       |             |    |         |      |           83 EF 80 F0 |
      |                                       |             |    |         |      |           02 FF E0 FF |
      |                                       |             |    |         |      |           DF FB 07 81 |
      |                                       |             |    |         |      |           AE 74 B4 8E |
      |                                       |             |    |         |      |           F8 2B BF 8B |
      |                                       |             |    |         |      |           87 4E 8D 6D |
 9725 | 38                  logodata.s     52 | Data        | 11 |         |   32 | 00/EFA0 : EE 6E B7 EE |                          HEX     EE6EB7EEA00031F8E080C883EA82EF8BCFF7C0ED09ED8A40DC8AE0AFFEA1D6A8
      |                                       |             |    |         |      |           A0 00 31 F8 |
      |                                       |             |    |         |      |           E0 80 C8 83 |
      |                                       |             |    |         |      |           EA 82 EF 8B |
      |                                       |             |    |         |      |           CF F7 C0 ED |
      |                                       |             |    |         |      |           09 ED 8A 40 |
      |                                       |             |    |         |      |           DC 8A E0 AF |
      |                                       |             |    |         |      |           FE A1 D6 A8 |
 9726 | 38                  logodata.s     53 | Data        | 11 |         |   32 | 00/EFC0 : AA D0 00 FF |                          HEX     AAD000FFF88FF75FAEC000EEB9FA0FAE80802021CB22AFE49A80ECDEE880EF8F
      |                                       |             |    |         |      |           F8 8F F7 5F |
      |                                       |             |    |         |      |           AE C0 00 EE |
      |                                       |             |    |         |      |           B9 FA 0F AE |
      |                                       |             |    |         |      |           80 80 20 21 |
      |                                       |             |    |         |      |           CB 22 AF E4 |
      |                                       |             |    |         |      |           9A 80 EC DE |
      |                                       |             |    |         |      |           E8 80 EF 8F |
 9727 | 38                  logodata.s     54 | Data        | 11 |         |   32 | 00/EFE0 : F8 05 E8 FE |                          HEX     F805E8FEA2F9A37D7660B4A98200EC8D836B0AA7001DF080BCA700FF14EBFEE8
      |                                       |             |    |         |      |           A2 F9 A3 7D |
      |                                       |             |    |         |      |           76 60 B4 A9 |
      |                                       |             |    |         |      |           82 00 EC 8D |
      |                                       |             |    |         |      |           83 6B 0A A7 |
      |                                       |             |    |         |      |           00 1D F0 80 |
      |                                       |             |    |         |      |           BC A7 00 FF |
      |                                       |             |    |         |      |           14 EB FE E8 |
 9728 | 38                  logodata.s     55 | Data        | 11 |         |   32 | 00/F000 : ED EF F8 03 |                          HEX     EDEFF803B28088FD0AA300E880EDA3A69F80EF9025EBFBE9BFAF839F0004EDAE
      |                                       |             |    |         |      |           B2 80 88 FD |
      |                                       |             |    |         |      |           0A A3 00 E8 |
      |                                       |             |    |         |      |           80 ED A3 A6 |
      |                                       |             |    |         |      |           9F 80 EF 90 |
      |                                       |             |    |         |      |           25 EB FB E9 |
      |                                       |             |    |         |      |           BF AF 83 9F |
      |                                       |             |    |         |      |           00 04 ED AE |
 9729 | 38                  logodata.s     56 | Data        | 11 |         |   32 | 00/F020 : 20 C9 AF C0 |                          HEX     20C9AFC0806FEFC821660029FEEE89DFFEAF8FDF00839180B79500E9C0A080F7
      |                                       |             |    |         |      |           80 6F EF C8 |
      |                                       |             |    |         |      |           21 66 00 29 |
      |                                       |             |    |         |      |           FE EE 89 DF |
      |                                       |             |    |         |      |           FE AF 8F DF |
      |                                       |             |    |         |      |           00 83 91 80 |
      |                                       |             |    |         |      |           B7 95 00 E9 |
      |                                       |             |    |         |      |           C0 A0 80 F7 |
 9730 | 38                  logodata.s     57 | Data        | 11 |         |   32 | 00/F040 : 83 8D FD 05 |                          HEX     838DFD05AF8000B9A780FD26A210A9B4960088FC76E9FF017D4780EFBB65AF8B
      |                                       |             |    |         |      |           AF 80 00 B9 |
      |                                       |             |    |         |      |           A7 80 FD 26 |
      |                                       |             |    |         |      |           A2 10 A9 B4 |
      |                                       |             |    |         |      |           96 00 88 FC |
      |                                       |             |    |         |      |           76 E9 FF 01 |
      |                                       |             |    |         |      |           7D 47 80 EF |
      |                                       |             |    |         |      |           BB 65 AF 8B |
 9731 | 38                  logodata.s     58 | Data        | 11 |         |   32 | 00/F060 : 80 1E EF 80 |                          HEX     801EEF80867FFA4FFF7E06BB19FFEFF780DC8179D68FFC480DAF8300BBEEEE62
      |                                       |             |    |         |      |           86 7F FA 4F |
      |                                       |             |    |         |      |           FF 7E 06 BB |
      |                                       |             |    |         |      |           19 FF EF F7 |
      |                                       |             |    |         |      |           80 DC 81 79 |
      |                                       |             |    |         |      |           D6 8F FC 48 |
      |                                       |             |    |         |      |           0D AF 83 00 |
      |                                       |             |    |         |      |           BB EE EE 62 |
 9732 | 38                  logodata.s     59 | Data        | 11 |         |   32 | 00/F080 : F0 82 56 E8 |                          HEX     F08256E8824A8E80E8BBA7AD00A79F000CE9E0488D84B3F88D4080BBAAC28D54
      |                                       |             |    |         |      |           82 4A 8E 80 |
      |                                       |             |    |         |      |           E8 BB A7 AD |
      |                                       |             |    |         |      |           00 A7 9F 00 |
      |                                       |             |    |         |      |           0C E9 E0 48 |
      |                                       |             |    |         |      |           8D 84 B3 F8 |
      |                                       |             |    |         |      |           8D 40 80 BB |
      |                                       |             |    |         |      |           AA C2 8D 54 |
 9733 | 38                  logodata.s     60 | Data        | 11 |         |   32 | 00/F0A0 : 80 67 5E A6 |                          HEX     80675EA6F500EE90AF8280FF12EF8008F4FDF7FC15E0B7D0836A8EF0A78087B1
      |                                       |             |    |         |      |           F5 00 EE 90 |
      |                                       |             |    |         |      |           AF 82 80 FF |
      |                                       |             |    |         |      |           12 EF 80 08 |
      |                                       |             |    |         |      |           F4 FD F7 FC |
      |                                       |             |    |         |      |           15 E0 B7 D0 |
      |                                       |             |    |         |      |           83 6A 8E F0 |
      |                                       |             |    |         |      |           A7 80 87 B1 |
 9734 | 38                  logodata.s     61 | Data        | 11 |         |   32 | 00/F0C0 : F0 D0 84 BA |                          HEX     F0D084BA3783F0FF8FFCC074218DA200F7FFFDFD00F5FDB4ED83A780E5F48080
      |                                       |             |    |         |      |           37 83 F0 FF |
      |                                       |             |    |         |      |           8F FC C0 74 |
      |                                       |             |    |         |      |           21 8D A2 00 |
      |                                       |             |    |         |      |           F7 FF FD FD |
      |                                       |             |    |         |      |           00 F5 FD B4 |
      |                                       |             |    |         |      |           ED 83 A7 80 |
      |                                       |             |    |         |      |           E5 F4 80 80 |
 9735 | 38                  logodata.s     62 | Data        | 11 |         |   32 | 00/F0E0 : EB C0 AF E0 |                          HEX     EBC0AFE0803FEF9025EBB7E9C3EF83FA01613C837AA25F80EF8038804D80EA8F
      |                                       |             |    |         |      |           80 3F EF 90 |
      |                                       |             |    |         |      |           25 EB B7 E9 |
      |                                       |             |    |         |      |           C3 EF 83 FA |
      |                                       |             |    |         |      |           01 61 3C 83 |
      |                                       |             |    |         |      |           7A A2 5F 80 |
      |                                       |             |    |         |      |           EF 80 38 80 |
      |                                       |             |    |         |      |           4D 80 EA 8F |
 9736 | 38                  logodata.s     63 | Data        | 11 |         |   32 | 00/F100 : A1 00 EF 8F |                          HEX     A100EF8FFF12EFB25869805E688E2194FCD0FD0AA780F90EAFB080F72FACAADA
      |                                       |             |    |         |      |           FF 12 EF B2 |
      |                                       |             |    |         |      |           58 69 80 5E |
      |                                       |             |    |         |      |           68 8E 21 94 |
      |                                       |             |    |         |      |           FC D0 FD 0A |
      |                                       |             |    |         |      |           A7 80 F9 0E |
      |                                       |             |    |         |      |           AF B0 80 F7 |
      |                                       |             |    |         |      |           2F AC AA DA |
 9737 | 38                  logodata.s     64 | Data        | 11 |         |   32 | 00/F120 : A1 83 2C 40 |                          HEX     A1832C407E8AB85697AA828F800DEF8B4BEF80A6DF7CA700FF07815EE88F6983
      |                                       |             |    |         |      |           7E 8A B8 56 |
      |                                       |             |    |         |      |           97 AA 82 8F |
      |                                       |             |    |         |      |           80 0D EF 8B |
      |                                       |             |    |         |      |           4B EF 80 A6 |
      |                                       |             |    |         |      |           DF 7C A7 00 |
      |                                       |             |    |         |      |           FF 07 81 5E |
      |                                       |             |    |         |      |           E8 8F 69 83 |
 9738 | 38                  logodata.s     65 | Data        | 11 |         |   32 | 00/F140 : 72 B3 FB 8D |                          HEX     72B3FB8DB70084CAA7DC00ED8363F0B1E483D400FF90AEA380B280B8CFEFFB08
      |                                       |             |    |         |      |           B7 00 84 CA |
      |                                       |             |    |         |      |           A7 DC 00 ED |
      |                                       |             |    |         |      |           83 63 F0 B1 |
      |                                       |             |    |         |      |           E4 83 D4 00 |
      |                                       |             |    |         |      |           FF 90 AE A3 |
      |                                       |             |    |         |      |           80 B2 80 B8 |
      |                                       |             |    |         |      |           CF EF FB 08 |
 9739 | 38                  logodata.s     66 | Data        | 11 |         |   32 | 00/F160 : 43 04 B1 B4 |                          HEX     4304B1B48E53E0A17AA2667ABA83DFB8AA82E0F8FDF7D3CCA9E480F7E48BFD1D
      |                                       |             |    |         |      |           8E 53 E0 A1 |
      |                                       |             |    |         |      |           7A A2 66 7A |
      |                                       |             |    |         |      |           BA 83 DF B8 |
      |                                       |             |    |         |      |           AA 82 E0 F8 |
      |                                       |             |    |         |      |           FD F7 D3 CC |
      |                                       |             |    |         |      |           A9 E4 80 F7 |
      |                                       |             |    |         |      |           E4 8B FD 1D |
 9740 | 38                  logodata.s     67 | Data        | 11 |         |   32 | 00/F180 : A6 00 EC B4 |                          HEX     A600ECB4EFFDF209AA8EBE628070B28E74A9C2DF00F580C8478022AFFE9100A7
      |                                       |             |    |         |      |           EF FD F2 09 |
      |                                       |             |    |         |      |           AA 8E BE 62 |
      |                                       |             |    |         |      |           80 70 B2 8E |
      |                                       |             |    |         |      |           74 A9 C2 DF |
      |                                       |             |    |         |      |           00 F5 80 C8 |
      |                                       |             |    |         |      |           47 80 22 AF |
      |                                       |             |    |         |      |           FE 91 00 A7 |
 9741 | 38                  logodata.s     68 | Data        | 11 |         |   32 | 00/F1A0 : 5F 80 0D EB |                          HEX     5F800DEB80EFE0FE32EBFBE9B4EFB782FDBCF28080A100F7EE80F532A600EC80
      |                                       |             |    |         |      |           80 EF E0 FE |
      |                                       |             |    |         |      |           32 EB FB E9 |
      |                                       |             |    |         |      |           B4 EF B7 82 |
      |                                       |             |    |         |      |           FD BC F2 80 |
      |                                       |             |    |         |      |           80 A1 00 F7 |
      |                                       |             |    |         |      |           EE 80 F5 32 |
      |                                       |             |    |         |      |           A6 00 EC 80 |
 9742 | 38                  logodata.s     69 | Data        | 11 |         |   13 | 00/F1C0 : AF B4 DF 00 |                          HEX     AFB4DF000CEC80EFA3FF28E7E8
      |                                       |             |    |         |      |           0C EC 80 EF |
      |                                       |             |    |         |      |           A3 FF 28 E7 |
      |                                       |             |    |         |      |           E8          |
 9743 | 38                  logodata.s     70 | Empty       | 11 |         |    0 | 00/F1CD               | LogoAuxEnd                                            
 9744 | 38                  logodata.s     71 | Empty       | 11 |         |    0 | 00/F1CD               |                                                       
 9745 | 38                  logodata.s     72 | Empty       | 11 |         |    0 | 00/F1CD               | LogoMain                                              
 9746 | 38                  logodata.s     73 | Data        | 11 |         |   32 | 00/F1CD : 0F 80 FF 17 |                          HEX     0F80FF17385CDBEFBD87DB87BDF05780F6C4D43998E491C699E490EAE88028F7
      |                                       |             |    |         |      |           38 5C DB EF |
      |                                       |             |    |         |      |           BD 87 DB 87 |
      |                                       |             |    |         |      |           BD F0 57 80 |
      |                                       |             |    |         |      |           F6 C4 D4 39 |
      |                                       |             |    |         |      |           98 E4 91 C6 |
      |                                       |             |    |         |      |           99 E4 90 EA |
      |                                       |             |    |         |      |           E8 80 28 F7 |
 9747 | 38                  logodata.s     74 | Data        | 11 |         |   32 | 00/F1ED : F8 06 81 E4 |                          HEX     F80681E4812229E0E0E884288048F08A0D00FFEF80184080F82DF09E80E1FFF7
      |                                       |             |    |         |      |           81 22 29 E0 |
      |                                       |             |    |         |      |           E0 E8 84 28 |
      |                                       |             |    |         |      |           80 48 F0 8A |
      |                                       |             |    |         |      |           0D 00 FF EF |
      |                                       |             |    |         |      |           80 18 40 80 |
      |                                       |             |    |         |      |           F8 2D F0 9E |
      |                                       |             |    |         |      |           80 E1 FF F7 |
 9748 | 38                  logodata.s     75 | Data        | 11 |         |   32 | 00/F20D : 9D F0 FA 10 |                          HEX     9DF0FA1081E4C1F0FF81E49124EA81214080EF9CF421EAD54188F9E0879F809F
      |                                       |             |    |         |      |           81 E4 C1 F0 |
      |                                       |             |    |         |      |           FF 81 E4 91 |
      |                                       |             |    |         |      |           24 EA 81 21 |
      |                                       |             |    |         |      |           40 80 EF 9C |
      |                                       |             |    |         |      |           F4 21 EA D5 |
      |                                       |             |    |         |      |           41 88 F9 E0 |
      |                                       |             |    |         |      |           87 9F 80 9F |
 9749 | 38                  logodata.s     76 | Data        | 11 |         |   32 | 00/F22D : 80 BC 4F D4 |                          HEX     80BC4FD480DFEA81EA99EA80F0C1C0E99C64E84FDC000148C02477F6DF80F004
      |                                       |             |    |         |      |           80 DF EA 81 |
      |                                       |             |    |         |      |           EA 99 EA 80 |
      |                                       |             |    |         |      |           F0 C1 C0 E9 |
      |                                       |             |    |         |      |           9C 64 E8 4F |
      |                                       |             |    |         |      |           DC 00 01 48 |
      |                                       |             |    |         |      |           C0 24 77 F6 |
      |                                       |             |    |         |      |           DF 80 F0 04 |
 9750 | 38                  logodata.s     77 | Data        | 11 |         |   32 | 00/F24D : F8 FF BC F6 |                          HEX     F8FFBCF631A0F0E37886C1EFA1F7C070E9F02065470064803386DDC1629059DC
      |                                       |             |    |         |      |           31 A0 F0 E3 |
      |                                       |             |    |         |      |           78 86 C1 EF |
      |                                       |             |    |         |      |           A1 F7 C0 70 |
      |                                       |             |    |         |      |           E9 F0 20 65 |
      |                                       |             |    |         |      |           47 00 64 80 |
      |                                       |             |    |         |      |           33 86 DD C1 |
      |                                       |             |    |         |      |           62 90 59 DC |
 9751 | 38                  logodata.s     78 | Data        | 11 |         |   32 | 00/F26D : F2 98 80 7C |                          HEX     F298807C7911E081F7816C7F9D819192809F4ADAB84180EF810231F79D0048DA
      |                                       |             |    |         |      |           79 11 E0 81 |
      |                                       |             |    |         |      |           F7 81 6C 7F |
      |                                       |             |    |         |      |           9D 81 91 92 |
      |                                       |             |    |         |      |           80 9F 4A DA |
      |                                       |             |    |         |      |           B8 41 80 EF |
      |                                       |             |    |         |      |           81 02 31 F7 |
      |                                       |             |    |         |      |           9D 00 48 DA |
 9752 | 38                  logodata.s     79 | Data        | 11 |         |   32 | 00/F28D : 04 51 F0 C1 |                          HEX     0451F0C1D4F89BE8A1380687808628A17138FFDDA0DD1E206F81B3F8104780F3
      |                                       |             |    |         |      |           D4 F8 9B E8 |
      |                                       |             |    |         |      |           A1 38 06 87 |
      |                                       |             |    |         |      |           80 86 28 A1 |
      |                                       |             |    |         |      |           71 38 FF DD |
      |                                       |             |    |         |      |           A0 DD 1E 20 |
      |                                       |             |    |         |      |           6F 81 B3 F8 |
      |                                       |             |    |         |      |           10 47 80 F3 |
 9753 | 38                  logodata.s     80 | Data        | 11 |         |   32 | 00/F2AD : F0 DB 29 80 |                          HEX     F0DB2980EF427E87A8E479E8BDF6C1878184B448847850BC801C60F43091EFCF
      |                                       |             |    |         |      |           EF 42 7E 87 |
      |                                       |             |    |         |      |           A8 E4 79 E8 |
      |                                       |             |    |         |      |           BD F6 C1 87 |
      |                                       |             |    |         |      |           81 84 B4 48 |
      |                                       |             |    |         |      |           84 78 50 BC |
      |                                       |             |    |         |      |           80 1C 60 F4 |
      |                                       |             |    |         |      |           30 91 EF CF |
 9754 | 38                  logodata.s     81 | Data        | 11 |         |   32 | 00/F2CD : 84 98 69 C1 |                          HEX     849869C12066C4FBC1E080838FFE80FEA0E08780F8BEFA9E79BEFF9EF8464780
      |                                       |             |    |         |      |           20 66 C4 FB |
      |                                       |             |    |         |      |           C1 E0 80 83 |
      |                                       |             |    |         |      |           8F FE 80 FE |
      |                                       |             |    |         |      |           A0 E0 87 80 |
      |                                       |             |    |         |      |           F8 BE FA 9E |
      |                                       |             |    |         |      |           79 BE FF 9E |
      |                                       |             |    |         |      |           F8 46 47 80 |
 9755 | 38                  logodata.s     82 | Data        | 11 |         |   32 | 00/F2ED : D1 EC 80 FF |                          HEX     D1EC80FFA1F0DBE8FF0268C1B08AF0B4E89DFA1FF290C698622C8BF09883FFA0
      |                                       |             |    |         |      |           A1 F0 DB E8 |
      |                                       |             |    |         |      |           FF 02 68 C1 |
      |                                       |             |    |         |      |           B0 8A F0 B4 |
      |                                       |             |    |         |      |           E8 9D FA 1F |
      |                                       |             |    |         |      |           F2 90 C6 98 |
      |                                       |             |    |         |      |           62 2C 8B F0 |
      |                                       |             |    |         |      |           98 83 FF A0 |
 9756 | 38                  logodata.s     83 | Data        | 11 |         |   32 | 00/F30D : 47 00 1E 66 |                          HEX     47001E6604447CB7BC86FFA803EA80E99C72DDF7242BC16F4180E8A0EF982007
      |                                       |             |    |         |      |           04 44 7C B7 |
      |                                       |             |    |         |      |           BC 86 FF A8 |
      |                                       |             |    |         |      |           03 EA 80 E9 |
      |                                       |             |    |         |      |           9C 72 DD F7 |
      |                                       |             |    |         |      |           24 2B C1 6F |
      |                                       |             |    |         |      |           41 80 E8 A0 |
      |                                       |             |    |         |      |           EF 98 20 07 |
 9757 | 38                  logodata.s     84 | Data        | 11 |         |   32 | 00/F32D : EF 15 41 5E |                          HEX     EF15415E607A7180DA76B780EFFE80A2FC8662E222415A248E415229C08B86EF
      |                                       |             |    |         |      |           60 7A 71 80 |
      |                                       |             |    |         |      |           DA 76 B7 80 |
      |                                       |             |    |         |      |           EF FE 80 A2 |
      |                                       |             |    |         |      |           FC 86 62 E2 |
      |                                       |             |    |         |      |           22 41 5A 24 |
      |                                       |             |    |         |      |           8E 41 52 29 |
      |                                       |             |    |         |      |           C0 8B 86 EF |
 9758 | 38                  logodata.s     85 | Data        | 11 |         |   32 | 00/F34D : EA A7 00 F1 |                          HEX     EAA700F124F9F69BEFFE4180EFE8F200F2C1F061564780EA81204F62C2478021
      |                                       |             |    |         |      |           24 F9 F6 9B |
      |                                       |             |    |         |      |           EF FE 41 80 |
      |                                       |             |    |         |      |           EF E8 F2 00 |
      |                                       |             |    |         |      |           F2 C1 F0 61 |
      |                                       |             |    |         |      |           56 47 80 EA |
      |                                       |             |    |         |      |           81 20 4F 62 |
      |                                       |             |    |         |      |           C2 47 80 21 |
 9759 | 38                  logodata.s     86 | Data        | 11 |         |   32 | 00/F36D : AD 81 FF D6 |                          HEX     AD81FFD6A200F90CA1F6C157C08580E9E0440CE88024844B9C00224FDC00FF01
      |                                       |             |    |         |      |           A2 00 F9 0C |
      |                                       |             |    |         |      |           A1 F6 C1 57 |
      |                                       |             |    |         |      |           C0 85 80 E9 |
      |                                       |             |    |         |      |           E0 44 0C E8 |
      |                                       |             |    |         |      |           80 24 84 4B |
      |                                       |             |    |         |      |           9C 00 22 4F |
      |                                       |             |    |         |      |           DC 00 FF 01 |
 9760 | 38                  logodata.s     87 | Data        | 11 |         |   32 | 00/F38D : A2 22 4F BF |                          HEX     A2224FBF04FF04A45EB2EF9CF37E68F0F841825FE8BDFEFBEFBC5AA23C98F0DD
      |                                       |             |    |         |      |           04 FF 04 A4 |
      |                                       |             |    |         |      |           5E B2 EF 9C |
      |                                       |             |    |         |      |           F3 7E 68 F0 |
      |                                       |             |    |         |      |           F8 41 82 5F |
      |                                       |             |    |         |      |           E8 BD FE FB |
      |                                       |             |    |         |      |           EF BC 5A A2 |
      |                                       |             |    |         |      |           3C 98 F0 DD |
 9761 | 38                  logodata.s     88 | Data        | 11 |         |   32 | 00/F3AD : C6 99 42 FC |                          HEX     C69942FCC6DDF080A02985D17F85978097005F468469BDA4A700FF02E8C8B2F6
      |                                       |             |    |         |      |           C6 DD F0 80 |
      |                                       |             |    |         |      |           A0 29 85 D1 |
      |                                       |             |    |         |      |           7F 85 97 80 |
      |                                       |             |    |         |      |           97 00 5F 46 |
      |                                       |             |    |         |      |           84 69 BD A4 |
      |                                       |             |    |         |      |           A7 00 FF 02 |
      |                                       |             |    |         |      |           E8 C8 B2 F6 |
 9762 | 38                  logodata.s     89 | Data        | 11 |         |   32 | 00/F3CD : DB 12 9B 1E |                          HEX     DB129B1EE89DF081FE384780F2C08781F6C151FEC02E28DCEFAF8700FE214CE8
      |                                       |             |    |         |      |           E8 9D F0 81 |
      |                                       |             |    |         |      |           FE 38 47 80 |
      |                                       |             |    |         |      |           F2 C0 87 81 |
      |                                       |             |    |         |      |           F6 C1 51 FE |
      |                                       |             |    |         |      |           C0 2E 28 DC |
      |                                       |             |    |         |      |           EF AF 87 00 |
      |                                       |             |    |         |      |           FE 21 4C E8 |
 9763 | 38                  logodata.s     90 | Data        | 11 |         |   32 | 00/F3ED : 80 8F C0 7E |                          HEX     808FC07EFF028206F95884DBEFA18681869D69A08020688020607072F0981863
      |                                       |             |    |         |      |           FF 02 82 06 |
      |                                       |             |    |         |      |           F9 58 84 DB |
      |                                       |             |    |         |      |           EF A1 86 81 |
      |                                       |             |    |         |      |           86 9D 69 A0 |
      |                                       |             |    |         |      |           80 20 68 80 |
      |                                       |             |    |         |      |           20 60 70 72 |
      |                                       |             |    |         |      |           F0 98 18 63 |
 9764 | 38                  logodata.s     91 | Data        | 11 |         |   32 | 00/F40D : 20 67 FB 00 |                          HEX     2067FB0059879EF8B832F8E1EA203180E06BE9E14FE08086FF28432C57BD8680
      |                                       |             |    |         |      |           59 87 9E F8 |
      |                                       |             |    |         |      |           B8 32 F8 E1 |
      |                                       |             |    |         |      |           EA 20 31 80 |
      |                                       |             |    |         |      |           E0 6B E9 E1 |
      |                                       |             |    |         |      |           4F E0 80 86 |
      |                                       |             |    |         |      |           FF 28 43 2C |
      |                                       |             |    |         |      |           57 BD 86 80 |
 9765 | 38                  logodata.s     92 | Data        | 11 |         |   32 | 00/F42D : 02 88 C1 FF |                          HEX     0288C1FF28F1F081E99DB398E476622C57F099800F470021F380A0E9DBF7DAEF
      |                                       |             |    |         |      |           28 F1 F0 81 |
      |                                       |             |    |         |      |           E9 9D B3 98 |
      |                                       |             |    |         |      |           E4 76 62 2C |
      |                                       |             |    |         |      |           57 F0 99 80 |
      |                                       |             |    |         |      |           0F 47 00 21 |
      |                                       |             |    |         |      |           F3 80 A0 E9 |
      |                                       |             |    |         |      |           DB F7 DA EF |
 9766 | 38                  logodata.s     93 | Data        | 11 |         |   32 | 00/F44D : FF 01 A5 A8 |                          HEX     FF01A5A8E89C2C878F8BC19C4180E8A0EF90FD1DA700F719FFE8FDF69BF8A080
      |                                       |             |    |         |      |           E8 9C 2C 87 |
      |                                       |             |    |         |      |           8F 8B C1 9C |
      |                                       |             |    |         |      |           41 80 E8 A0 |
      |                                       |             |    |         |      |           EF 90 FD 1D |
      |                                       |             |    |         |      |           A7 00 F7 19 |
      |                                       |             |    |         |      |           FF E8 FD F6 |
      |                                       |             |    |         |      |           9B F8 A0 80 |
 9767 | 38                  logodata.s     94 | Data        | 11 |         |   32 | 00/F46D : DB FF 81 ED |                          HEX     DBFF81ED8210A4D700EF81EF86FD2B615E68FF3070FFDAFEB7F6D400FF5506B2
      |                                       |             |    |         |      |           82 10 A4 D7 |
      |                                       |             |    |         |      |           00 EF 81 EF |
      |                                       |             |    |         |      |           86 FD 2B 61 |
      |                                       |             |    |         |      |           5E 68 FF 30 |
      |                                       |             |    |         |      |           70 FF DA FE |
      |                                       |             |    |         |      |           B7 F6 D4 00 |
      |                                       |             |    |         |      |           FF 55 06 B2 |
 9768 | 38                  logodata.s     95 | Data        | 11 |         |   32 | 00/F48D : A1 F6 D0 00 |                          HEX     A1F6D0009CC0E89DCDEDAFFF0090F781C0EBE4EF80FF0D630243B107EDABE0DC
      |                                       |             |    |         |      |           9C C0 E8 9D |
      |                                       |             |    |         |      |           CD ED AF FF |
      |                                       |             |    |         |      |           00 90 F7 81 |
      |                                       |             |    |         |      |           C0 EB E4 EF |
      |                                       |             |    |         |      |           80 FF 0D 63 |
      |                                       |             |    |         |      |           02 43 B1 07 |
      |                                       |             |    |         |      |           ED AB E0 DC |
 9769 | 38                  logodata.s     96 | Data        | 11 |         |   32 | 00/F4AD : 92 81 86 C4 |                          HEX     928186C4049A9AEF9CF8C0D580DED097F0DA5041EB9DFC90F0DCE028DDF2F8A0
      |                                       |             |    |         |      |           04 9A 9A EF |
      |                                       |             |    |         |      |           9C F8 C0 D5 |
      |                                       |             |    |         |      |           80 DE D0 97 |
      |                                       |             |    |         |      |           F0 DA 50 41 |
      |                                       |             |    |         |      |           EB 9D FC 90 |
      |                                       |             |    |         |      |           F0 DC E0 28 |
      |                                       |             |    |         |      |           DD F2 F8 A0 |
 9770 | 38                  logodata.s     97 | Data        | 11 |         |   32 | 00/F4CD : 85 F0 80 81 |                          HEX     85F0808129C023BF85A081F78087D900EFDBFC09A99C84AAFDFC12688084299D
      |                                       |             |    |         |      |           29 C0 23 BF |
      |                                       |             |    |         |      |           85 A0 81 F7 |
      |                                       |             |    |         |      |           80 87 D9 00 |
      |                                       |             |    |         |      |           EF DB FC 09 |
      |                                       |             |    |         |      |           A9 9C 84 AA |
      |                                       |             |    |         |      |           FD FC 12 68 |
      |                                       |             |    |         |      |           80 84 29 9D |
 9771 | 38                  logodata.s     98 | Data        | 11 |         |   32 | 00/F4ED : 99 1D BC 86 |                          HEX     991DBC8681F054A0DF00E886B1C0F700FF00928092A1D080F8BF809E21CDA088
      |                                       |             |    |         |      |           81 F0 54 A0 |
      |                                       |             |    |         |      |           DF 00 E8 86 |
      |                                       |             |    |         |      |           B1 C0 F7 00 |
      |                                       |             |    |         |      |           FF 00 92 80 |
      |                                       |             |    |         |      |           92 A1 D0 80 |
      |                                       |             |    |         |      |           F8 BF 80 9E |
      |                                       |             |    |         |      |           21 CD A0 88 |
 9772 | 38                  logodata.s     99 | Data        | 11 |         |   32 | 00/F50D : F1 80 A0 B9 |                          HEX     F180A0B91F8FE1F8FE6CAF83DF0000EA87EFBDF0064A86889A80849DB8A46180
      |                                       |             |    |         |      |           1F 8F E1 F8 |
      |                                       |             |    |         |      |           FE 6C AF 83 |
      |                                       |             |    |         |      |           DF 00 00 EA |
      |                                       |             |    |         |      |           87 EF BD F0 |
      |                                       |             |    |         |      |           06 4A 86 88 |
      |                                       |             |    |         |      |           9A 80 84 9D |
      |                                       |             |    |         |      |           B8 A4 61 80 |
 9773 | 38                  logodata.s    100 | Data        | 11 |         |   32 | 00/F52D : 20 68 80 20 |                          HEX     20688020003DA780CF489E80A4001B16FFFF87FE21CD49F870A700EFEBDFE8BD
      |                                       |             |    |         |      |           00 3D A7 80 |
      |                                       |             |    |         |      |           CF 48 9E 80 |
      |                                       |             |    |         |      |           A4 00 1B 16 |
      |                                       |             |    |         |      |           FF FF 87 FE |
      |                                       |             |    |         |      |           21 CD 49 F8 |
      |                                       |             |    |         |      |           70 A7 00 EF |
      |                                       |             |    |         |      |           EB DF E8 BD |
 9774 | 38                  logodata.s    101 | Data        | 11 |         |   32 | 00/F54D : EF EF 0D EF |                          HEX     EFEF0DEFF72FE980EFF028EF801FEFF703EDE4A2E89622A7DF0059F85F9D86E1
      |                                       |             |    |         |      |           F7 2F E9 80 |
      |                                       |             |    |         |      |           EF F0 28 EF |
      |                                       |             |    |         |      |           80 1F EF F7 |
      |                                       |             |    |         |      |           03 ED E4 A2 |
      |                                       |             |    |         |      |           E8 96 22 A7 |
      |                                       |             |    |         |      |           DF 00 59 F8 |
      |                                       |             |    |         |      |           5F 9D 86 E1 |
 9775 | 38                  logodata.s    102 | Data        | 11 |         |   32 | 00/F56D : EF 9D FF 81 |                          HEX     EF9DFF8180EF8101F7C1E0EFEF8428F0D5D5B2C1EFFE00A21CB7D485DF0055A6
      |                                       |             |    |         |      |           80 EF 81 01 |
      |                                       |             |    |         |      |           F7 C1 E0 EF |
      |                                       |             |    |         |      |           EF 84 28 F0 |
      |                                       |             |    |         |      |           D5 D5 B2 C1 |
      |                                       |             |    |         |      |           EF FE 00 A2 |
      |                                       |             |    |         |      |           1C B7 D4 85 |
      |                                       |             |    |         |      |           DF 00 55 A6 |
 9776 | 38                  logodata.s    103 | Data        | 11 |         |   32 | 00/F58D : AD FE 8A 87 |                          HEX     ADFE8A87ACB39CF6F18A9F85A0F6FACD006562A3DB00ED81F28090EFC0A6BD7E
      |                                       |             |    |         |      |           AC B3 9C F6 |
      |                                       |             |    |         |      |           F1 8A 9F 85 |
      |                                       |             |    |         |      |           A0 F6 FA CD |
      |                                       |             |    |         |      |           00 65 62 A3 |
      |                                       |             |    |         |      |           DB 00 ED 81 |
      |                                       |             |    |         |      |           F2 80 90 EF |
      |                                       |             |    |         |      |           C0 A6 BD 7E |
 9777 | 38                  logodata.s    104 | Data        | 11 |         |   32 | 00/F5AD : AF FF 00 FF |                          HEX     AFFF00FF03EDA0B0A1867EF0BD8681ED8282D0B7E8A1D48832DDF7F33C81F7C8
      |                                       |             |    |         |      |           03 ED A0 B0 |
      |                                       |             |    |         |      |           A1 86 7E F0 |
      |                                       |             |    |         |      |           BD 86 81 ED |
      |                                       |             |    |         |      |           82 82 D0 B7 |
      |                                       |             |    |         |      |           E8 A1 D4 88 |
      |                                       |             |    |         |      |           32 DD F7 F3 |
      |                                       |             |    |         |      |           3C 81 F7 C8 |
 9778 | 38                  logodata.s    105 | Data        | 11 |         |   32 | 00/F5CD : 87 DC F7 A6 |                          HEX     87DCF7A6299DB93B8097C897DC8058A9F2DD4AAF81009FEB9DEF8103FA2C81C6
      |                                       |             |    |         |      |           29 9D B9 3B |
      |                                       |             |    |         |      |           80 97 C8 97 |
      |                                       |             |    |         |      |           DC 80 58 A9 |
      |                                       |             |    |         |      |           F2 DD 4A AF |
      |                                       |             |    |         |      |           81 00 9F EB |
      |                                       |             |    |         |      |           9D EF 81 03 |
      |                                       |             |    |         |      |           FA 2C 81 C6 |
 9779 | 38                  logodata.s    106 | Data        | 11 |         |   32 | 00/F5ED : 99 F0 FF 81 |                          HEX     99F0FF8158A1EA7A81FA9081F0EBF6E998509DFE924028F2C087A680329EF8E2
      |                                       |             |    |         |      |           58 A1 EA 7A |
      |                                       |             |    |         |      |           81 FA 90 81 |
      |                                       |             |    |         |      |           F0 EB F6 E9 |
      |                                       |             |    |         |      |           98 50 9D FE |
      |                                       |             |    |         |      |           92 40 28 F2 |
      |                                       |             |    |         |      |           C0 87 A6 80 |
      |                                       |             |    |         |      |           32 9E F8 E2 |
 9780 | 38                  logodata.s    107 | Data        | 11 |         |   32 | 00/F60D : EA E1 63 D0 |                          HEX     EAE163D03881F8FF87E04DB7879E00EFEABDF786DA07E89BF38090216F81B071
      |                                       |             |    |         |      |           38 81 F8 FF |
      |                                       |             |    |         |      |           87 E0 4D B7 |
      |                                       |             |    |         |      |           87 9E 00 EF |
      |                                       |             |    |         |      |           EA BD F7 86 |
      |                                       |             |    |         |      |           DA 07 E8 9B |
      |                                       |             |    |         |      |           F3 80 90 21 |
      |                                       |             |    |         |      |           6F 81 B0 71 |
 9781 | 38                  logodata.s    108 | Data        | 11 |         |   32 | 00/F62D : 81 87 A0 A7 |                          HEX     8187A0A7D5804680B780E1D300EE87EF9EEFF2BFF0E8DBF7F79B13EAC8E980EF
      |                                       |             |    |         |      |           D5 80 46 80 |
      |                                       |             |    |         |      |           B7 80 E1 D3 |
      |                                       |             |    |         |      |           00 EE 87 EF |
      |                                       |             |    |         |      |           9E EF F2 BF |
      |                                       |             |    |         |      |           F0 E8 DB F7 |
      |                                       |             |    |         |      |           F7 9B 13 EA |
      |                                       |             |    |         |      |           C8 E9 80 EF |
 9782 | 38                  logodata.s    109 | Data        | 11 |         |   32 | 00/F64D : F0 F0 28 F8 |                          HEX     F0F028F880F6DAEBF7EFFFF908E988AC99AAA6DF00E980EFC64C617E605E93FF
      |                                       |             |    |         |      |           80 F6 DA EB |
      |                                       |             |    |         |      |           F7 EF FF F9 |
      |                                       |             |    |         |      |           08 E9 88 AC |
      |                                       |             |    |         |      |           99 AA A6 DF |
      |                                       |             |    |         |      |           00 E9 80 EF |
      |                                       |             |    |         |      |           C6 4C 61 7E |
      |                                       |             |    |         |      |           60 5E 93 FF |
 9783 | 38                  logodata.s    110 | Data        | 11 |         |   32 | 00/F66D : 9E D0 7C 25 |                          HEX     9ED07C25879E00AF98DF003A08D5F9A28081F9B62987E886A7DE00EFF25FE9C1
      |                                       |             |    |         |      |           87 9E 00 AF |
      |                                       |             |    |         |      |           98 DF 00 3A |
      |                                       |             |    |         |      |           08 D5 F9 A2 |
      |                                       |             |    |         |      |           80 81 F9 B6 |
      |                                       |             |    |         |      |           29 87 E8 86 |
      |                                       |             |    |         |      |           A7 DE 00 EF |
      |                                       |             |    |         |      |           F2 5F E9 C1 |
 9784 | 38                  logodata.s    111 | Data        | 11 |         |   32 | 00/F68D : EA 80 EF 80 |                          HEX     EA80EF8008F7A0F6FE098206B1F8E1D9FCB5A186C8B787819C80AF80D100E887
      |                                       |             |    |         |      |           08 F7 A0 F6 |
      |                                       |             |    |         |      |           FE 09 82 06 |
      |                                       |             |    |         |      |           B1 F8 E1 D9 |
      |                                       |             |    |         |      |           FC B5 A1 86 |
      |                                       |             |    |         |      |           C8 B7 87 81 |
      |                                       |             |    |         |      |           9C 80 AF 80 |
      |                                       |             |    |         |      |           D1 00 E8 87 |
 9785 | 38                  logodata.s    112 | Data        | 11 |         |   32 | 00/F6AD : EA 9D F2 80 |                          HEX     EA9DF28098EFE0DFEBBDEFFB03ECC0A19F00F1A1F6A8FE00FF4A81F69BEFBCF0
      |                                       |             |    |         |      |           98 EF E0 DF |
      |                                       |             |    |         |      |           EB BD EF FB |
      |                                       |             |    |         |      |           03 EC C0 A1 |
      |                                       |             |    |         |      |           9F 00 F1 A1 |
      |                                       |             |    |         |      |           F6 A8 FE 00 |
      |                                       |             |    |         |      |           FF 4A 81 F6 |
      |                                       |             |    |         |      |           9B EF BC F0 |
 9786 | 38                  logodata.s    113 | Data        | 11 |         |   32 | 00/F6CD : C1 20 DF E8 |                          HEX     C120DFE8C0A500EA852299F180DC401B8FDD00FC01E880877FBD4628ACE80044
      |                                       |             |    |         |      |           C0 A5 00 EA |
      |                                       |             |    |         |      |           85 22 99 F1 |
      |                                       |             |    |         |      |           80 DC 40 1B |
      |                                       |             |    |         |      |           8F DD 00 FC |
      |                                       |             |    |         |      |           01 E8 80 87 |
      |                                       |             |    |         |      |           7F BD 46 28 |
      |                                       |             |    |         |      |           AC E8 00 44 |
 9787 | 38                  logodata.s    114 | Data        | 11 |         |   32 | 00/F6ED : 08 48 9C 3A |                          HEX     08489C3AA0D900F1F090929BEF00F7C18130BB9F8FBEF000EF9FF4E1FFA7DE00
      |                                       |             |    |         |      |           A0 D9 00 F1 |
      |                                       |             |    |         |      |           F0 90 92 9B |
      |                                       |             |    |         |      |           EF 00 F7 C1 |
      |                                       |             |    |         |      |           81 30 BB 9F |
      |                                       |             |    |         |      |           8F BE F0 00 |
      |                                       |             |    |         |      |           EF 9F F4 E1 |
      |                                       |             |    |         |      |           FF A7 DE 00 |
 9788 | 38                  logodata.s    115 | Data        | 11 |         |   32 | 00/F70D : E9 EF E9 87 |                          HEX     E9EFE987EFE8F402FA81C680F6C08098A2A97462A4AF8780D2BDE08783FFBE9D
      |                                       |             |    |         |      |           EF E8 F4 02 |
      |                                       |             |    |         |      |           FA 81 C6 80 |
      |                                       |             |    |         |      |           F6 C0 80 98 |
      |                                       |             |    |         |      |           A2 A9 74 62 |
      |                                       |             |    |         |      |           A4 AF 87 80 |
      |                                       |             |    |         |      |           D2 BD E0 87 |
      |                                       |             |    |         |      |           83 FF BE 9D |
 9789 | 38                  logodata.s    116 | Data        | 11 |         |   32 | 00/F72D : 00 EA E1 E8 |                          HEX     00EAE1E8874078E99EA700F107FFF6DBFF9CFD0D6B8024AFC800F235F8FF80BD
      |                                       |             |    |         |      |           87 40 78 E9 |
      |                                       |             |    |         |      |           9E A7 00 F1 |
      |                                       |             |    |         |      |           07 FF F6 DB |
      |                                       |             |    |         |      |           FF 9C FD 0D |
      |                                       |             |    |         |      |           6B 80 24 AF |
      |                                       |             |    |         |      |           C8 00 F2 35 |
      |                                       |             |    |         |      |           F8 FF 80 BD |
 9790 | 38                  logodata.s    117 | Data        | 11 |         |   32 | 00/F74D : 86 C0 EF FE |                          HEX     86C0EFFEF008E988FF91C6813FE980EFE44C83FC7EA1ACA0DF00F79FE801EA87
      |                                       |             |    |         |      |           F0 08 E9 88 |
      |                                       |             |    |         |      |           FF 91 C6 81 |
      |                                       |             |    |         |      |           3F E9 80 EF |
      |                                       |             |    |         |      |           E4 4C 83 FC |
      |                                       |             |    |         |      |           7E A1 AC A0 |
      |                                       |             |    |         |      |           DF 00 F7 9F |
      |                                       |             |    |         |      |           E8 01 EA 87 |
 9791 | 38                  logodata.s    118 | Data        | 11 |         |   32 | 00/F76D : EF 90 9F EF |                          HEX     EF909FEF8027E8D5FFCD81F6DAEF9FFF80878180C087C0D581EA97EF800FF0C1
      |                                       |             |    |         |      |           80 27 E8 D5 |
      |                                       |             |    |         |      |           FF CD 81 F6 |
      |                                       |             |    |         |      |           DA EF 9F FF |
      |                                       |             |    |         |      |           80 87 81 80 |
      |                                       |             |    |         |      |           C0 87 C0 D5 |
      |                                       |             |    |         |      |           81 EA 97 EF |
      |                                       |             |    |         |      |           80 0F F0 C1 |
 9792 | 38                  logodata.s    119 | Data        | 11 |         |   32 | 00/F78D : E0 EA 88 EF |                          HEX     E0EA88EF800897FBFF7F3D0840854A9A08A39D0066F0AF9F0061EA99F7849DE8
      |                                       |             |    |         |      |           80 08 97 FB |
      |                                       |             |    |         |      |           FF 7F 3D 08 |
      |                                       |             |    |         |      |           40 85 4A 9A |
      |                                       |             |    |         |      |           08 A3 9D 00 |
      |                                       |             |    |         |      |           66 F0 AF 9F |
      |                                       |             |    |         |      |           00 61 EA 99 |
      |                                       |             |    |         |      |           F7 84 9D E8 |
 9793 | 38                  logodata.s    120 | Data        | 11 |         |   32 | 00/F7AD : 87 EA DD EF |                          HEX     87EADDEFF2FF03F3F6DBEFFD02ECD58A9BB95AA17C793FDAE881D595EFF0B787
      |                                       |             |    |         |      |           F2 FF 03 F3 |
      |                                       |             |    |         |      |           F6 DB EF FD |
      |                                       |             |    |         |      |           02 EC D5 8A |
      |                                       |             |    |         |      |           9B B9 5A A1 |
      |                                       |             |    |         |      |           7C 79 3F DA |
      |                                       |             |    |         |      |           E8 81 D5 95 |
      |                                       |             |    |         |      |           EF F0 B7 87 |
 9794 | 38                  logodata.s    121 | Data        | 11 |         |   32 | 00/F7CD : A1 00 40 EC |                          HEX     A10040ECDCF79780A0943CF9C88780A09DF28590C0979E00EFDDA28EAC21A7DE
      |                                       |             |    |         |      |           DC F7 97 80 |
      |                                       |             |    |         |      |           A0 94 3C F9 |
      |                                       |             |    |         |      |           C8 87 80 A0 |
      |                                       |             |    |         |      |           9D F2 85 90 |
      |                                       |             |    |         |      |           C0 97 9E 00 |
      |                                       |             |    |         |      |           EF DD A2 8E |
      |                                       |             |    |         |      |           AC 21 A7 DE |
 9795 | 38                  logodata.s    122 | Data        | 11 |         |   32 | 00/F7ED : 00 E9 90 E9 |                          HEX     00E990E9FB2A9BAC4000A986F8A9F09A848AF6F2A29380EFC1E980A7D600EFE1
      |                                       |             |    |         |      |           FB 2A 9B AC |
      |                                       |             |    |         |      |           40 00 A9 86 |
      |                                       |             |    |         |      |           F8 A9 F0 9A |
      |                                       |             |    |         |      |           84 8A F6 F2 |
      |                                       |             |    |         |      |           A2 93 80 EF |
      |                                       |             |    |         |      |           C1 E9 80 A7 |
      |                                       |             |    |         |      |           D6 00 EF E1 |
 9796 | 38                  logodata.s    123 | Data        | 11 |         |   32 | 00/F80D : 39 A7 80 E0 |                          HEX     39A780E0FFDBEF9DFB031281E4AA91D900F0809962A4AF8780FD30B5FCF600F7
      |                                       |             |    |         |      |           FF DB EF 9D |
      |                                       |             |    |         |      |           FB 03 12 81 |
      |                                       |             |    |         |      |           E4 AA 91 D9 |
      |                                       |             |    |         |      |           00 F0 80 99 |
      |                                       |             |    |         |      |           62 A4 AF 87 |
      |                                       |             |    |         |      |           80 FD 30 B5 |
      |                                       |             |    |         |      |           FC F6 00 F7 |
 9797 | 38                  logodata.s    124 | Data        | 11 |         |   32 | 00/F82D : FE DA F0 05 |                          HEX     FEDAF005ED80F9808491F7C1C6F632A036E981A7DF001FEF86F550E9DA8980FC
      |                                       |             |    |         |      |           ED 80 F9 80 |
      |                                       |             |    |         |      |           84 91 F7 C1 |
      |                                       |             |    |         |      |           C6 F6 32 A0 |
      |                                       |             |    |         |      |           36 E9 81 A7 |
      |                                       |             |    |         |      |           DF 00 1F EF |
      |                                       |             |    |         |      |           86 F5 50 E9 |
      |                                       |             |    |         |      |           DA 89 80 FC |
 9798 | 38                  logodata.s    125 | Data        | 11 |         |   32 | 00/F84D : 20 CD AF BF |                          HEX     20CDAFBF00FD02EF9762D6A75F0024F0C0D5849D9081A0A9E8D580B7D59580DE
      |                                       |             |    |         |      |           00 FD 02 EF |
      |                                       |             |    |         |      |           97 62 D6 A7 |
      |                                       |             |    |         |      |           5F 00 24 F0 |
      |                                       |             |    |         |      |           C0 D5 84 9D |
      |                                       |             |    |         |      |           90 81 A0 A9 |
      |                                       |             |    |         |      |           E8 D5 80 B7 |
      |                                       |             |    |         |      |           D5 95 80 DE |
 9799 | 38                  logodata.s    126 | Data        | 11 |         |   32 | 00/F86D : EA 97 EA 80 |                          HEX     EA97EA80EEF7EF88470250FFBFFE9BED86A85A11DBFFBC86DC9E9BE89D865DC8
      |                                       |             |    |         |      |           EE F7 EF 88 |
      |                                       |             |    |         |      |           47 02 50 FF |
      |                                       |             |    |         |      |           BF FE 9B ED |
      |                                       |             |    |         |      |           86 A8 5A 11 |
      |                                       |             |    |         |      |           DB FF BC 86 |
      |                                       |             |    |         |      |           DC 9E 9B E8 |
      |                                       |             |    |         |      |           9D 86 5D C8 |
 9800 | 38                  logodata.s    127 | Data        | 11 |         |   32 | 00/F88D : AF FB 00 C1 |                          HEX     AFFB00C1EF9DFA1F979984DDF7F78002ECEFEFC1F0084188B99AEF9DFF8AA89C
      |                                       |             |    |         |      |           EF 9D FA 1F |
      |                                       |             |    |         |      |           97 99 84 DD |
      |                                       |             |    |         |      |           F7 F7 80 02 |
      |                                       |             |    |         |      |           EC EF EF C1 |
      |                                       |             |    |         |      |           F0 08 41 88 |
      |                                       |             |    |         |      |           B9 9A EF 9D |
      |                                       |             |    |         |      |           FF 8A A8 9C |
 9801 | 38                  logodata.s    128 | Data        | 11 |         |   32 | 00/F8AD : 52 F0 D0 D5 |                          HEX     52F0D0D5A35F80A70032ECC8EF8107F7A7DB00ECE8A75F8006E9FDEA9DAA8056
      |                                       |             |    |         |      |           A3 5F 80 A7 |
      |                                       |             |    |         |      |           00 32 EC C8 |
      |                                       |             |    |         |      |           EF 81 07 F7 |
      |                                       |             |    |         |      |           A7 DB 00 EC |
      |                                       |             |    |         |      |           E8 A7 5F 80 |
      |                                       |             |    |         |      |           06 E9 FD EA |
      |                                       |             |    |         |      |           9D AA 80 56 |
 9802 | 38                  logodata.s    129 | Data        | 11 |         |   32 | 00/F8CD : D4 81 4E A2 |                          HEX     D4814EA25080FF86818788E887A15AA27F84B48FBE00E98F82E9ECA780EFEC9B
      |                                       |             |    |         |      |           50 80 FF 86 |
      |                                       |             |    |         |      |           81 87 88 E8 |
      |                                       |             |    |         |      |           87 A1 5A A2 |
      |                                       |             |    |         |      |           7F 84 B4 8F |
      |                                       |             |    |         |      |           BE 00 E9 8F |
      |                                       |             |    |         |      |           82 E9 EC A7 |
      |                                       |             |    |         |      |           80 EF EC 9B |
 9803 | 38                  logodata.s    130 | Data        | 11 |         |   32 | 00/F8ED : EF F6 06 A3 |                          HEX     EFF606A3FD0AA300B291805F80F7858730ABFADF00E9FDEFBC01E881F5A080B7
      |                                       |             |    |         |      |           FD 0A A3 00 |
      |                                       |             |    |         |      |           B2 91 80 5F |
      |                                       |             |    |         |      |           80 F7 85 87 |
      |                                       |             |    |         |      |           30 AB FA DF |
      |                                       |             |    |         |      |           00 E9 FD EF |
      |                                       |             |    |         |      |           BC 01 E8 81 |
      |                                       |             |    |         |      |           F5 A0 80 B7 |
 9804 | 38                  logodata.s    131 | Data        | 11 |         |   32 | 00/F90D : 85 80 57 80 |                          HEX     85805780EF99F6268BE802A9F84D20A700F30DA7A87DA700F050E9A0F99E809F
      |                                       |             |    |         |      |           EF 99 F6 26 |
      |                                       |             |    |         |      |           8B E8 02 A9 |
      |                                       |             |    |         |      |           F8 4D 20 A7 |
      |                                       |             |    |         |      |           00 F3 0D A7 |
      |                                       |             |    |         |      |           A8 7D A7 00 |
      |                                       |             |    |         |      |           F0 50 E9 A0 |
      |                                       |             |    |         |      |           F9 9E 80 9F |
 9805 | 38                  logodata.s    132 | Data        | 11 |         |   32 | 00/F92D : EF DF F4 02 |                          HEX     EFDFF402EAF2EF80EB81A75F8026A39D104280A15AB29FF0AC588FD580E5A780
      |                                       |             |    |         |      |           EA F2 EF 80 |
      |                                       |             |    |         |      |           EB 81 A7 5F |
      |                                       |             |    |         |      |           80 26 A3 9D |
      |                                       |             |    |         |      |           10 42 80 A1 |
      |                                       |             |    |         |      |           5A B2 9F F0 |
      |                                       |             |    |         |      |           AC 58 8F D5 |
      |                                       |             |    |         |      |           80 E5 A7 80 |
 9806 | 38                  logodata.s    133 | Data        | 11 |         |   32 | 00/F94D : 0F EF F2 14 |                          HEX     0FEFF214E980EC9D07FE8BDE5B5C08A1A1465AA358AAF8DC00EFFDEFDD01FBC0
      |                                       |             |    |         |      |           E9 80 EC 9D |
      |                                       |             |    |         |      |           07 FE 8B DE |
      |                                       |             |    |         |      |           5B 5C 08 A1 |
      |                                       |             |    |         |      |           A1 46 5A A3 |
      |                                       |             |    |         |      |           58 AA F8 DC |
      |                                       |             |    |         |      |           00 EF FD EF |
      |                                       |             |    |         |      |           DD 01 FB C0 |
 9807 | 38                  logodata.s    134 | Data        | 11 |         |   32 | 00/F96D : F7 91 86 F1 |                          HEX     F79186F1F780EF9CC4F4A0868FBD04FE078182A29CD85087A1D4A1FC48D550A3
      |                                       |             |    |         |      |           F7 80 EF 9C |
      |                                       |             |    |         |      |           C4 F4 A0 86 |
      |                                       |             |    |         |      |           8F BD 04 FE |
      |                                       |             |    |         |      |           07 81 82 A2 |
      |                                       |             |    |         |      |           9C D8 50 87 |
      |                                       |             |    |         |      |           A1 D4 A1 FC |
      |                                       |             |    |         |      |           48 D5 50 A3 |
 9808 | 38                  logodata.s    135 | Data        | 11 |         |   32 | 00/F98D : 5B 80 B3 DD |                          HEX     5B80B3DD801A67B3FD10A700CFED9BEF8103A45E8061B4206180B09884DF00E9
      |                                       |             |    |         |      |           80 1A 67 B3 |
      |                                       |             |    |         |      |           FD 10 A7 00 |
      |                                       |             |    |         |      |           CF ED 9B EF |
      |                                       |             |    |         |      |           81 03 A4 5E |
      |                                       |             |    |         |      |           80 61 B4 20 |
      |                                       |             |    |         |      |           61 80 B0 98 |
      |                                       |             |    |         |      |           84 DF 00 E9 |
 9809 | 38                  logodata.s    136 | Data        | 11 |         |   32 | 00/F9AD : 99 F6 81 80 |                          HEX     99F68180478024E9C1A79100A75E80ED80F3F099AF85DF0037499B80EFFAF501
      |                                       |             |    |         |      |           47 80 24 E9 |
      |                                       |             |    |         |      |           C1 A7 91 00 |
      |                                       |             |    |         |      |           A7 5E 80 ED |
      |                                       |             |    |         |      |           80 F3 F0 99 |
      |                                       |             |    |         |      |           AF 85 DF 00 |
      |                                       |             |    |         |      |           37 49 9B 80 |
      |                                       |             |    |         |      |           EF FA F5 01 |
 9810 | 38                  logodata.s    137 | Data        | 11 |         |   32 | 00/F9CD : E9 81 A5 80 |                          HEX     E981A580A1ADB4A7004FEFA028E8FEF0FFBCE8F8EF80F30DA7A8BF47801CE7F0
      |                                       |             |    |         |      |           A1 AD B4 A7 |
      |                                       |             |    |         |      |           00 4F EF A0 |
      |                                       |             |    |         |      |           28 E8 FE F0 |
      |                                       |             |    |         |      |           FF BC E8 F8 |
      |                                       |             |    |         |      |           EF 80 F3 0D |
      |                                       |             |    |         |      |           A7 A8 BF 47 |
      |                                       |             |    |         |      |           80 1C E7 F0 |
 9811 | 38                  logodata.s    138 | Data        | 11 |         |    1 | 00/F9ED : E8          |                          HEX     E8                   
 9812 | 38                  logodata.s    139 | Empty       | 11 |         |    0 | 00/F9EE               | LogoMainEnd                                           
 9813 | 38                  logodata.s    140 | Equivalence | 11 |         |    0 | 00/F9EE               | LogoDataSize             =       LogoMainEnd-LogoAux  
 9814 | 38                  logodata.s    141 | Equivalence | 11 |         |    0 | 00/F9EE               | LogoMainOfs              =       LogoMain-LogoAux     
 9815 | 38                  logodata.s    142 | Empty       | 11 |         |    0 | 00/F9EE               |                                                       
 9816 |  1                    bagman.s    117 | Empty       | 11 |         |    0 | 00/F9EE               | ozunid_95                                             
 9817 |  1                    bagman.s    117 | Equivalence | 11 |         |    0 | 00/F9EE               | AuxLogoLen               =       ozunid_95-{$EA00}    
 9818 |  1                    bagman.s    118 | Equivalence | 11 |         |    0 | 00/F9EE               | AuxLogoPages             =       {ozunid_95-{$EA00}}/256+1
 9819 |  1                    bagman.s    119 | Empty       | 11 |         |    0 | 00/F9EE               |                                                       
 9820 |  1                    bagman.s    120 | Equivalence | 11 |         |    0 | 00/F9EE               | GameDest                 =       $6000                
 9821 |  1                    bagman.s    121 | Directive   | 11 |         |    0 | 00/F9EE               |                          ORG     {$6000}              
 9822 |  1                    bagman.s    122 | Empty       | 11 |         |    0 | 00/6000               |                                                       
 9823 |  1                    bagman.s    123 | Directive   | 11 |         |    0 | 00/6000               |                          PUT     game.s               
 9824 | 39                      game.s      1 | Comment     | 11 |         |    0 | 00/6000               | *
 9825 | 39                      game.s      2 | Comment     | 11 |         |    0 | 00/6000               | * Bagman - Game Init and Main Loop
 9826 | 39                      game.s      3 | Comment     | 11 |         |    0 | 00/6000               | *
 9827 | 39                      game.s      4 | Empty       | 11 |         |    0 | 00/6000               |                                                       
 9828 | 39                      game.s      5 | Equivalence | 11 |         |    0 | 00/6000               | MapIdx                   =       $1C                  ; current map index
 9829 | 39                      game.s      6 | Empty       | 11 |         |    0 | 00/6000               |                                                       
 9830 | 39                      game.s      7 | Comment     | 11 |         |    0 | 00/6000               | * Per-page "last drawn" player positions (main RAM, free in graphics mode)
 9831 | 39                      game.s      8 | Equivalence | 11 |         |    0 | 00/6000               | PlayerOldP0              =       $0310                ; page 0: X, Y, Fr (3 bytes)
 9832 | 39                      game.s      9 | Equivalence | 11 |         |    0 | 00/6000               | PlayerOldP1              =       $0313                ; page 1: X, Y, Fr (3 bytes)
 9833 | 39                      game.s     10 | Empty       | 11 |         |    0 | 00/6000               |                                                       
 9834 | 39                      game.s     11 | Directive   | 11 |         |    0 | 00/6000               |                          DO      {0}                  
 9835 | 39                      game.s     13 | Directive   | 11 |         |    0 | 00/6000               |                          ELSE                         
 9836 | 39                      game.s     14 | Equivalence | 11 |         |    0 | 00/6000               | FRAME_SLOTS              =       24                   ; ~30fps target; SLOTS_PER_SPRITE=5 keeps pace up to ~5 sprites
 9837 | 39                      game.s     15 | Directive   | 11 |         |    0 | 00/6000               |                          FIN                          
 9838 | 39                      game.s     16 | Empty       | 11 |         |    0 | 00/6000               |                                                       
 9839 | 39                      game.s     17 | Empty       | 11 |         |    0 | 00/6000               | GameInit                                              
 9840 | 39                      game.s     18 | Comment     | 11 |         |    0 | 00/6000               | * GenShiftedSprites already ran before relocation (in init.s)
 9841 | 39                      game.s     19 | Comment     | 11 |         |    0 | 00/6000               | * Enable LC writes for font install to AUX LC (via ALTZP)
 9842 | 39                      game.s     20 | Code        | 11 |         |    3 | 00/6000 : AD 83 C0    |                          LDA     $C083                
 9843 | 39                      game.s     21 | Code        | 11 |         |    3 | 00/6003 : AD 83 C0    |                          LDA     $C083                ; LC bank 2 read+write
 9844 | 39                      game.s     22 | Code        | 11 |         |    2 | 00/6006 : A0 04       |                          LDY     #4                   
 9845 | 39                      game.s     23 | Code        | 11 |         |    3 | 00/6008 : 20 B2 22    |                          JSR     PrintStatus          
 9846 | 39                      game.s     24 | Code        | 11 |         |    3 | 00/600B : 20 8D 39    |                          JSR     InstallFont          
 9847 | 39                      game.s     25 | Code        | 11 |         |    3 | 00/600E : 20 CF 39    |                          JSR     CacheDigitGlyphs     ; main-RAM digit glyph cache for fast HUD
 9848 | 39                      game.s     26 | Code        | 11 |         |    3 | 00/6011 : AD 80 C0    |                          LDA     $C080                
 9849 | 39                      game.s     27 | Code        | 11 |         |    3 | 00/6014 : AD 80 C0    |                          LDA     $C080                ; LC bank 2 read-only (re-protect)
 9850 | 39                      game.s     28 | Code        | 11 |         |    3 | 00/6017 : 20 52 0F    |                          JSR     InstallZPComposite   
 9851 | 39                      game.s     29 | Code        | 11 |         |    3 | 00/601A : 20 F8 9B    |                          JSR     LoadHiScores         ; or seed HIGHSCORE on first boot
 9852 | 39                      game.s     30 | Code        | 11 |         |    3 | 00/601D : 20 28 0F    |                          JSR     DHGRInit             
 9853 | 39                      game.s     31 | Comment     | 11 |         |    0 | 00/6020               | * Build pre-shifted HUD tables AFTER DHGRInit: BonusDigitBytes lives in
 9854 | 39                      game.s     32 | Comment     | 11 |         |    0 | 00/6020               | * text page 1 ($0400), and we don't want to clobber the boot-stub
 9855 | 39                      game.s     33 | Comment     | 11 |         |    0 | 00/6020               | * progress indicator while it's still visible.
 9856 | 39                      game.s     34 | Code        | 11 |         |    3 | 00/6020 : 20 10 3A    |                          JSR     BuildHudDigitTables  
 9857 | 39                      game.s     35 | Comment     | 11 |         |    0 | 00/6023               | * Seed attract mode: first TitleReset shows title+hiscore+demo loop.
 9858 | 39                      game.s     36 | Code        | 11 |         |    3 | 00/6023 : 20 EA 14    |                          JSR     AttractSeed          
 9859 | 39                      game.s     37 | Empty       | 11 |         |    0 | 00/6026               | TitleReset                                            
 9860 | 39                      game.s     38 | Comment     | 11 |         |    0 | 00/6026               | * ShowTitle lives in aux LC; reach it via AuxLCCall trampoline.
 9861 | 39                      game.s     39 | Code        | 11 |         |    2 | 00/6026 : A9 22       |                          LDA     #<AuxShowTitle       
 9862 | 39                      game.s     40 | Code        | 11 |         |    3 | 00/6028 : 8D 02 03    |                          STA     $0302                
 9863 | 39                      game.s     41 | Code        | 11 |         |    2 | 00/602B : A9 D1       |                          LDA     #>AuxShowTitle       
 9864 | 39                      game.s     42 | Code        | 11 |         |    3 | 00/602D : 8D 03 03    |                          STA     $0303                
 9865 | 39                      game.s     43 | Code        | 11 |         |    3 | 00/6030 : 20 1F 09    |                          JSR     AuxLCCall            
 9866 | 39                      game.s     44 | Code        | 11 |         |    3 | 00/6033 : 20 F3 14    |                          JSR     AttractAfterTitle    
 9867 | 39                      game.s     45 | Code        | 11 |         |    2 | 00/6036 : D0 EE       |                          BNE     TitleReset           ; hook asks for title reshow
 9868 | 39                      game.s     46 | Code        | 11 |         |    3 | 00/6038 : 20 1A 6A    |                          JSR     ResetScoreAndLives   
 9869 | 39                      game.s     47 | Code        | 11 |         |    2 | 00/603B : 64 1C       |                          STZ     {$1C}                
 9870 | 39                      game.s     48 | Code        | 11 |         |    2 | 00/603D : 64 29       |                          STZ     {$29}                
 9871 | 39                      game.s     49 | Code        | 11 |         |    3 | 00/603F : 20 57 15    |                          JSR     DoIntermissionIfNotDemo; "ROUND 1" + Tune2 (skipped in demo)
 9872 | 39                      game.s     50 | Code        | 11 |         |    3 | 00/6042 : 8D 10 C0    |                          STA     $C010                ; clear keyboard strobe before game loop
 9873 | 39                      game.s     51 | Code        | 11 |         |    3 | 00/6045 : 4C F2 62    |                          JMP     ResetLevel           ; redraws map + HUD + sprites, enters MainLoop
 9874 | 39                      game.s     52 | Empty       | 11 |         |    0 | 00/6048               |                                                       
 9875 | 39                      game.s     53 | Empty       | 11 |         |    0 | 00/6048               | MainLoop                                              
 9876 | 39                      game.s     54 | Comment     | 11 |         |    0 | 00/6048               | * Start frame with full delay budget
 9877 | 39                      game.s     55 | Code        | 11 |         |    2 | 00/6048 : A9 18       |                          LDA     #{24}                
 9878 | 39                      game.s     56 | Code        | 11 |         |    2 | 00/604A : 85 7E       |                          STA     {$7E}                
 9879 | 39                      game.s     57 | Empty       | 11 |         |    0 | 00/604C               |                                                       
 9880 | 39                      game.s     58 | Comment     | 11 |         |    0 | 00/604C               | * Game-over gate: freeze game, tick timer, return to title on expiry.
 9881 | 39                      game.s     59 | Code        | 11 |         |    3 | 00/604C : AD E4 11    |                          LDA     GameOverFlag         
 9882 | 39                      game.s     60 | Code        | 11 |         |    2 | 00/604F : F0 1D       |                          BEQ     _noGO                
 9883 | 39                      game.s     61 | Code        | 11 |         |    3 | 00/6051 : CE E5 11    |                          DEC     GameOverTimer        
 9884 | 39                      game.s     62 | Code        | 11 |         |    2 | 00/6054 : F0 03       |                          BEQ     _goEnd               
 9885 | 39                      game.s     63 | Code        | 11 |         |    3 | 00/6056 : 4C 13 62    |                          JMP     _framewait           
 9886 | 39                      game.s     64 | Empty       | 11 |         |    0 | 00/6059               | _goEnd                                                
 9887 | 39                      game.s     65 | Code        | 11 |         |    3 | 00/6059 : 20 46 15    |                          JSR     AttractGameOverHook  
 9888 | 39                      game.s     66 | Code        | 11 |         |    2 | 00/605C : D0 C8       |                          BNE     TitleReset           ; demo died -> skip leaderboard, cycle
 9889 | 39                      game.s     67 | Code        | 11 |         |    2 | 00/605E : A9 28       |                          LDA     #<AuxGoToLeaderboard 
 9890 | 39                      game.s     68 | Code        | 11 |         |    3 | 00/6060 : 8D 02 03    |                          STA     $0302                
 9891 | 39                      game.s     69 | Code        | 11 |         |    2 | 00/6063 : A9 D1       |                          LDA     #>AuxGoToLeaderboard 
 9892 | 39                      game.s     70 | Code        | 11 |         |    3 | 00/6065 : 8D 03 03    |                          STA     $0303                
 9893 | 39                      game.s     71 | Code        | 11 |         |    3 | 00/6068 : 20 1F 09    |                          JSR     AuxLCCall            
 9894 | 39                      game.s     72 | Code        | 11 |         |    3 | 00/606B : 4C 26 60    |                          JMP     TitleReset           
 9895 | 39                      game.s     73 | Empty       | 11 |         |    0 | 00/606E               | _noGO                                                 
 9896 | 39                      game.s     74 | Empty       | 11 |         |    0 | 00/606E               |                                                       
 9897 | 39                      game.s     75 | Comment     | 11 |         |    0 | 00/606E               | * Respawn gate: DoDeath sets RespawnPending when the death timer
 9898 | 39                      game.s     76 | Comment     | 11 |         |    0 | 00/606E               | * expires with Lives > 0. Do the full delta-redraw here and skip
 9899 | 39                      game.s     77 | Comment     | 11 |         |    0 | 00/606E               | * the rest of this frame (matches DoMapTransition's pattern).
 9900 | 39                      game.s     78 | Code        | 11 |         |    3 | 00/606E : AD E9 11    |                          LDA     RespawnPending       
 9901 | 39                      game.s     79 | Code        | 11 |         |    2 | 00/6071 : F0 09       |                          BEQ     _noRespawn           
 9902 | 39                      game.s     80 | Code        | 11 |         |    3 | 00/6073 : 9C E9 11    |                          STZ     RespawnPending       
 9903 | 39                      game.s     81 | Code        | 11 |         |    3 | 00/6076 : 20 D6 68    |                          JSR     PlayerRespawn        
 9904 | 39                      game.s     82 | Code        | 11 |         |    3 | 00/6079 : 4C 13 62    |                          JMP     _framewait           
 9905 | 39                      game.s     83 | Empty       | 11 |         |    0 | 00/607C               | _noRespawn                                            
 9906 | 39                      game.s     84 | Empty       | 11 |         |    0 | 00/607C               |                                                       
 9907 | 39                      game.s     85 | Comment     | 11 |         |    0 | 00/607C               | * Read input (sets InputFlags + LastKey)
 9908 | 39                      game.s     86 | Code        | 11 |         |    3 | 00/607C : 20 EB 6A    |                          JSR     ReadInput            
 9909 | 39                      game.s     87 | Comment     | 11 |         |    0 | 00/607F               | * AttractFrameHook: during demo, override InputFlags + tick timer
 9910 | 39                      game.s     88 | Comment     | 11 |         |    0 | 00/607F               | * and bail on keypress/timeout. In normal play, return A!=0 iff the
 9911 | 39                      game.s     89 | Comment     | 11 |         |    0 | 00/607F               | * new key was ESC (returns player to title).
 9912 | 39                      game.s     90 | Code        | 11 |         |    3 | 00/607F : 20 1E 15    |                          JSR     AttractFrameHook     
 9913 | 39                      game.s     91 | Code        | 11 |         |    2 | 00/6082 : D0 A2       |                          BNE     TitleReset           
 9914 | 39                      game.s     92 | Empty       | 11 |         |    0 | 00/6084               |                                                       
 9915 | 39                      game.s     93 | Comment     | 11 |         |    0 | 00/6084               | * Update player
 9916 | 39                      game.s     94 | Empty       | 11 |         |    0 | 00/6084               | _gameUpdate                                           
 9917 | 39                      game.s     95 | Code        | 11 |         |    3 | 00/6084 : 20 3C 6B    |                          JSR     UpdatePlayer         
 9918 | 39                      game.s     96 | Code        | 11 |         |    2 | 00/6087 : A5 6D       |                          LDA     {$6D}                
 9919 | 39                      game.s     97 | Code        | 11 |         |    2 | 00/6089 : C5 1C       |                          CMP     {$1C}                
 9920 | 39                      game.s     98 | Code        | 11 |         |    2 | 00/608B : D0 03       |                          BNE     _skipWBUpd           
 9921 | 39                      game.s     99 | Code        | 11 |         |    3 | 00/608D : 20 B4 72    |                          JSR     UpdateWB             
 9922 | 39                      game.s    100 | Empty       | 11 |         |    0 | 00/6090               | _skipWBUpd                                            
 9923 | 39                      game.s    101 | Code        | 11 |         |    3 | 00/6090 : 20 0D 74    |                          JSR     UpdateLoot           
 9924 | 39                      game.s    102 | Code        | 11 |         |    3 | 00/6093 : 20 EA 78    |                          JSR     UpdateCarts          ; mine carts move at 2.0x - two steps per frame
 9925 | 39                      game.s    103 | Code        | 11 |         |    3 | 00/6096 : 20 EA 78    |                          JSR     UpdateCarts          
 9926 | 39                      game.s    104 | Code        | 11 |         |    3 | 00/6099 : 20 90 D9    |                          JSR     UpdateGuards         
 9927 | 39                      game.s    105 | Code        | 11 |         |    3 | 00/609C : 20 DB 09    |                          JSR     UpdateElevator       
 9928 | 39                      game.s    106 | Code        | 11 |         |    3 | 00/609F : 20 32 0B    |                          JSR     CheckElevCrush       
 9929 | 39                      game.s    107 | Code        | 11 |         |    3 | 00/60A2 : 20 55 6F    |                          JSR     CheckCartHit         
 9930 | 39                      game.s    108 | Code        | 11 |         |    3 | 00/60A5 : 20 71 D0    |                          JSR     CheckGuardHit        
 9931 | 39                      game.s    109 | Code        | 11 |         |    3 | 00/60A8 : 20 CF 67    |                          JSR     TickBonus            
 9932 | 39                      game.s    110 | Code        | 11 |         |    3 | 00/60AB : 20 2E 0E    |                          JSR     TickPickaxe          
 9933 | 39                      game.s    111 | Code        | 11 |         |    3 | 00/60AE : 20 09 0D    |                          JSR     CheckLevelComplete   
 9934 | 39                      game.s    112 | Comment     | 11 |         |    0 | 00/60B1               | * Check for map transition request
 9935 | 39                      game.s    113 | Code        | 11 |         |    2 | 00/60B1 : A5 29       |                          LDA     {$29}                
 9936 | 39                      game.s    114 | Code        | 11 |         |    2 | 00/60B3 : F0 06       |                          BEQ     _noTrans             
 9937 | 39                      game.s    115 | Code        | 11 |         |    3 | 00/60B5 : 20 E1 63    |                          JSR     DoMapTransition      
 9938 | 39                      game.s    116 | Code        | 11 |         |    3 | 00/60B8 : 4C 13 62    |                          JMP     _framewait           ; transition drew everything, skip normal render
 9939 | 39                      game.s    117 | Empty       | 11 |         |    0 | 00/60BB               | _noTrans                                              
 9940 | 39                      game.s    118 | Directive   | 11 |         |    0 | 00/60BB               |                          DO      {0}                  
 9941 | 39                      game.s    120 | Directive   | 11 |         |    0 | 00/60BB               |                          FIN                          
 9942 | 39                      game.s    121 | Code        | 11 |         |    2 | 00/60BB : A5 7C       |                          LDA     {$7C}                
 9943 | 39                      game.s    122 | Code        | 11 |         |    2 | 00/60BD : 05 37       |                          ORA     {$37}                
 9944 | 39                      game.s    123 | Code        | 11 |         |    2 | 00/60BF : 05 6F       |                          ORA     {$6F}                
 9945 | 39                      game.s    124 | Code        | 11 |         |    2 | 00/60C1 : 05 E9       |                          ORA     {$E9}                
 9946 | 39                      game.s    125 | Code        | 11 |         |    2 | 00/60C3 : 05 EE       |                          ORA     {$EE}                
 9947 | 39                      game.s    126 | Code        | 11 |         |    2 | 00/60C5 : 05 F3       |                          ORA     {$F3}                
 9948 | 39                      game.s    127 | Code        | 11 |         |    2 | 00/60C7 : 05 48       |                          ORA     {$48}                
 9949 | 39                      game.s    128 | Code        | 11 |         |    3 | 00/60C9 : 0D EA 11    |                          ORA     ScoreDirty           
 9950 | 39                      game.s    129 | Code        | 11 |         |    3 | 00/60CC : 0D EB 11    |                          ORA     BonusDirty           
 9951 | 39                      game.s    130 | Code        | 11 |         |    3 | 00/60CF : 0D EC 11    |                          ORA     LivesDirty           
 9952 | 39                      game.s    131 | Code        | 11 |         |    2 | 00/60D2 : D0 03       |                          BNE     _doRender            
 9953 | 39                      game.s    132 | Code        | 11 |         |    3 | 00/60D4 : 4C 13 62    |                          JMP     _framewait           
 9954 | 39                      game.s    133 | Empty       | 11 |         |    0 | 00/60D7               | _doRender                                             
 9955 | 39                      game.s    134 | Empty       | 11 |         |    0 | 00/60D7               |                                                       
 9956 | 39                      game.s    135 | Comment     | 11 |         |    0 | 00/60D7               | * Smart dirty: player + carts + guards always dirty; loot/WB use sleep system
 9957 | 39                      game.s    136 | Code        | 11 |         |    2 | 00/60D7 : A9 01       |                          LDA     #1                   
 9958 | 39                      game.s    137 | Code        | 11 |         |    2 | 00/60D9 : 85 7C       |                          STA     {$7C}                
 9959 | 39                      game.s    138 | Code        | 11 |         |    2 | 00/60DB : 85 E9       |                          STA     {$E9}                
 9960 | 39                      game.s    139 | Code        | 11 |         |    2 | 00/60DD : 85 F3       |                          STA     {$F3}                
 9961 | 39                      game.s    140 | Code        | 11 |         |    2 | 00/60DF : 85 48       |                          STA     {$48}                
 9962 | 39                      game.s    141 | Empty       | 11 |         |    0 | 00/60E1               |                                                       
 9963 | 39                      game.s    142 | Comment     | 11 |         |    0 | 00/60E1               | * Loot sleep: if LootDirty was set (items moved), reset wake counter.
 9964 | 39                      game.s    143 | Comment     | 11 |         |    0 | 00/60E1               | * Wake counter ensures both pages get drawn before sleeping.
 9965 | 39                      game.s    144 | Code        | 11 |         |    2 | 00/60E1 : 64 EE       |                          STZ     {$EE}                
 9966 | 39                      game.s    145 | Code        | 11 |         |    2 | 00/60E3 : A5 6F       |                          LDA     {$6F}                
 9967 | 39                      game.s    146 | Code        | 11 |         |    2 | 00/60E5 : F0 06       |                          BEQ     _lootWake            
 9968 | 39                      game.s    147 | Code        | 11 |         |    2 | 00/60E7 : A9 02       |                          LDA     #2                   
 9969 | 39                      game.s    148 | Code        | 11 |         |    2 | 00/60E9 : 85 EC       |                          STA     {$EC}                
 9970 | 39                      game.s    149 | Code        | 11 |         |    2 | 00/60EB : 80 0A       |                          BRA     _lootDone            
 9971 | 39                      game.s    150 | Empty       | 11 |         |    0 | 00/60ED               | _lootWake                                             
 9972 | 39                      game.s    151 | Code        | 11 |         |    2 | 00/60ED : A5 EC       |                          LDA     {$EC}                
 9973 | 39                      game.s    152 | Code        | 11 |         |    2 | 00/60EF : F0 06       |                          BEQ     _lootDone            ; counter=0, loot can sleep
 9974 | 39                      game.s    153 | Code        | 11 |         |    2 | 00/60F1 : C6 EC       |                          DEC     {$EC}                
 9975 | 39                      game.s    154 | Code        | 11 |         |    2 | 00/60F3 : A9 01       |                          LDA     #1                   
 9976 | 39                      game.s    155 | Code        | 11 |         |    2 | 00/60F5 : 85 6F       |                          STA     {$6F}                ; keep dirty for page sync
 9977 | 39                      game.s    156 | Empty       | 11 |         |    0 | 00/60F7               | _lootDone                                             
 9978 | 39                      game.s    157 | Empty       | 11 |         |    0 | 00/60F7               |                                                       
 9979 | 39                      game.s    158 | Comment     | 11 |         |    0 | 00/60F7               | * WB sleep: same logic
 9980 | 39                      game.s    159 | Code        | 11 |         |    2 | 00/60F7 : A5 37       |                          LDA     {$37}                
 9981 | 39                      game.s    160 | Code        | 11 |         |    2 | 00/60F9 : F0 06       |                          BEQ     _wbWake              
 9982 | 39                      game.s    161 | Code        | 11 |         |    2 | 00/60FB : A9 02       |                          LDA     #2                   
 9983 | 39                      game.s    162 | Code        | 11 |         |    2 | 00/60FD : 85 ED       |                          STA     {$ED}                
 9984 | 39                      game.s    163 | Code        | 11 |         |    2 | 00/60FF : 80 0A       |                          BRA     ozunid_60            
 9985 | 39                      game.s    164 | Empty       | 11 |         |    0 | 00/6101               | _wbWake                                               
 9986 | 39                      game.s    165 | Code        | 11 |         |    2 | 00/6101 : A5 ED       |                          LDA     {$ED}                
 9987 | 39                      game.s    166 | Code        | 11 |         |    2 | 00/6103 : F0 06       |                          BEQ     ozunid_60            
 9988 | 39                      game.s    167 | Code        | 11 |         |    2 | 00/6105 : C6 ED       |                          DEC     {$ED}                
 9989 | 39                      game.s    168 | Code        | 11 |         |    2 | 00/6107 : A9 01       |                          LDA     #1                   
 9990 | 39                      game.s    169 | Code        | 11 |         |    2 | 00/6109 : 85 37       |                          STA     {$37}                
 9991 | 39                      game.s    170 | Empty       | 11 |         |    0 | 00/610B               | ozunid_60                                             
 9992 | 39                      game.s    171 | Empty       | 11 |         |    0 | 00/610B               |                                                       
 9993 | 39                      game.s    172 | Comment     | 11 |         |    0 | 00/610B               | * Decide whether the preview-sprite pass runs this frame.
 9994 | 39                      game.s    173 | Code        | 11 |         |    3 | 00/610B : 20 26 62    |                          JSR     UpdatePreviewWake    
 9995 | 39                      game.s    174 | Empty       | 11 |         |    0 | 00/610E               |                                                       
 9996 | 39                      game.s    175 | Comment     | 11 |         |    0 | 00/610E               | * Compute dynamic render cost
 9997 | 39                      game.s    176 | Comment     | 11 |         |    0 | 00/610E               | * Each sprite erase+draw ≈ 5000 cycles ≈ 4 delay slots (1286 cyc/slot).
 9998 | 39                      game.s    177 | Equivalence | 11 |         |    0 | 00/610E               | SLOTS_PER_SPRITE         =       4                    
 9999 | 39                      game.s    178 | Code        | 11 |         |    2 | 00/610E : A9 01       |                          LDA     #1                   ; player always rendered
10000 | 39                      game.s    179 | Code        | 11 |         |    2 | 00/6110 : A6 6E       |                          LDX     {$6E}                
10001 | 39                      game.s    180 | Code        | 11 |         |    2 | 00/6112 : E0 FF       |                          CPX     #{$FF}               
10002 | 39                      game.s    181 | Code        | 11 |         |    2 | 00/6114 : F0 01       |                          BEQ     _noCCost             
10003 | 39                      game.s    182 | Code        | 11 |         |    1 | 00/6116 : 1A          |                          INC                          ; carried loot
10004 | 39                      game.s    183 | Code        | 11 |         |    2 | 00/6117 : A6 6D       | _noCCost                 LDX     {$6D}                
10005 | 39                      game.s    184 | Code        | 11 |         |    2 | 00/6119 : E4 1C       |                          CPX     {$1C}                
10006 | 39                      game.s    185 | Code        | 11 |         |    2 | 00/611B : D0 05       |                          BNE     _noWCost             
10007 | 39                      game.s    186 | Code        | 11 |         |    2 | 00/611D : A5 37       |                          LDA     {$37}                
10008 | 39                      game.s    187 | Code        | 11 |         |    2 | 00/611F : F0 01       |                          BEQ     _noWCost             
10009 | 39                      game.s    188 | Code        | 11 |         |    1 | 00/6121 : 1A          |                          INC                          ; wheelbarrow (only if awake)
10010 | 39                      game.s    189 | Code        | 11 |         |    2 | 00/6122 : A5 6F       | _noWCost                 LDA     {$6F}                
10011 | 39                      game.s    190 | Code        | 11 |         |    2 | 00/6124 : F0 1A       |                          BEQ     _gcDone              ; loot sleeping, skip count
10012 | 39                      game.s    191 | Code        | 11 |         |    2 | 00/6126 : A2 00       |                          LDX     #0                   ; count visible loot on this map
10013 | 39                      game.s    192 | Code        | 11 |         |    2 | 00/6128 : E0 04       | _gcLoop                  CPX     #{4}                 
10014 | 39                      game.s    193 | Code        | 11 |         |    2 | 00/612A : B0 14       |                          BCS     _gcDone              
10015 | 39                      game.s    194 | Code        | 11 |         |    3 | 00/612C : BC 81 73    |                          LDY     LootTblSt,X          
10016 | 39                      game.s    195 | Code        | 11 |         |    2 | 00/612F : F0 04       |                          BEQ     _gcVis               ; ground
10017 | 39                      game.s    196 | Code        | 11 |         |    2 | 00/6131 : C0 03       |                          CPY     #{3}                 
10018 | 39                      game.s    197 | Code        | 11 |         |    2 | 00/6133 : D0 08       |                          BNE     _gcNext              ; carried/collected - skip
10019 | 39                      game.s    198 | Code        | 11 |         |    3 | 00/6135 : BC 7D 73    | _gcVis                   LDY     LootTblMap,X         
10020 | 39                      game.s    199 | Code        | 11 |         |    2 | 00/6138 : C4 1C       |                          CPY     {$1C}                
10021 | 39                      game.s    200 | Code        | 11 |         |    2 | 00/613A : D0 01       |                          BNE     _gcNext              
10022 | 39                      game.s    201 | Code        | 11 |         |    1 | 00/613C : 1A          |                          INC                          ; one visible loot item
10023 | 39                      game.s    202 | Code        | 11 |         |    1 | 00/613D : E8          | _gcNext                  INX                          
10024 | 39                      game.s    203 | Code        | 11 |         |    2 | 00/613E : 80 E8       |                          BRA     _gcLoop              
10025 | 39                      game.s    204 | Empty       | 11 |         |    0 | 00/6140               | _gcDone                                               
10026 | 39                      game.s    205 | Comment     | 11 |         |    0 | 00/6140               | * Count visible carts on this map
10027 | 39                      game.s    206 | Code        | 11 |         |    2 | 00/6140 : A2 00       |                          LDX     #0                   
10028 | 39                      game.s    207 | Code        | 11 |         |    2 | 00/6142 : E0 03       | _ccLoop                  CPX     #{3}                 
10029 | 39                      game.s    208 | Code        | 11 |         |    2 | 00/6144 : B0 0B       |                          BCS     ozunid_61            
10030 | 39                      game.s    209 | Code        | 11 |         |    3 | 00/6146 : BC C3 77    |                          LDY     CartTblMap,X         
10031 | 39                      game.s    210 | Code        | 11 |         |    2 | 00/6149 : C4 1C       |                          CPY     {$1C}                
10032 | 39                      game.s    211 | Code        | 11 |         |    2 | 00/614B : D0 01       |                          BNE     _ccNext              
10033 | 39                      game.s    212 | Code        | 11 |         |    1 | 00/614D : 1A          |                          INC                          
10034 | 39                      game.s    213 | Code        | 11 |         |    1 | 00/614E : E8          | _ccNext                  INX                          
10035 | 39                      game.s    214 | Code        | 11 |         |    2 | 00/614F : 80 F1       |                          BRA     _ccLoop              
10036 | 39                      game.s    215 | Empty       | 11 |         |    0 | 00/6151               | ozunid_61                                             
10037 | 39                      game.s    216 | Comment     | 11 |         |    0 | 00/6151               | * Count visible guards on this map
10038 | 39                      game.s    217 | Code        | 11 |         |    2 | 00/6151 : A2 00       |                          LDX     #0                   
10039 | 39                      game.s    218 | Code        | 11 |         |    2 | 00/6153 : E0 03       | _grcLoop                 CPX     #{3}                 
10040 | 39                      game.s    219 | Code        | 11 |         |    2 | 00/6155 : B0 0B       |                          BCS     _grcDone             
10041 | 39                      game.s    220 | Code        | 11 |         |    3 | 00/6157 : BC 8E 11    |                          LDY     GuardTblMap,X        
10042 | 39                      game.s    221 | Code        | 11 |         |    2 | 00/615A : C4 1C       |                          CPY     {$1C}                
10043 | 39                      game.s    222 | Code        | 11 |         |    2 | 00/615C : D0 01       |                          BNE     _grcNext             
10044 | 39                      game.s    223 | Code        | 11 |         |    1 | 00/615E : 1A          |                          INC                          
10045 | 39                      game.s    224 | Code        | 11 |         |    1 | 00/615F : E8          | _grcNext                 INX                          
10046 | 39                      game.s    225 | Code        | 11 |         |    2 | 00/6160 : 80 F1       |                          BRA     _grcLoop             
10047 | 39                      game.s    226 | Empty       | 11 |         |    0 | 00/6162               | _grcDone                                              
10048 | 39                      game.s    227 | Comment     | 11 |         |    0 | 00/6162               | * Multiply sprite count by SLOTS_PER_SPRITE
10049 | 39                      game.s    228 | Code        | 11 |         |    2 | 00/6162 : 85 18       |                          STA     {$18}                ; save count
10050 | 39                      game.s    229 | Code        | 11 |         |    1 | 00/6164 : 0A          |                          ASL                          
10051 | 39                      game.s    230 | Code        | 11 |         |    1 | 00/6165 : 0A          |                          ASL                          ; A = count * 4
10052 | 39                      game.s    231 | Code        | 11 |         |    2 | 00/6166 : 85 18       |                          STA     {$18}                
10053 | 39                      game.s    232 | Code        | 11 |         |    2 | 00/6168 : A5 7E       |                          LDA     {$7E}                
10054 | 39                      game.s    233 | Code        | 11 |         |    1 | 00/616A : 38          |                          SEC                          
10055 | 39                      game.s    234 | Code        | 11 |         |    2 | 00/616B : E5 18       |                          SBC     {$18}                
10056 | 39                      game.s    235 | Code        | 11 |         |    2 | 00/616D : 85 7E       |                          STA     {$7E}                
10057 | 39                      game.s    236 | Empty       | 11 |         |    0 | 00/616F               |                                                       
10058 | 39                      game.s    237 | Comment     | 11 |         |    0 | 00/616F               | * Double-buffered rendering:
10059 | 39                      game.s    238 | Comment     | 11 |         |    0 | 00/616F               | * Flip to hidden page, erase movers at old positions,
10060 | 39                      game.s    239 | Comment     | 11 |         |    0 | 00/616F               | * then draw movers at new positions + draw-only for damaged sleepers
10061 | 39                      game.s    240 | Code        | 11 |         |    3 | 00/616F : 20 40 0F    |                          JSR     FlipPage             ; PageOfs now targets hidden page
10062 | 39                      game.s    241 | Code        | 11 |         |    3 | 00/6172 : 20 C8 62    |                          JSR     LoadPageOldPos       
10063 | 39                      game.s    242 | Empty       | 11 |         |    0 | 00/6175               |                                                       
10064 | 39                      game.s    243 | Comment     | 11 |         |    0 | 00/6175               | * Check if erase positions will damage sleeping loot. Per-loot:
10065 | 39                      game.s    244 | Comment     | 11 |         |    0 | 00/6175               | * CheckLootSleep inspects each loot item individually, so it must
10066 | 39                      game.s    245 | Comment     | 11 |         |    0 | 00/6175               | * run even when some other loot is already awake.
10067 | 39                      game.s    246 | Code        | 11 |         |    3 | 00/6175 : 20 20 66    |                          JSR     CheckLootSleep       ; sets LootDrawOnly bits if needed
10068 | 39                      game.s    247 | Comment     | 11 |         |    0 | 00/6178               | * Check WB sleep: if sleeping, wake if player old/new pos overlaps
10069 | 39                      game.s    248 | Code        | 11 |         |    2 | 00/6178 : A5 37       |                          LDA     {$37}                
10070 | 39                      game.s    249 | Code        | 11 |         |    2 | 00/617A : D0 09       |                          BNE     _skipWBChk           
10071 | 39                      game.s    250 | Code        | 11 |         |    2 | 00/617C : A5 6D       |                          LDA     {$6D}                
10072 | 39                      game.s    251 | Code        | 11 |         |    2 | 00/617E : C5 1C       |                          CMP     {$1C}                
10073 | 39                      game.s    252 | Code        | 11 |         |    2 | 00/6180 : D0 03       |                          BNE     _skipWBChk           
10074 | 39                      game.s    253 | Code        | 11 |         |    3 | 00/6182 : 20 B1 66    |                          JSR     CheckWBSleep         ; sets WBDirty=1 (draw-only) if damaged
10075 | 39                      game.s    254 | Empty       | 11 |         |    0 | 00/6185               | _skipWBChk                                            
10076 | 39                      game.s    255 | Empty       | 11 |         |    0 | 00/6185               |                                                       
10077 | 39                      game.s    256 | Code        | 11 |         |    3 | 00/6185 : 20 7C 0A    |                          JSR     EraseElevCar         
10078 | 39                      game.s    257 | Code        | 11 |         |    3 | 00/6188 : 20 30 72    |                          JSR     ErasePlayer          
10079 | 39                      game.s    258 | Code        | 11 |         |    3 | 00/618B : 20 B3 DE    |                          JSR     EraseGuards          
10080 | 39                      game.s    259 | Comment     | 11 |         |    0 | 00/618E               | * Erase carried loot at old pos
10081 | 39                      game.s    260 | Code        | 11 |         |    3 | 00/618E : 20 E3 73    |                          JSR     LoadLootOldPos       
10082 | 39                      game.s    261 | Code        | 11 |         |    3 | 00/6191 : 20 9C 77    |                          JSR     EraseCarried         
10083 | 39                      game.s    262 | Comment     | 11 |         |    0 | 00/6194               | * Erase ground loot + WB + carts on current map
10084 | 39                      game.s    263 | Code        | 11 |         |    3 | 00/6194 : 20 C8 76    |                          JSR     EraseGroundLoot      
10085 | 39                      game.s    264 | Code        | 11 |         |    3 | 00/6197 : 20 D4 78    |                          JSR     EraseCarts           
10086 | 39                      game.s    265 | Code        | 11 |         |    3 | 00/619A : AD EE 11    |                          LDA     PreviewRun           
10087 | 39                      game.s    266 | Code        | 11 |         |    2 | 00/619D : F0 0F       |                          BEQ     _skipPvErase         
10088 | 39                      game.s    267 | Code        | 11 |         |    3 | 00/619F : 20 9C 7A    |                          JSR     ErasePreviewCarts    
10089 | 39                      game.s    268 | Code        | 11 |         |    3 | 00/61A2 : 20 9B 7B    |                          JSR     ErasePreviewLoot     
10090 | 39                      game.s    269 | Code        | 11 |         |    3 | 00/61A5 : 20 72 7C    |                          JSR     ErasePreviewWB       
10091 | 39                      game.s    270 | Code        | 11 |         |    3 | 00/61A8 : 20 2C 0C    |                          JSR     ErasePreviewElev     
10092 | 39                      game.s    271 | Code        | 11 |         |    3 | 00/61AB : 20 37 DF    |                          JSR     ErasePreviewGuards   
10093 | 39                      game.s    272 | Empty       | 11 |         |    0 | 00/61AE               | _skipPvErase                                          
10094 | 39                      game.s    273 | Code        | 11 |         |    2 | 00/61AE : A5 6D       |                          LDA     {$6D}                
10095 | 39                      game.s    274 | Code        | 11 |         |    2 | 00/61B0 : C5 1C       |                          CMP     {$1C}                
10096 | 39                      game.s    275 | Code        | 11 |         |    2 | 00/61B2 : D0 06       |                          BNE     _skipWBErase         
10097 | 39                      game.s    276 | Code        | 11 |         |    3 | 00/61B4 : 20 8A 72    |                          JSR     LoadWBOldPos         
10098 | 39                      game.s    277 | Code        | 11 |         |    3 | 00/61B7 : 20 49 73    |                          JSR     EraseWB              
10099 | 39                      game.s    278 | Empty       | 11 |         |    0 | 00/61BA               | _skipWBErase                                          
10100 | 39                      game.s    279 | Comment     | 11 |         |    0 | 00/61BA               | * Draw all: elevator (behind), player, guards, ground loot, carried loot, WB, carts
10101 | 39                      game.s    280 | Code        | 11 |         |    3 | 00/61BA : 20 E6 0A    |                          JSR     DrawElevCar          
10102 | 39                      game.s    281 | Code        | 11 |         |    3 | 00/61BD : 20 44 72    |                          JSR     DrawPlayer           
10103 | 39                      game.s    282 | Code        | 11 |         |    3 | 00/61C0 : 20 85 DE    |                          JSR     DrawGuards           
10104 | 39                      game.s    283 | Code        | 11 |         |    3 | 00/61C3 : 20 73 76    |                          JSR     DrawGroundLoot       
10105 | 39                      game.s    284 | Code        | 11 |         |    3 | 00/61C6 : 20 6A 77    |                          JSR     DrawCarried          
10106 | 39                      game.s    285 | Code        | 11 |         |    3 | 00/61C9 : 20 F8 73    |                          JSR     SaveLootOldPos       
10107 | 39                      game.s    286 | Code        | 11 |         |    3 | 00/61CC : 20 A7 78    |                          JSR     DrawCarts            
10108 | 39                      game.s    287 | Code        | 11 |         |    3 | 00/61CF : AD EE 11    |                          LDA     PreviewRun           
10109 | 39                      game.s    288 | Code        | 11 |         |    2 | 00/61D2 : F0 0F       |                          BEQ     _skipPvDraw          
10110 | 39                      game.s    289 | Code        | 11 |         |    3 | 00/61D4 : 20 30 7A    |                          JSR     DrawPreviewCarts     
10111 | 39                      game.s    290 | Code        | 11 |         |    3 | 00/61D7 : 20 2E 7B    |                          JSR     DrawPreviewLoot      
10112 | 39                      game.s    291 | Code        | 11 |         |    3 | 00/61DA : 20 2D 7C    |                          JSR     DrawPreviewWB        
10113 | 39                      game.s    292 | Code        | 11 |         |    3 | 00/61DD : 20 C3 0B    |                          JSR     DrawPreviewElev      
10114 | 39                      game.s    293 | Code        | 11 |         |    3 | 00/61E0 : 20 D2 DE    |                          JSR     DrawPreviewGuards    
10115 | 39                      game.s    294 | Empty       | 11 |         |    0 | 00/61E3               | _skipPvDraw                                           
10116 | 39                      game.s    295 | Code        | 11 |         |    2 | 00/61E3 : A5 6D       |                          LDA     {$6D}                
10117 | 39                      game.s    296 | Code        | 11 |         |    2 | 00/61E5 : C5 1C       |                          CMP     {$1C}                
10118 | 39                      game.s    297 | Code        | 11 |         |    2 | 00/61E7 : D0 06       |                          BNE     _skipWBDraw          
10119 | 39                      game.s    298 | Code        | 11 |         |    3 | 00/61E9 : 20 61 73    |                          JSR     DrawWB               
10120 | 39                      game.s    299 | Code        | 11 |         |    3 | 00/61EC : 20 9F 72    |                          JSR     SaveWBOldPos         
10121 | 39                      game.s    300 | Empty       | 11 |         |    0 | 00/61EF               | _skipWBDraw                                           
10122 | 39                      game.s    301 | Code        | 11 |         |    3 | 00/61EF : 20 DD 62    |                          JSR     SavePageOldPos       
10123 | 39                      game.s    302 | Empty       | 11 |         |    0 | 00/61F2               |                                                       
10124 | 39                      game.s    303 | Comment     | 11 |         |    0 | 00/61F2               | * HUD: draw only when dirty (staying dirty for 2 frames covers both pages).
10125 | 39                      game.s    304 | Code        | 11 |         |    3 | 00/61F2 : AD EA 11    |                          LDA     ScoreDirty           
10126 | 39                      game.s    305 | Code        | 11 |         |    2 | 00/61F5 : F0 06       |                          BEQ     _hudNoSc             
10127 | 39                      game.s    306 | Code        | 11 |         |    3 | 00/61F7 : CE EA 11    |                          DEC     ScoreDirty           
10128 | 39                      game.s    307 | Code        | 11 |         |    3 | 00/61FA : 20 C6 14    |                          JSR     DrawScore            
10129 | 39                      game.s    308 | Code        | 11 |         |    3 | 00/61FD : AD EB 11    | _hudNoSc                 LDA     BonusDirty           
10130 | 39                      game.s    309 | Code        | 11 |         |    2 | 00/6200 : F0 06       |                          BEQ     _hudNoBn             
10131 | 39                      game.s    310 | Code        | 11 |         |    3 | 00/6202 : CE EB 11    |                          DEC     BonusDirty           
10132 | 39                      game.s    311 | Code        | 11 |         |    3 | 00/6205 : 20 D8 14    |                          JSR     DrawBonus            
10133 | 39                      game.s    312 | Code        | 11 |         |    3 | 00/6208 : AD EC 11    | _hudNoBn                 LDA     LivesDirty           
10134 | 39                      game.s    313 | Code        | 11 |         |    2 | 00/620B : F0 06       |                          BEQ     _hudNoLv             
10135 | 39                      game.s    314 | Code        | 11 |         |    3 | 00/620D : CE EC 11    |                          DEC     LivesDirty           
10136 | 39                      game.s    315 | Code        | 11 |         |    3 | 00/6210 : 20 9F 14    |                          JSR     DrawLivesRow         
10137 | 39                      game.s    316 | Empty       | 11 |         |    0 | 00/6213               | _hudNoLv                                              
10138 | 39                      game.s    317 | Empty       | 11 |         |    0 | 00/6213               |                                                       
10139 | 39                      game.s    318 | Comment     | 11 |         |    0 | 00/6213               | * Frame delay - burn remaining budget as idle time
10140 | 39                      game.s    319 | Empty       | 11 |         |    0 | 00/6213               | _framewait                                            
10141 | 39                      game.s    320 | Code        | 11 |         |    2 | 00/6213 : A6 7E       |                          LDX     {$7E}                
10142 | 39                      game.s    321 | Code        | 11 |         |    2 | 00/6215 : F0 0C       |                          BEQ     _frameDone           
10143 | 39                      game.s    322 | Code        | 11 |         |    2 | 00/6217 : 10 02       |                          BPL     _fwOuter             
10144 | 39                      game.s    323 | Code        | 11 |         |    2 | 00/6219 : 80 08       |                          BRA     _frameDone           ; safety: skip if negative
10145 | 39                      game.s    324 | Code        | 11 |         |    2 | 00/621B : A0 00       | _fwOuter                 LDY     #0                   ; inner loop ~256 iterations
10146 | 39                      game.s    325 | Code        | 11 |         |    1 | 00/621D : 88          | _fwInner                 DEY                          
10147 | 39                      game.s    326 | Code        | 11 |         |    2 | 00/621E : D0 FD       |                          BNE     _fwInner             
10148 | 39                      game.s    327 | Code        | 11 |         |    1 | 00/6220 : CA          |                          DEX                          
10149 | 39                      game.s    328 | Code        | 11 |         |    2 | 00/6221 : D0 F8       |                          BNE     _fwOuter             
10150 | 39                      game.s    329 | Empty       | 11 |         |    0 | 00/6223               | _frameDone                                            
10151 | 39                      game.s    330 | Code        | 11 |         |    3 | 00/6223 : 4C 48 60    |                          JMP     MainLoop             
10152 | 39                      game.s    331 | Empty       | 11 |         |    0 | 00/6226               |                                                       
10153 | 39                      game.s    332 | Comment     | 11 |         |    0 | 00/6226               | *----------------------------------------------
10154 | 39                      game.s    333 | Comment     | 11 |         |    0 | 00/6226               | * UpdatePreviewWake - Decide whether this frame runs the preview block.
10155 | 39                      game.s    334 | Comment     | 11 |         |    0 | 00/6226               | *
10156 | 39                      game.s    335 | Comment     | 11 |         |    0 | 00/6226               | * Scans every entity's map field against CartAdjL/R[MapIdx]. When any
10157 | 39                      game.s    336 | Comment     | 11 |         |    0 | 00/6226               | * entity sits on a neighbor map (or the neighbor has an elevator),
10158 | 39                      game.s    337 | Comment     | 11 |         |    0 | 00/6226               | * PreviewWakeCnt resets to 2 and PreviewRun=1. Otherwise we decrement
10159 | 39                      game.s    338 | Comment     | 11 |         |    0 | 00/6226               | * the counter; PreviewRun stays 1 until the counter reaches 0, giving
10160 | 39                      game.s    339 | Comment     | 11 |         |    0 | 00/6226               | * both double-buffer pages a chance to erase the last preview draw.
10161 | 39                      game.s    340 | Comment     | 11 |         |    0 | 00/6226               | *
10162 | 39                      game.s    341 | Comment     | 11 |         |    0 | 00/6226               | * Clobbers: A, X, Temp1, Temp2.
10163 | 39                      game.s    342 | Comment     | 11 |         |    0 | 00/6226               | *----------------------------------------------
10164 | 39                      game.s    343 | Empty       | 11 |         |    0 | 00/6226               | UpdatePreviewWake                                     
10165 | 39                      game.s    344 | Code        | 11 |         |    2 | 00/6226 : A6 1C       |                          LDX     {$1C}                
10166 | 39                      game.s    345 | Code        | 11 |         |    3 | 00/6228 : BD B4 77    |                          LDA     CartAdjL,X           
10167 | 39                      game.s    346 | Code        | 11 |         |    2 | 00/622B : 85 18       |                          STA     {$18}                ; AdjL ($FF = none)
10168 | 39                      game.s    347 | Code        | 11 |         |    3 | 00/622D : BD B7 77    |                          LDA     CartAdjR,X           
10169 | 39                      game.s    348 | Code        | 11 |         |    2 | 00/6230 : 85 19       |                          STA     {$19}                ; AdjR ($FF = none)
10170 | 39                      game.s    349 | Empty       | 11 |         |    0 | 00/6232               |                                                       
10171 | 39                      game.s    350 | Comment     | 11 |         |    0 | 00/6232               | * Carts
10172 | 39                      game.s    351 | Code        | 11 |         |    2 | 00/6232 : A2 00       |                          LDX     #0                   
10173 | 39                      game.s    352 | Code        | 11 |         |    2 | 00/6234 : E0 03       | _upwCart                 CPX     #{3}                 
10174 | 39                      game.s    353 | Code        | 11 |         |    2 | 00/6236 : B0 0E       |                          BCS     _upwLoot             
10175 | 39                      game.s    354 | Code        | 11 |         |    3 | 00/6238 : BD C3 77    |                          LDA     CartTblMap,X         
10176 | 39                      game.s    355 | Code        | 11 |         |    2 | 00/623B : C5 18       |                          CMP     {$18}                
10177 | 39                      game.s    356 | Code        | 11 |         |    2 | 00/623D : F0 6F       |                          BEQ     _upwYes              
10178 | 39                      game.s    357 | Code        | 11 |         |    2 | 00/623F : C5 19       |                          CMP     {$19}                
10179 | 39                      game.s    358 | Code        | 11 |         |    2 | 00/6241 : F0 6B       |                          BEQ     _upwYes              
10180 | 39                      game.s    359 | Code        | 11 |         |    1 | 00/6243 : E8          |                          INX                          
10181 | 39                      game.s    360 | Code        | 11 |         |    2 | 00/6244 : 80 EE       |                          BRA     _upwCart             
10182 | 39                      game.s    361 | Empty       | 11 |         |    0 | 00/6246               |                                                       
10183 | 39                      game.s    362 | Comment     | 11 |         |    0 | 00/6246               | * Ground/collected loot (carried/falling don't preview)
10184 | 39                      game.s    363 | Code        | 11 |         |    2 | 00/6246 : A2 00       | _upwLoot                 LDX     #0                   
10185 | 39                      game.s    364 | Code        | 11 |         |    2 | 00/6248 : E0 04       | _upwLL                   CPX     #{4}                 
10186 | 39                      game.s    365 | Code        | 11 |         |    2 | 00/624A : B0 17       |                          BCS     _upwGuard            
10187 | 39                      game.s    366 | Code        | 11 |         |    3 | 00/624C : BD 81 73    |                          LDA     LootTblSt,X          
10188 | 39                      game.s    367 | Code        | 11 |         |    2 | 00/624F : F0 04       |                          BEQ     _upwLChk             ; LST_GROUND
10189 | 39                      game.s    368 | Code        | 11 |         |    2 | 00/6251 : C9 02       |                          CMP     #{2}                 
10190 | 39                      game.s    369 | Code        | 11 |         |    2 | 00/6253 : D0 0B       |                          BNE     _upwLNext            
10191 | 39                      game.s    370 | Code        | 11 |         |    3 | 00/6255 : BD 7D 73    | _upwLChk                 LDA     LootTblMap,X         
10192 | 39                      game.s    371 | Code        | 11 |         |    2 | 00/6258 : C5 18       |                          CMP     {$18}                
10193 | 39                      game.s    372 | Code        | 11 |         |    2 | 00/625A : F0 52       |                          BEQ     _upwYes              
10194 | 39                      game.s    373 | Code        | 11 |         |    2 | 00/625C : C5 19       |                          CMP     {$19}                
10195 | 39                      game.s    374 | Code        | 11 |         |    2 | 00/625E : F0 4E       |                          BEQ     _upwYes              
10196 | 39                      game.s    375 | Code        | 11 |         |    1 | 00/6260 : E8          | _upwLNext                INX                          
10197 | 39                      game.s    376 | Code        | 11 |         |    2 | 00/6261 : 80 E5       |                          BRA     _upwLL               
10198 | 39                      game.s    377 | Empty       | 11 |         |    0 | 00/6263               |                                                       
10199 | 39                      game.s    378 | Comment     | 11 |         |    0 | 00/6263               | * Guards (active slots only)
10200 | 39                      game.s    379 | Code        | 11 |         |    2 | 00/6263 : A2 00       | _upwGuard                LDX     #0                   
10201 | 39                      game.s    380 | Code        | 11 |         |    3 | 00/6265 : EC C8 11    | _upwGL                   CPX     GuardActiveCount     
10202 | 39                      game.s    381 | Code        | 11 |         |    2 | 00/6268 : B0 0E       |                          BCS     _upwWB               
10203 | 39                      game.s    382 | Code        | 11 |         |    3 | 00/626A : BD 8E 11    |                          LDA     GuardTblMap,X        
10204 | 39                      game.s    383 | Code        | 11 |         |    2 | 00/626D : C5 18       |                          CMP     {$18}                
10205 | 39                      game.s    384 | Code        | 11 |         |    2 | 00/626F : F0 3D       |                          BEQ     _upwYes              
10206 | 39                      game.s    385 | Code        | 11 |         |    2 | 00/6271 : C5 19       |                          CMP     {$19}                
10207 | 39                      game.s    386 | Code        | 11 |         |    2 | 00/6273 : F0 39       |                          BEQ     _upwYes              
10208 | 39                      game.s    387 | Code        | 11 |         |    1 | 00/6275 : E8          |                          INX                          
10209 | 39                      game.s    388 | Code        | 11 |         |    2 | 00/6276 : 80 ED       |                          BRA     _upwGL               
10210 | 39                      game.s    389 | Empty       | 11 |         |    0 | 00/6278               |                                                       
10211 | 39                      game.s    390 | Comment     | 11 |         |    0 | 00/6278               | * Wheelbarrow
10212 | 39                      game.s    391 | Code        | 11 |         |    2 | 00/6278 : A5 6D       | _upwWB                   LDA     {$6D}                
10213 | 39                      game.s    392 | Code        | 11 |         |    2 | 00/627A : C5 18       |                          CMP     {$18}                
10214 | 39                      game.s    393 | Code        | 11 |         |    2 | 00/627C : F0 30       |                          BEQ     _upwYes              
10215 | 39                      game.s    394 | Code        | 11 |         |    2 | 00/627E : C5 19       |                          CMP     {$19}                
10216 | 39                      game.s    395 | Code        | 11 |         |    2 | 00/6280 : F0 2C       |                          BEQ     _upwYes              
10217 | 39                      game.s    396 | Empty       | 11 |         |    0 | 00/6282               |                                                       
10218 | 39                      game.s    397 | Comment     | 11 |         |    0 | 00/6282               | * Elevator on neighbor map
10219 | 39                      game.s    398 | Code        | 11 |         |    2 | 00/6282 : A6 18       |                          LDX     {$18}                
10220 | 39                      game.s    399 | Code        | 11 |         |    2 | 00/6284 : E0 FF       |                          CPX     #$FF                 
10221 | 39                      game.s    400 | Code        | 11 |         |    2 | 00/6286 : F0 07       |                          BEQ     _upwChkR             
10222 | 39                      game.s    401 | Code        | 11 |         |    3 | 00/6288 : BD 41 09    |                          LDA     ElevPixX,X           
10223 | 39                      game.s    402 | Code        | 11 |         |    2 | 00/628B : C9 FF       |                          CMP     #$FF                 
10224 | 39                      game.s    403 | Code        | 11 |         |    2 | 00/628D : D0 1F       |                          BNE     _upwYes              
10225 | 39                      game.s    404 | Code        | 11 |         |    2 | 00/628F : A6 19       | _upwChkR                 LDX     {$19}                
10226 | 39                      game.s    405 | Code        | 11 |         |    2 | 00/6291 : E0 FF       |                          CPX     #$FF                 
10227 | 39                      game.s    406 | Code        | 11 |         |    2 | 00/6293 : F0 07       |                          BEQ     _upwNo               
10228 | 39                      game.s    407 | Code        | 11 |         |    3 | 00/6295 : BD 41 09    |                          LDA     ElevPixX,X           
10229 | 39                      game.s    408 | Code        | 11 |         |    2 | 00/6298 : C9 FF       |                          CMP     #$FF                 
10230 | 39                      game.s    409 | Code        | 11 |         |    2 | 00/629A : D0 12       |                          BNE     _upwYes              
10231 | 39                      game.s    410 | Empty       | 11 |         |    0 | 00/629C               |                                                       
10232 | 39                      game.s    411 | Comment     | 11 |         |    0 | 00/629C               | * No preview work this frame — decrement counter
10233 | 39                      game.s    412 | Code        | 11 |         |    3 | 00/629C : AD ED 11    | _upwNo                   LDA     PreviewWakeCnt       
10234 | 39                      game.s    413 | Code        | 11 |         |    2 | 00/629F : F0 09       |                          BEQ     _upwSleep            
10235 | 39                      game.s    414 | Code        | 11 |         |    3 | 00/62A1 : CE ED 11    |                          DEC     PreviewWakeCnt       
10236 | 39                      game.s    415 | Code        | 11 |         |    2 | 00/62A4 : A9 01       |                          LDA     #1                   
10237 | 39                      game.s    416 | Code        | 11 |         |    3 | 00/62A6 : 8D EE 11    |                          STA     PreviewRun           
10238 | 39                      game.s    417 | Code        | 11 |         |    1 | 00/62A9 : 60          |                          RTS                          
10239 | 39                      game.s    418 | Empty       | 11 |         |    0 | 00/62AA               | _upwSleep                                             
10240 | 39                      game.s    419 | Code        | 11 |         |    3 | 00/62AA : 9C EE 11    |                          STZ     PreviewRun           
10241 | 39                      game.s    420 | Code        | 11 |         |    1 | 00/62AD : 60          |                          RTS                          
10242 | 39                      game.s    421 | Empty       | 11 |         |    0 | 00/62AE               |                                                       
10243 | 39                      game.s    422 | Comment     | 11 |         |    0 | 00/62AE               | * At least one neighbor-map entity — arm the counter
10244 | 39                      game.s    423 | Code        | 11 |         |    2 | 00/62AE : A9 02       | _upwYes                  LDA     #2                   
10245 | 39                      game.s    424 | Code        | 11 |         |    3 | 00/62B0 : 8D ED 11    |                          STA     PreviewWakeCnt       
10246 | 39                      game.s    425 | Code        | 11 |         |    2 | 00/62B3 : A9 01       |                          LDA     #1                   
10247 | 39                      game.s    426 | Code        | 11 |         |    3 | 00/62B5 : 8D EE 11    |                          STA     PreviewRun           
10248 | 39                      game.s    427 | Code        | 11 |         |    1 | 00/62B8 : 60          |                          RTS                          
10249 | 39                      game.s    428 | Empty       | 11 |         |    0 | 00/62B9               |                                                       
10250 | 39                      game.s    429 | Comment     | 11 |         |    0 | 00/62B9               | *----------------------------------------------
10251 | 39                      game.s    430 | Comment     | 11 |         |    0 | 00/62B9               | * InitPageOldPos - Set both pages' old pos from PlayerInit
10252 | 39                      game.s    431 | Comment     | 11 |         |    0 | 00/62B9               | *----------------------------------------------
10253 | 39                      game.s    432 | Empty       | 11 |         |    0 | 00/62B9               | InitPageOldPos                                        
10254 | 39                      game.s    433 | Code        | 11 |         |    2 | 00/62B9 : A0 02       |                          LDY     #2                   
10255 | 39                      game.s    434 | Code        | 11 |         |    3 | 00/62BB : B9 70 00    | _ipoLoop                 LDA     {$70},Y              
10256 | 39                      game.s    435 | Code        | 11 |         |    3 | 00/62BE : 99 10 03    |                          STA     {$0310},Y            
10257 | 39                      game.s    436 | Code        | 11 |         |    3 | 00/62C1 : 99 13 03    |                          STA     {$0313},Y            
10258 | 39                      game.s    437 | Code        | 11 |         |    1 | 00/62C4 : 88          |                          DEY                          
10259 | 39                      game.s    438 | Code        | 11 |         |    2 | 00/62C5 : 10 F4       |                          BPL     _ipoLoop             
10260 | 39                      game.s    439 | Code        | 11 |         |    1 | 00/62C7 : 60          |                          RTS                          
10261 | 39                      game.s    440 | Empty       | 11 |         |    0 | 00/62C8               |                                                       
10262 | 39                      game.s    441 | Comment     | 11 |         |    0 | 00/62C8               | *----------------------------------------------
10263 | 39                      game.s    442 | Comment     | 11 |         |    0 | 00/62C8               | * LoadPageOldPos - Copy this page's old pos into OldPlayerX/Y/Fr
10264 | 39                      game.s    443 | Comment     | 11 |         |    0 | 00/62C8               | * Uses PageOfs to select page 0 or page 1 (via _PageY).
10265 | 39                      game.s    444 | Comment     | 11 |         |    0 | 00/62C8               | *----------------------------------------------
10266 | 39                      game.s    445 | Empty       | 11 |         |    0 | 00/62C8               | LoadPageOldPos                                        
10267 | 39                      game.s    446 | Code        | 11 |         |    3 | 00/62C8 : 20 17 66    |                          JSR     _PageY               
10268 | 39                      game.s    447 | Code        | 11 |         |    3 | 00/62CB : B9 10 03    |                          LDA     {$0310},Y            
10269 | 39                      game.s    448 | Code        | 11 |         |    2 | 00/62CE : 85 77       |                          STA     {$77}                
10270 | 39                      game.s    449 | Code        | 11 |         |    1 | 00/62D0 : C8          |                          INY                          
10271 | 39                      game.s    450 | Code        | 11 |         |    3 | 00/62D1 : B9 10 03    |                          LDA     {$0310},Y            
10272 | 39                      game.s    451 | Code        | 11 |         |    2 | 00/62D4 : 85 78       |                          STA     {$78}                
10273 | 39                      game.s    452 | Code        | 11 |         |    1 | 00/62D6 : C8          |                          INY                          
10274 | 39                      game.s    453 | Code        | 11 |         |    3 | 00/62D7 : B9 10 03    |                          LDA     {$0310},Y            
10275 | 39                      game.s    454 | Code        | 11 |         |    2 | 00/62DA : 85 79       |                          STA     {$79}                
10276 | 39                      game.s    455 | Code        | 11 |         |    1 | 00/62DC : 60          |                          RTS                          
10277 | 39                      game.s    456 | Empty       | 11 |         |    0 | 00/62DD               |                                                       
10278 | 39                      game.s    457 | Comment     | 11 |         |    0 | 00/62DD               | *----------------------------------------------
10279 | 39                      game.s    458 | Comment     | 11 |         |    0 | 00/62DD               | * SavePageOldPos - Save current player pos for this page
10280 | 39                      game.s    459 | Comment     | 11 |         |    0 | 00/62DD               | *----------------------------------------------
10281 | 39                      game.s    460 | Empty       | 11 |         |    0 | 00/62DD               | SavePageOldPos                                        
10282 | 39                      game.s    461 | Code        | 11 |         |    3 | 00/62DD : 20 17 66    |                          JSR     _PageY               
10283 | 39                      game.s    462 | Code        | 11 |         |    2 | 00/62E0 : A5 70       |                          LDA     {$70}                
10284 | 39                      game.s    463 | Code        | 11 |         |    3 | 00/62E2 : 99 10 03    |                          STA     {$0310},Y            
10285 | 39                      game.s    464 | Code        | 11 |         |    1 | 00/62E5 : C8          |                          INY                          
10286 | 39                      game.s    465 | Code        | 11 |         |    2 | 00/62E6 : A5 71       |                          LDA     {$71}                
10287 | 39                      game.s    466 | Code        | 11 |         |    3 | 00/62E8 : 99 10 03    |                          STA     {$0310},Y            
10288 | 39                      game.s    467 | Code        | 11 |         |    1 | 00/62EB : C8          |                          INY                          
10289 | 39                      game.s    468 | Code        | 11 |         |    2 | 00/62EC : A5 72       |                          LDA     {$72}                
10290 | 39                      game.s    469 | Code        | 11 |         |    3 | 00/62EE : 99 10 03    |                          STA     {$0310},Y            
10291 | 39                      game.s    470 | Code        | 11 |         |    1 | 00/62F1 : 60          |                          RTS                          
10292 | 39                      game.s    471 | Empty       | 11 |         |    0 | 00/62F2               |                                                       
10293 | 39                      game.s    472 | Comment     | 11 |         |    0 | 00/62F2               | *----------------------------------------------
10294 | 39                      game.s    473 | Comment     | 11 |         |    0 | 00/62F2               | * ResetLevel - entry point for AdvanceLevel (and TitleReset).
10295 | 39                      game.s    474 | Comment     | 11 |         |    0 | 00/62F2               | * DoIntermission blanks both pages before we get here, so we repaint
10296 | 39                      game.s    475 | Comment     | 11 |         |    0 | 00/62F2               | * the map + HUD on both pages before sprites. SetMap must run before
10297 | 39                      game.s    476 | Comment     | 11 |         |    0 | 00/62F2               | * _InitAllEntities so PlayerInit's SnapToGround sees valid CollPtr.
10298 | 39                      game.s    477 | Comment     | 11 |         |    0 | 00/62F2               | *----------------------------------------------
10299 | 39                      game.s    478 | Empty       | 11 |         |    0 | 00/62F2               | ResetLevel                                            
10300 | 39                      game.s    479 | Code        | 11 |         |    3 | 00/62F2 : 20 E2 64    |                          JSR     SetMap               
10301 | 39                      game.s    480 | Code        | 11 |         |    2 | 00/62F5 : 64 1E       |                          STZ     {$1E}                
10302 | 39                      game.s    481 | Code        | 11 |         |    3 | 00/62F7 : 20 F1 7C    |                          JSR     DrawScreen           
10303 | 39                      game.s    482 | Code        | 11 |         |    3 | 00/62FA : 20 E2 64    |                          JSR     SetMap               ; reset MapPtr (DrawScreen advanced it)
10304 | 39                      game.s    483 | Code        | 11 |         |    2 | 00/62FD : A9 20       |                          LDA     #$20                 
10305 | 39                      game.s    484 | Code        | 11 |         |    2 | 00/62FF : 85 1E       |                          STA     {$1E}                
10306 | 39                      game.s    485 | Code        | 11 |         |    3 | 00/6301 : 20 F1 7C    |                          JSR     DrawScreen           
10307 | 39                      game.s    486 | Code        | 11 |         |    2 | 00/6304 : 64 1E       |                          STZ     {$1E}                
10308 | 39                      game.s    487 | Code        | 11 |         |    3 | 00/6306 : 20 31 63    |                          JSR     _InitAllEntities     ; needs CollPtr set by SetMap above
10309 | 39                      game.s    488 | Code        | 11 |         |    3 | 00/6309 : 20 10 67    |                          JSR     DrawHUDAll           ; page 1
10310 | 39                      game.s    489 | Code        | 11 |         |    2 | 00/630C : A9 20       |                          LDA     #$20                 
10311 | 39                      game.s    490 | Code        | 11 |         |    2 | 00/630E : 85 1E       |                          STA     {$1E}                
10312 | 39                      game.s    491 | Code        | 11 |         |    3 | 00/6310 : 20 10 67    |                          JSR     DrawHUDAll           ; page 2
10313 | 39                      game.s    492 | Code        | 11 |         |    2 | 00/6313 : 64 1E       |                          STZ     {$1E}                
10314 | 39                      game.s    493 | Code        | 11 |         |    3 | 00/6315 : 20 FB 65    |                          JSR     _WakeAllLoot         
10315 | 39                      game.s    494 | Code        | 11 |         |    2 | 00/6318 : A9 01       |                          LDA     #1                   
10316 | 39                      game.s    495 | Code        | 11 |         |    2 | 00/631A : 85 6F       |                          STA     {$6F}                
10317 | 39                      game.s    496 | Code        | 11 |         |    2 | 00/631C : 85 37       |                          STA     {$37}                
10318 | 39                      game.s    497 | Code        | 11 |         |    2 | 00/631E : 85 F3       |                          STA     {$F3}                
10319 | 39                      game.s    498 | Code        | 11 |         |    2 | 00/6320 : 85 48       |                          STA     {$48}                
10320 | 39                      game.s    499 | Code        | 11 |         |    3 | 00/6322 : 20 61 63    |                          JSR     _DrawAllSprites      
10321 | 39                      game.s    500 | Code        | 11 |         |    2 | 00/6325 : A9 20       |                          LDA     #$20                 
10322 | 39                      game.s    501 | Code        | 11 |         |    2 | 00/6327 : 85 1E       |                          STA     {$1E}                
10323 | 39                      game.s    502 | Code        | 11 |         |    3 | 00/6329 : 20 61 63    |                          JSR     _DrawAllSprites      
10324 | 39                      game.s    503 | Code        | 11 |         |    2 | 00/632C : 64 1E       |                          STZ     {$1E}                
10325 | 39                      game.s    504 | Code        | 11 |         |    3 | 00/632E : 4C 48 60    |                          JMP     MainLoop             
10326 | 39                      game.s    505 | Empty       | 11 |         |    0 | 00/6331               |                                                       
10327 | 39                      game.s    506 | Comment     | 11 |         |    0 | 00/6331               | *----------------------------------------------
10328 | 39                      game.s    507 | Comment     | 11 |         |    0 | 00/6331               | * _InitAllEntities - Init every level's entity state
10329 | 39                      game.s    508 | Comment     | 11 |         |    0 | 00/6331               | *
10330 | 39                      game.s    509 | Comment     | 11 |         |    0 | 00/6331               | * Shared by GameInit and ResetLevel. Clears table state for the
10331 | 39                      game.s    510 | Comment     | 11 |         |    0 | 00/6331               | * player, WB, loot, carts, elevators, and guards, plus the
10332 | 39                      game.s    511 | Comment     | 11 |         |    0 | 00/6331               | * per-page "old position" buffers needed for erase.
10333 | 39                      game.s    512 | Comment     | 11 |         |    0 | 00/6331               | *----------------------------------------------
10334 | 39                      game.s    513 | Empty       | 11 |         |    0 | 00/6331               | _InitAllEntities                                      
10335 | 39                      game.s    514 | Code        | 11 |         |    3 | 00/6331 : 20 C3 6A    |                          JSR     PlayerInit           
10336 | 39                      game.s    515 | Code        | 11 |         |    3 | 00/6334 : 20 B9 62    |                          JSR     InitPageOldPos       
10337 | 39                      game.s    516 | Code        | 11 |         |    3 | 00/6337 : 20 5E 72    |                          JSR     WBInit               
10338 | 39                      game.s    517 | Code        | 11 |         |    3 | 00/633A : 20 7B 72    |                          JSR     InitWBOldPos         
10339 | 39                      game.s    518 | Code        | 11 |         |    3 | 00/633D : 20 83 0D    |                          JSR     LootInit             
10340 | 39                      game.s    519 | Code        | 11 |         |    3 | 00/6340 : 20 C9 77    |                          JSR     CartInit             
10341 | 39                      game.s    520 | Code        | 11 |         |    3 | 00/6343 : 20 FA 77    |                          JSR     InitCartOldPos       
10342 | 39                      game.s    521 | Code        | 11 |         |    3 | 00/6346 : 20 86 09    |                          JSR     InitElevator         
10343 | 39                      game.s    522 | Code        | 11 |         |    3 | 00/6349 : 20 BC 09    |                          JSR     InitElevOldPos       
10344 | 39                      game.s    523 | Code        | 11 |         |    3 | 00/634C : 20 4F 0C    |                          JSR     GuardInit            
10345 | 39                      game.s    524 | Code        | 11 |         |    3 | 00/634F : 20 B2 0C    |                          JSR     InitGuardOldPos      
10346 | 39                      game.s    525 | Code        | 11 |         |    3 | 00/6352 : 20 1C 7B    |                          JSR     InitPrvCartOldPos    
10347 | 39                      game.s    526 | Code        | 11 |         |    3 | 00/6355 : 20 1B 7C    |                          JSR     InitPrvLootOldPos    
10348 | 39                      game.s    527 | Code        | 11 |         |    3 | 00/6358 : 20 E4 7C    |                          JSR     InitPrvWBOldPos      
10349 | 39                      game.s    528 | Code        | 11 |         |    3 | 00/635B : 20 46 0C    |                          JSR     InitPrvElevOldPos    
10350 | 39                      game.s    529 | Code        | 11 |         |    3 | 00/635E : 4C C4 0C    |                          JMP     InitPrvGuardOldPos   ; tail call
10351 | 39                      game.s    530 | Empty       | 11 |         |    0 | 00/6361               |                                                       
10352 | 39                      game.s    531 | Empty       | 11 |         |    0 | 00/6361               | _DrawAllSprites                                       
10353 | 39                      game.s    532 | Code        | 11 |         |    3 | 00/6361 : 20 E6 0A    |                          JSR     DrawElevCar          
10354 | 39                      game.s    533 | Code        | 11 |         |    3 | 00/6364 : 20 44 72    |                          JSR     DrawPlayer           
10355 | 39                      game.s    534 | Code        | 11 |         |    3 | 00/6367 : 20 85 DE    |                          JSR     DrawGuards           
10356 | 39                      game.s    535 | Code        | 11 |         |    3 | 00/636A : 20 61 73    |                          JSR     DrawWB               
10357 | 39                      game.s    536 | Code        | 11 |         |    3 | 00/636D : 20 73 76    |                          JSR     DrawGroundLoot       
10358 | 39                      game.s    537 | Code        | 11 |         |    3 | 00/6370 : 20 A7 78    |                          JSR     DrawCarts            
10359 | 39                      game.s    538 | Code        | 11 |         |    3 | 00/6373 : 20 30 7A    |                          JSR     DrawPreviewCarts     
10360 | 39                      game.s    539 | Code        | 11 |         |    3 | 00/6376 : 20 2E 7B    |                          JSR     DrawPreviewLoot      
10361 | 39                      game.s    540 | Code        | 11 |         |    3 | 00/6379 : 20 2D 7C    |                          JSR     DrawPreviewWB        
10362 | 39                      game.s    541 | Code        | 11 |         |    3 | 00/637C : 20 C3 0B    |                          JSR     DrawPreviewElev      
10363 | 39                      game.s    542 | Code        | 11 |         |    3 | 00/637F : 4C D2 DE    |                          JMP     DrawPreviewGuards    
10364 | 39                      game.s    543 | Empty       | 11 |         |    0 | 00/6382               |                                                       
10365 | 39                      game.s    544 | Comment     | 11 |         |    0 | 00/6382               | * Erase all sprites during map transition (one page)
10366 | 39                      game.s    545 | Empty       | 11 |         |    0 | 00/6382               | _EraseTransPage                                       
10367 | 39                      game.s    546 | Code        | 11 |         |    3 | 00/6382 : 20 C8 62    |                          JSR     LoadPageOldPos       
10368 | 39                      game.s    547 | Code        | 11 |         |    3 | 00/6385 : 20 7C 0A    |                          JSR     EraseElevCar         
10369 | 39                      game.s    548 | Code        | 11 |         |    3 | 00/6388 : 20 30 72    |                          JSR     ErasePlayer          
10370 | 39                      game.s    549 | Code        | 11 |         |    3 | 00/638B : 20 B3 DE    |                          JSR     EraseGuards          
10371 | 39                      game.s    550 | Code        | 11 |         |    3 | 00/638E : 20 E3 73    |                          JSR     LoadLootOldPos       
10372 | 39                      game.s    551 | Code        | 11 |         |    3 | 00/6391 : 20 9C 77    |                          JSR     EraseCarried         
10373 | 39                      game.s    552 | Code        | 11 |         |    3 | 00/6394 : 20 C8 76    |                          JSR     EraseGroundLoot      
10374 | 39                      game.s    553 | Code        | 11 |         |    3 | 00/6397 : 20 D4 78    |                          JSR     EraseCarts           
10375 | 39                      game.s    554 | Code        | 11 |         |    3 | 00/639A : 20 9C 7A    |                          JSR     ErasePreviewCarts    
10376 | 39                      game.s    555 | Code        | 11 |         |    3 | 00/639D : 20 9B 7B    |                          JSR     ErasePreviewLoot     
10377 | 39                      game.s    556 | Code        | 11 |         |    3 | 00/63A0 : 20 72 7C    |                          JSR     ErasePreviewWB       
10378 | 39                      game.s    557 | Code        | 11 |         |    3 | 00/63A3 : 20 2C 0C    |                          JSR     ErasePreviewElev     
10379 | 39                      game.s    558 | Code        | 11 |         |    3 | 00/63A6 : 20 37 DF    |                          JSR     ErasePreviewGuards   
10380 | 39                      game.s    559 | Code        | 11 |         |    2 | 00/63A9 : A5 6D       |                          LDA     {$6D}                
10381 | 39                      game.s    560 | Code        | 11 |         |    2 | 00/63AB : C5 1D       |                          CMP     {$1D}                
10382 | 39                      game.s    561 | Code        | 11 |         |    2 | 00/63AD : D0 06       |                          BNE     _etRts               
10383 | 39                      game.s    562 | Code        | 11 |         |    3 | 00/63AF : 20 8A 72    |                          JSR     LoadWBOldPos         
10384 | 39                      game.s    563 | Code        | 11 |         |    3 | 00/63B2 : 4C 49 73    |                          JMP     EraseWB              
10385 | 39                      game.s    564 | Code        | 11 |         |    1 | 00/63B5 : 60          | _etRts                   RTS                          
10386 | 39                      game.s    565 | Empty       | 11 |         |    0 | 00/63B6               |                                                       
10387 | 39                      game.s    566 | Comment     | 11 |         |    0 | 00/63B6               | * Draw sprites during map transition (includes carried loot + conditional WB)
10388 | 39                      game.s    567 | Empty       | 11 |         |    0 | 00/63B6               | _DrawTransSprites                                     
10389 | 39                      game.s    568 | Code        | 11 |         |    3 | 00/63B6 : 20 E6 0A    |                          JSR     DrawElevCar          
10390 | 39                      game.s    569 | Code        | 11 |         |    3 | 00/63B9 : 20 44 72    |                          JSR     DrawPlayer           
10391 | 39                      game.s    570 | Code        | 11 |         |    3 | 00/63BC : 20 85 DE    |                          JSR     DrawGuards           
10392 | 39                      game.s    571 | Code        | 11 |         |    3 | 00/63BF : 20 73 76    |                          JSR     DrawGroundLoot       
10393 | 39                      game.s    572 | Code        | 11 |         |    3 | 00/63C2 : 20 6A 77    |                          JSR     DrawCarried          
10394 | 39                      game.s    573 | Code        | 11 |         |    3 | 00/63C5 : 20 A7 78    |                          JSR     DrawCarts            
10395 | 39                      game.s    574 | Code        | 11 |         |    3 | 00/63C8 : 20 30 7A    |                          JSR     DrawPreviewCarts     
10396 | 39                      game.s    575 | Code        | 11 |         |    3 | 00/63CB : 20 2E 7B    |                          JSR     DrawPreviewLoot      
10397 | 39                      game.s    576 | Code        | 11 |         |    3 | 00/63CE : 20 2D 7C    |                          JSR     DrawPreviewWB        
10398 | 39                      game.s    577 | Code        | 11 |         |    3 | 00/63D1 : 20 C3 0B    |                          JSR     DrawPreviewElev      
10399 | 39                      game.s    578 | Code        | 11 |         |    3 | 00/63D4 : 20 D2 DE    |                          JSR     DrawPreviewGuards    
10400 | 39                      game.s    579 | Code        | 11 |         |    2 | 00/63D7 : A5 6D       |                          LDA     {$6D}                
10401 | 39                      game.s    580 | Code        | 11 |         |    2 | 00/63D9 : C5 1C       |                          CMP     {$1C}                
10402 | 39                      game.s    581 | Code        | 11 |         |    2 | 00/63DB : D0 03       |                          BNE     _dtRts               
10403 | 39                      game.s    582 | Code        | 11 |         |    3 | 00/63DD : 20 61 73    |                          JSR     DrawWB               
10404 | 39                      game.s    583 | Code        | 11 |         |    1 | 00/63E0 : 60          | _dtRts                   RTS                          
10405 | 39                      game.s    584 | Empty       | 11 |         |    0 | 00/63E1               |                                                       
10406 | 39                      game.s    585 | Comment     | 11 |         |    0 | 00/63E1               | *----------------------------------------------
10407 | 39                      game.s    586 | Comment     | 11 |         |    0 | 00/63E1               | * DoMapTransition - Switch to neighboring map
10408 | 39                      game.s    587 | Comment     | 11 |         |    0 | 00/63E1               | *
10409 | 39                      game.s    588 | Comment     | 11 |         |    0 | 00/63E1               | * MapTransReq: 1=go right (next map), 2=go left (prev map)
10410 | 39                      game.s    589 | Comment     | 11 |         |    0 | 00/63E1               | * Redraws both pages without clearing, teleports player.
10411 | 39                      game.s    590 | Comment     | 11 |         |    0 | 00/63E1               | *----------------------------------------------
10412 | 39                      game.s    591 | Empty       | 11 |         |    0 | 00/63E1               | DoMapTransition                                       
10413 | 39                      game.s    592 | Code        | 11 |         |    3 | 00/63E1 : 20 68 09    |                          JSR     SaveElevState        ; persist elevator pos before leaving
10414 | 39                      game.s    593 | Code        | 11 |         |    2 | 00/63E4 : A5 1C       |                          LDA     {$1C}                
10415 | 39                      game.s    594 | Code        | 11 |         |    2 | 00/63E6 : 85 1D       |                          STA     {$1D}                ; save old map index for delta draw
10416 | 39                      game.s    595 | Code        | 11 |         |    2 | 00/63E8 : A5 29       |                          LDA     {$29}                
10417 | 39                      game.s    596 | Code        | 11 |         |    2 | 00/63EA : 64 29       |                          STZ     {$29}                
10418 | 39                      game.s    597 | Code        | 11 |         |    2 | 00/63EC : C9 01       |                          CMP     #1                   
10419 | 39                      game.s    598 | Code        | 11 |         |    2 | 00/63EE : F0 0E       |                          BEQ     _transRight          
10420 | 39                      game.s    599 | Comment     | 11 |         |    0 | 00/63F0               | * Transition left - enter new map from the right
10421 | 39                      game.s    600 | Code        | 11 |         |    2 | 00/63F0 : C6 1C       |                          DEC     {$1C}                
10422 | 39                      game.s    601 | Code        | 11 |         |    2 | 00/63F2 : A5 74       |                          LDA     {$74}                
10423 | 39                      game.s    602 | Code        | 11 |         |    2 | 00/63F4 : C9 06       |                          CMP     #{6}                 
10424 | 39                      game.s    603 | Code        | 11 |         |    2 | 00/63F6 : F0 12       |                          BEQ     _doTrans             ; riding cart: keep cart's X position
10425 | 39                      game.s    604 | Code        | 11 |         |    2 | 00/63F8 : A9 70       |                          LDA     #112                 ; right side of playable area (col 16)
10426 | 39                      game.s    605 | Code        | 11 |         |    2 | 00/63FA : 85 70       |                          STA     {$70}                
10427 | 39                      game.s    606 | Code        | 11 |         |    2 | 00/63FC : 80 0C       |                          BRA     _doTrans             
10428 | 39                      game.s    607 | Empty       | 11 |         |    0 | 00/63FE               | _transRight                                           
10429 | 39                      game.s    608 | Comment     | 11 |         |    0 | 00/63FE               | * Transition right - enter new map from the left
10430 | 39                      game.s    609 | Code        | 11 |         |    2 | 00/63FE : E6 1C       |                          INC     {$1C}                
10431 | 39                      game.s    610 | Code        | 11 |         |    2 | 00/6400 : A5 74       |                          LDA     {$74}                
10432 | 39                      game.s    611 | Code        | 11 |         |    2 | 00/6402 : C9 06       |                          CMP     #{6}                 
10433 | 39                      game.s    612 | Code        | 11 |         |    2 | 00/6404 : F0 04       |                          BEQ     _doTrans             ; riding cart: keep cart's X position
10434 | 39                      game.s    613 | Code        | 11 |         |    2 | 00/6406 : A9 16       |                          LDA     #22                  ; left side of playable area (col 3)
10435 | 39                      game.s    614 | Code        | 11 |         |    2 | 00/6408 : 85 70       |                          STA     {$70}                
10436 | 39                      game.s    615 | Empty       | 11 |         |    0 | 00/640A               | _doTrans                                              
10437 | 39                      game.s    616 | Comment     | 11 |         |    0 | 00/640A               | * Preserve player movement state across transition
10438 | 39                      game.s    617 | Code        | 11 |         |    2 | 00/640A : A5 76       |                          LDA     {$76}                
10439 | 39                      game.s    618 | Code        | 11 |         |    1 | 00/640C : 48          |                          PHA                          
10440 | 39                      game.s    619 | Code        | 11 |         |    2 | 00/640D : A5 74       |                          LDA     {$74}                
10441 | 39                      game.s    620 | Code        | 11 |         |    1 | 00/640F : 48          |                          PHA                          
10442 | 39                      game.s    621 | Code        | 11 |         |    2 | 00/6410 : A5 73       |                          LDA     {$73}                
10443 | 39                      game.s    622 | Code        | 11 |         |    1 | 00/6412 : 48          |                          PHA                          
10444 | 39                      game.s    623 | Comment     | 11 |         |    0 | 00/6413               | *
10445 | 39                      game.s    624 | Comment     | 11 |         |    0 | 00/6413               | * PHASE 1: Erase old sprites from BOTH pages using old map tiles.
10446 | 39                      game.s    625 | Comment     | 11 |         |    0 | 00/6413               | * Must happen before InitPageOldPos overwrites the old positions.
10447 | 39                      game.s    626 | Comment     | 11 |         |    0 | 00/6413               | * Temporarily set MapIdx=OldMapIdx so EraseSpriteArea uses old map.
10448 | 39                      game.s    627 | Comment     | 11 |         |    0 | 00/6413               | *
10449 | 39                      game.s    628 | Code        | 11 |         |    2 | 00/6413 : A5 1C       |                          LDA     {$1C}                
10450 | 39                      game.s    629 | Code        | 11 |         |    1 | 00/6415 : 48          |                          PHA                          ; save new MapIdx
10451 | 39                      game.s    630 | Code        | 11 |         |    2 | 00/6416 : A5 1D       |                          LDA     {$1D}                
10452 | 39                      game.s    631 | Code        | 11 |         |    2 | 00/6418 : 85 1C       |                          STA     {$1C}                ; erase routines will use old map tiles
10453 | 39                      game.s    632 | Code        | 11 |         |    3 | 00/641A : 20 FB 65    |                          JSR     _WakeAllLoot         
10454 | 39                      game.s    633 | Code        | 11 |         |    2 | 00/641D : A9 01       |                          LDA     #1                   
10455 | 39                      game.s    634 | Code        | 11 |         |    2 | 00/641F : 85 7C       |                          STA     {$7C}                
10456 | 39                      game.s    635 | Code        | 11 |         |    2 | 00/6421 : 85 37       |                          STA     {$37}                
10457 | 39                      game.s    636 | Code        | 11 |         |    2 | 00/6423 : 85 6F       |                          STA     {$6F}                
10458 | 39                      game.s    637 | Code        | 11 |         |    2 | 00/6425 : 85 E9       |                          STA     {$E9}                
10459 | 39                      game.s    638 | Code        | 11 |         |    2 | 00/6427 : 85 F3       |                          STA     {$F3}                
10460 | 39                      game.s    639 | Code        | 11 |         |    2 | 00/6429 : 85 48       |                          STA     {$48}                
10461 | 39                      game.s    640 | Comment     | 11 |         |    0 | 00/642B               | * Erase sprites on displayed page
10462 | 39                      game.s    641 | Code        | 11 |         |    3 | 00/642B : 20 F4 65    |                          JSR     _FlipPageOfs         
10463 | 39                      game.s    642 | Code        | 11 |         |    3 | 00/642E : 20 82 63    |                          JSR     _EraseTransPage      
10464 | 39                      game.s    643 | Comment     | 11 |         |    0 | 00/6431               | * Erase sprites on hidden page
10465 | 39                      game.s    644 | Code        | 11 |         |    3 | 00/6431 : 20 F4 65    |                          JSR     _FlipPageOfs         
10466 | 39                      game.s    645 | Code        | 11 |         |    3 | 00/6434 : 20 82 63    |                          JSR     _EraseTransPage      
10467 | 39                      game.s    646 | Comment     | 11 |         |    0 | 00/6437               | * Restore new MapIdx
10468 | 39                      game.s    647 | Code        | 11 |         |    1 | 00/6437 : 68          |                          PLA                          
10469 | 39                      game.s    648 | Code        | 11 |         |    2 | 00/6438 : 85 1C       |                          STA     {$1C}                
10470 | 39                      game.s    649 | Comment     | 11 |         |    0 | 00/643A               | *
10471 | 39                      game.s    650 | Comment     | 11 |         |    0 | 00/643A               | * PHASE 2: Delta draw + sprites on displayed page
10472 | 39                      game.s    651 | Comment     | 11 |         |    0 | 00/643A               | *
10473 | 39                      game.s    652 | Code        | 11 |         |    3 | 00/643A : 20 F3 64    |                          JSR     SetOldMapPtr         ; SrcPtr = old map base
10474 | 39                      game.s    653 | Code        | 11 |         |    3 | 00/643D : 20 E2 64    |                          JSR     SetMap               ; MapPtr = new map, collision ptrs set
10475 | 39                      game.s    654 | Code        | 11 |         |    3 | 00/6440 : 20 F4 65    |                          JSR     _FlipPageOfs         ; target displayed page
10476 | 39                      game.s    655 | Code        | 11 |         |    3 | 00/6443 : 20 00 D4    |                          JSR     DrawScreenDelta      
10477 | 39                      game.s    656 | Comment     | 11 |         |    0 | 00/6446               | * Snap player to ground on new map (CollPtr still valid)
10478 | 39                      game.s    657 | Code        | 11 |         |    3 | 00/6446 : 20 8B 70    |                          JSR     SnapToGround         
10479 | 39                      game.s    658 | Code        | 11 |         |    3 | 00/6449 : 20 B9 62    |                          JSR     InitPageOldPos       
10480 | 39                      game.s    659 | Comment     | 11 |         |    0 | 00/644C               | * Teleport WB with player if grabbed, otherwise keep position
10481 | 39                      game.s    660 | Code        | 11 |         |    2 | 00/644C : A5 36       |                          LDA     {$36}                
10482 | 39                      game.s    661 | Code        | 11 |         |    2 | 00/644E : F0 0F       |                          BEQ     _wbKeep              
10483 | 39                      game.s    662 | Code        | 11 |         |    2 | 00/6450 : A5 70       |                          LDA     {$70}                
10484 | 39                      game.s    663 | Code        | 11 |         |    1 | 00/6452 : 18          |                          CLC                          
10485 | 39                      game.s    664 | Code        | 11 |         |    2 | 00/6453 : 65 6C       |                          ADC     {$6C}                
10486 | 39                      game.s    665 | Code        | 11 |         |    2 | 00/6455 : 85 33       |                          STA     {$33}                
10487 | 39                      game.s    666 | Code        | 11 |         |    2 | 00/6457 : A5 71       |                          LDA     {$71}                
10488 | 39                      game.s    667 | Code        | 11 |         |    2 | 00/6459 : 85 34       |                          STA     {$34}                
10489 | 39                      game.s    668 | Code        | 11 |         |    2 | 00/645B : A5 1C       |                          LDA     {$1C}                
10490 | 39                      game.s    669 | Code        | 11 |         |    2 | 00/645D : 85 6D       |                          STA     {$6D}                ; WB moves to new map with player
10491 | 39                      game.s    670 | Code        | 11 |         |    3 | 00/645F : 20 7B 72    | _wbKeep                  JSR     InitWBOldPos         
10492 | 39                      game.s    671 | Comment     | 11 |         |    0 | 00/6462               | * Teleport carried loot with player if carrying
10493 | 39                      game.s    672 | Code        | 11 |         |    2 | 00/6462 : A6 6E       |                          LDX     {$6E}                
10494 | 39                      game.s    673 | Code        | 11 |         |    2 | 00/6464 : E0 FF       |                          CPX     #{$FF}               
10495 | 39                      game.s    674 | Code        | 11 |         |    2 | 00/6466 : F0 21       |                          BEQ     _lootKeep            
10496 | 39                      game.s    675 | Code        | 11 |         |    2 | 00/6468 : A5 70       |                          LDA     {$70}                
10497 | 39                      game.s    676 | Code        | 11 |         |    3 | 00/646A : 9D 75 73    |                          STA     LootTblX,X           
10498 | 39                      game.s    677 | Code        | 11 |         |    2 | 00/646D : A5 71       |                          LDA     {$71}                
10499 | 39                      game.s    678 | Code        | 11 |         |    3 | 00/646F : 9D 79 73    |                          STA     LootTblY,X           
10500 | 39                      game.s    679 | Code        | 11 |         |    2 | 00/6472 : A5 1C       |                          LDA     {$1C}                
10501 | 39                      game.s    680 | Code        | 11 |         |    3 | 00/6474 : 9D 7D 73    |                          STA     LootTblMap,X         
10502 | 39                      game.s    681 | Comment     | 11 |         |    0 | 00/6477               | * Update old-pos so erase targets new position on both pages
10503 | 39                      game.s    682 | Code        | 11 |         |    3 | 00/6477 : BD 75 73    |                          LDA     LootTblX,X           
10504 | 39                      game.s    683 | Code        | 11 |         |    2 | 00/647A : 85 4A       |                          STA     {$4A}                
10505 | 39                      game.s    684 | Code        | 11 |         |    3 | 00/647C : BD 79 73    |                          LDA     LootTblY,X           
10506 | 39                      game.s    685 | Code        | 11 |         |    2 | 00/647F : 85 4B       |                          STA     {$4B}                
10507 | 39                      game.s    686 | Code        | 11 |         |    3 | 00/6481 : BD 89 73    |                          LDA     LootTblFrC,X         
10508 | 39                      game.s    687 | Code        | 11 |         |    2 | 00/6484 : 85 4C       |                          STA     {$4C}                
10509 | 39                      game.s    688 | Code        | 11 |         |    3 | 00/6486 : 20 D4 73    |                          JSR     InitLootOldPos       
10510 | 39                      game.s    689 | Empty       | 11 |         |    0 | 00/6489               | _lootKeep                                             
10511 | 39                      game.s    690 | Code        | 11 |         |    3 | 00/6489 : 20 FA 77    |                          JSR     InitCartOldPos       
10512 | 39                      game.s    691 | Code        | 11 |         |    2 | 00/648C : 64 F2       |                          STZ     {$F2}                
10513 | 39                      game.s    692 | Code        | 11 |         |    3 | 00/648E : 20 86 09    |                          JSR     InitElevator         
10514 | 39                      game.s    693 | Code        | 11 |         |    3 | 00/6491 : 20 BC 09    |                          JSR     InitElevOldPos       
10515 | 39                      game.s    694 | Code        | 11 |         |    3 | 00/6494 : 20 B2 0C    |                          JSR     InitGuardOldPos      
10516 | 39                      game.s    695 | Code        | 11 |         |    3 | 00/6497 : 20 1C 7B    |                          JSR     InitPrvCartOldPos    
10517 | 39                      game.s    696 | Code        | 11 |         |    3 | 00/649A : 20 1B 7C    |                          JSR     InitPrvLootOldPos    
10518 | 39                      game.s    697 | Code        | 11 |         |    3 | 00/649D : 20 E4 7C    |                          JSR     InitPrvWBOldPos      
10519 | 39                      game.s    698 | Code        | 11 |         |    3 | 00/64A0 : 20 46 0C    |                          JSR     InitPrvElevOldPos    
10520 | 39                      game.s    699 | Code        | 11 |         |    3 | 00/64A3 : 20 C4 0C    |                          JSR     InitPrvGuardOldPos   
10521 | 39                      game.s    700 | Comment     | 11 |         |    0 | 00/64A6               | * Force all dirty for transition draws (bypass sleep system)
10522 | 39                      game.s    701 | Code        | 11 |         |    3 | 00/64A6 : 20 FB 65    |                          JSR     _WakeAllLoot         
10523 | 39                      game.s    702 | Code        | 11 |         |    2 | 00/64A9 : A9 01       |                          LDA     #1                   
10524 | 39                      game.s    703 | Code        | 11 |         |    2 | 00/64AB : 85 6F       |                          STA     {$6F}                
10525 | 39                      game.s    704 | Code        | 11 |         |    2 | 00/64AD : 85 37       |                          STA     {$37}                
10526 | 39                      game.s    705 | Comment     | 11 |         |    0 | 00/64AF               | * Draw sprites to displayed page
10527 | 39                      game.s    706 | Code        | 11 |         |    3 | 00/64AF : 20 B6 63    |                          JSR     _DrawTransSprites    
10528 | 39                      game.s    707 | Comment     | 11 |         |    0 | 00/64B2               | *
10529 | 39                      game.s    708 | Comment     | 11 |         |    0 | 00/64B2               | * PHASE 3: Delta draw + sprites on hidden page
10530 | 39                      game.s    709 | Comment     | 11 |         |    0 | 00/64B2               | *
10531 | 39                      game.s    710 | Code        | 11 |         |    3 | 00/64B2 : 20 F4 65    |                          JSR     _FlipPageOfs         ; target hidden page
10532 | 39                      game.s    711 | Code        | 11 |         |    3 | 00/64B5 : 20 F3 64    |                          JSR     SetOldMapPtr         ; SrcPtr = old map base (reset after delta advanced it)
10533 | 39                      game.s    712 | Code        | 11 |         |    3 | 00/64B8 : 20 E2 64    |                          JSR     SetMap               ; MapPtr = new map base (reset after delta advanced it)
10534 | 39                      game.s    713 | Code        | 11 |         |    3 | 00/64BB : 20 00 D4    |                          JSR     DrawScreenDelta      
10535 | 39                      game.s    714 | Code        | 11 |         |    3 | 00/64BE : 20 B6 63    |                          JSR     _DrawTransSprites    
10536 | 39                      game.s    715 | Code        | 11 |         |    3 | 00/64C1 : 20 0A 66    |                          JSR     _SleepAllLoot        
10537 | 39                      game.s    716 | Code        | 11 |         |    2 | 00/64C4 : 64 7C       |                          STZ     {$7C}                ; both pages done
10538 | 39                      game.s    717 | Code        | 11 |         |    2 | 00/64C6 : 64 37       |                          STZ     {$37}                
10539 | 39                      game.s    718 | Code        | 11 |         |    2 | 00/64C8 : 64 6F       |                          STZ     {$6F}                
10540 | 39                      game.s    719 | Code        | 11 |         |    2 | 00/64CA : 64 E9       |                          STZ     {$E9}                
10541 | 39                      game.s    720 | Code        | 11 |         |    2 | 00/64CC : 64 48       |                          STZ     {$48}                
10542 | 39                      game.s    721 | Code        | 11 |         |    2 | 00/64CE : A9 02       |                          LDA     #2                   
10543 | 39                      game.s    722 | Code        | 11 |         |    2 | 00/64D0 : 85 EC       |                          STA     {$EC}                ; ensure loot drawn on both pages
10544 | 39                      game.s    723 | Code        | 11 |         |    2 | 00/64D2 : 85 ED       |                          STA     {$ED}                ; ensure WB drawn on both pages
10545 | 39                      game.s    724 | Code        | 11 |         |    2 | 00/64D4 : 85 49       |                          STA     {$49}                ; ensure guards drawn on both pages
10546 | 39                      game.s    725 | Code        | 11 |         |    2 | 00/64D6 : 64 EE       |                          STZ     {$EE}                
10547 | 39                      game.s    726 | Comment     | 11 |         |    0 | 00/64D8               | * Restore player movement state
10548 | 39                      game.s    727 | Code        | 11 |         |    1 | 00/64D8 : 68          |                          PLA                          
10549 | 39                      game.s    728 | Code        | 11 |         |    2 | 00/64D9 : 85 73       |                          STA     {$73}                
10550 | 39                      game.s    729 | Code        | 11 |         |    1 | 00/64DB : 68          |                          PLA                          
10551 | 39                      game.s    730 | Code        | 11 |         |    2 | 00/64DC : 85 74       |                          STA     {$74}                
10552 | 39                      game.s    731 | Code        | 11 |         |    1 | 00/64DE : 68          |                          PLA                          
10553 | 39                      game.s    732 | Code        | 11 |         |    2 | 00/64DF : 85 76       |                          STA     {$76}                
10554 | 39                      game.s    733 | Code        | 11 |         |    1 | 00/64E1 : 60          |                          RTS                          
10555 | 39                      game.s    734 | Empty       | 11 |         |    0 | 00/64E2               |                                                       
10556 | 39                      game.s    735 | Comment     | 11 |         |    0 | 00/64E2               | * Set MapPtr and collision pointers from MapIdx
10557 | 39                      game.s    736 | Empty       | 11 |         |    0 | 00/64E2               | SetMap                                                
10558 | 39                      game.s    737 | Code        | 11 |         |    2 | 00/64E2 : A5 1C       |                          LDA     {$1C}                
10559 | 39                      game.s    738 | Code        | 11 |         |    1 | 00/64E4 : 0A          |                          ASL                          
10560 | 39                      game.s    739 | Code        | 11 |         |    1 | 00/64E5 : AA          |                          TAX                          
10561 | 39                      game.s    740 | Code        | 11 |         |    3 | 00/64E6 : BD 02 65    |                          LDA     MapPtrTbl,X          
10562 | 39                      game.s    741 | Code        | 11 |         |    2 | 00/64E9 : 85 08       |                          STA     {$08}                
10563 | 39                      game.s    742 | Code        | 11 |         |    3 | 00/64EB : BD 03 65    |                          LDA     MapPtrTbl+1,X        
10564 | 39                      game.s    743 | Code        | 11 |         |    2 | 00/64EE : 85 09       |                          STA     {$08}+1              
10565 | 39                      game.s    744 | Code        | 11 |         |    3 | 00/64F0 : 4C 1B 10    |                          JMP     SetCollision         
10566 | 39                      game.s    745 | Empty       | 11 |         |    0 | 00/64F3               |                                                       
10567 | 39                      game.s    746 | Comment     | 11 |         |    0 | 00/64F3               | * Set SrcPtr to old map base from OldMapIdx (for DrawScreenDelta)
10568 | 39                      game.s    747 | Empty       | 11 |         |    0 | 00/64F3               | SetOldMapPtr                                          
10569 | 39                      game.s    748 | Code        | 11 |         |    2 | 00/64F3 : A5 1D       |                          LDA     {$1D}                
10570 | 39                      game.s    749 | Code        | 11 |         |    1 | 00/64F5 : 0A          |                          ASL                          
10571 | 39                      game.s    750 | Code        | 11 |         |    1 | 00/64F6 : AA          |                          TAX                          
10572 | 39                      game.s    751 | Code        | 11 |         |    3 | 00/64F7 : BD 02 65    |                          LDA     MapPtrTbl,X          
10573 | 39                      game.s    752 | Code        | 11 |         |    2 | 00/64FA : 85 04       |                          STA     {$04}                
10574 | 39                      game.s    753 | Code        | 11 |         |    3 | 00/64FC : BD 03 65    |                          LDA     MapPtrTbl+1,X        
10575 | 39                      game.s    754 | Code        | 11 |         |    2 | 00/64FF : 85 05       |                          STA     {$04}+1              
10576 | 39                      game.s    755 | Code        | 11 |         |    1 | 00/6501 : 60          |                          RTS                          
10577 | 39                      game.s    756 | Empty       | 11 |         |    0 | 00/6502               |                                                       
10578 | 39                      game.s    757 | Empty       | 11 |         |    0 | 00/6502               | MapPtrTbl                                             
10579 | 39                      game.s    758 | Data        | 11 |         |    2 | 00/6502 : 00 B0       |                          DA      TileMap1             
10580 | 39                      game.s    759 | Data        | 11 |         |    2 | 00/6504 : 80 B2       |                          DA      TileMap2             
10581 | 39                      game.s    760 | Data        | 11 |         |    2 | 00/6506 : 00 B5       |                          DA      TileMap3             
10582 | 39                      game.s    761 | Empty       | 11 |         |    0 | 00/6508               |                                                       
10583 | 39                      game.s    762 | Comment     | 11 |         |    0 | 00/6508               | *----------------------------------------------
10584 | 39                      game.s    763 | Comment     | 11 |         |    0 | 00/6508               | * EraseSpriteArea - Redraw background tiles under sprite
10585 | 39                      game.s    764 | Comment     | 11 |         |    0 | 00/6508               | *----------------------------------------------
10586 | 39                      game.s    765 | Equivalence | 11 |         |    0 | 00/6508               | ErFirstCol               =       {$1A}                
10587 | 39                      game.s    766 | Equivalence | 11 |         |    0 | 00/6508               | ErNumCols                =       {$1B}                
10588 | 39                      game.s    767 | Equivalence | 11 |         |    0 | 00/6508               | ErFirstRow               =       {$12}                
10589 | 39                      game.s    768 | Equivalence | 11 |         |    0 | 00/6508               | ErNumRows                =       {$13}                
10590 | 39                      game.s    769 | Empty       | 11 |         |    0 | 00/6508               |                                                       
10591 | 39                      game.s    770 | Empty       | 11 |         |    0 | 00/6508               | EraseSpriteArea                                       
10592 | 39                      game.s    771 | Comment     | 11 |         |    0 | 00/6508               | * Compute tile column and span from SprX using lookup table
10593 | 39                      game.s    772 | Code        | 11 |         |    2 | 00/6508 : A6 14       |                          LDX     {$14}                
10594 | 39                      game.s    773 | Code        | 11 |         |    3 | 00/650A : BD A6 82    |                          LDA     XDiv7,X              
10595 | 39                      game.s    774 | Code        | 11 |         |    2 | 00/650D : 85 1A       |                          STA     {{$1A}}              
10596 | 39                      game.s    775 | Code        | 11 |         |    3 | 00/650F : BD 32 83    |                          LDA     XMod7,X              
10597 | 39                      game.s    776 | Code        | 11 |         |    2 | 00/6512 : F0 04       |                          BEQ     _twoCols             
10598 | 39                      game.s    777 | Code        | 11 |         |    2 | 00/6514 : A9 03       |                          LDA     #3                   
10599 | 39                      game.s    778 | Code        | 11 |         |    2 | 00/6516 : 80 02       |                          BRA     _setCols             
10600 | 39                      game.s    779 | Code        | 11 |         |    2 | 00/6518 : A9 02       | _twoCols                 LDA     #2                   
10601 | 39                      game.s    780 | Code        | 11 |         |    2 | 00/651A : 85 1B       | _setCols                 STA     {{$1B}}              
10602 | 39                      game.s    781 | Empty       | 11 |         |    0 | 00/651C               |                                                       
10603 | 39                      game.s    782 | Comment     | 11 |         |    0 | 00/651C               | * Compute tile row and span from SprY using lookup table
10604 | 39                      game.s    783 | Code        | 11 |         |    2 | 00/651C : A6 15       |                          LDX     {$15}                
10605 | 39                      game.s    784 | Code        | 11 |         |    3 | 00/651E : BD BE 83    |                          LDA     YDiv6,X              
10606 | 39                      game.s    785 | Code        | 11 |         |    2 | 00/6521 : 85 12       |                          STA     {{$12}}              
10607 | 39                      game.s    786 | Code        | 11 |         |    3 | 00/6523 : BD 7E 84    |                          LDA     YMod6,X              
10608 | 39                      game.s    787 | Code        | 11 |         |    2 | 00/6526 : F0 04       |                          BEQ     _twoRows             
10609 | 39                      game.s    788 | Code        | 11 |         |    2 | 00/6528 : A9 03       |                          LDA     #3                   
10610 | 39                      game.s    789 | Code        | 11 |         |    2 | 00/652A : 80 02       |                          BRA     _setRows             
10611 | 39                      game.s    790 | Code        | 11 |         |    2 | 00/652C : A9 02       | _twoRows                 LDA     #2                   
10612 | 39                      game.s    791 | Code        | 11 |         |    2 | 00/652E : 85 13       | _setRows                 STA     {{$13}}              
10613 | 39                      game.s    792 | Empty       | 11 |         |    0 | 00/6530               |                                                       
10614 | 39                      game.s    793 | Comment     | 11 |         |    0 | 00/6530               | * Inline MapPtr setup: MapPtrTbl[MapIdx] + RowOfs20[ErFirstRow]
10615 | 39                      game.s    794 | Comment     | 11 |         |    0 | 00/6530               | * Avoids SetMap (which calls unneeded SetCollision) and O(n) row loop
10616 | 39                      game.s    795 | Code        | 11 |         |    2 | 00/6530 : A5 1C       |                          LDA     {$1C}                
10617 | 39                      game.s    796 | Code        | 11 |         |    1 | 00/6532 : 0A          |                          ASL                          
10618 | 39                      game.s    797 | Code        | 11 |         |    1 | 00/6533 : AA          |                          TAX                          
10619 | 39                      game.s    798 | Code        | 11 |         |    1 | 00/6534 : 18          |                          CLC                          
10620 | 39                      game.s    799 | Code        | 11 |         |    3 | 00/6535 : BD 02 65    |                          LDA     MapPtrTbl,X          
10621 | 39                      game.s    800 | Code        | 11 |         |    2 | 00/6538 : A4 12       |                          LDY     {{$12}}              
10622 | 39                      game.s    801 | Code        | 11 |         |    3 | 00/653A : 79 3E 85    |                          ADC     RowOfs20L,Y          
10623 | 39                      game.s    802 | Code        | 11 |         |    2 | 00/653D : 85 08       |                          STA     {$08}                
10624 | 39                      game.s    803 | Code        | 11 |         |    3 | 00/653F : BD 03 65    |                          LDA     MapPtrTbl+1,X        
10625 | 39                      game.s    804 | Code        | 11 |         |    3 | 00/6542 : 79 5E 85    |                          ADC     RowOfs20H,Y          
10626 | 39                      game.s    805 | Code        | 11 |         |    2 | 00/6545 : 85 09       |                          STA     {$08}+1              
10627 | 39                      game.s    806 | Empty       | 11 |         |    0 | 00/6547               |                                                       
10628 | 39                      game.s    807 | Code        | 11 |         |    2 | 00/6547 : A6 13       | _erLoop                  LDX     {{$13}}              
10629 | 39                      game.s    808 | Code        | 11 |         |    2 | 00/6549 : 86 0F       |                          STX     {$0F}                
10630 | 39                      game.s    809 | Empty       | 11 |         |    0 | 00/654B               |                                                       
10631 | 39                      game.s    810 | Empty       | 11 |         |    0 | 00/654B               | _erRowLoop                                            
10632 | 39                      game.s    811 | Code        | 11 |         |    2 | 00/654B : 64 0D       |                          STZ     {$0D}                
10633 | 39                      game.s    812 | Empty       | 11 |         |    0 | 00/654D               | _erSubLoop                                            
10634 | 39                      game.s    813 | Code        | 11 |         |    2 | 00/654D : A5 12       |                          LDA     {{$12}}              
10635 | 39                      game.s    814 | Code        | 11 |         |    1 | 00/654F : 0A          |                          ASL                          
10636 | 39                      game.s    815 | Code        | 11 |         |    2 | 00/6550 : 85 18       |                          STA     {$18}                
10637 | 39                      game.s    816 | Code        | 11 |         |    1 | 00/6552 : 0A          |                          ASL                          
10638 | 39                      game.s    817 | Code        | 11 |         |    1 | 00/6553 : 18          |                          CLC                          
10639 | 39                      game.s    818 | Code        | 11 |         |    2 | 00/6554 : 65 18       |                          ADC     {$18}                
10640 | 39                      game.s    819 | Code        | 11 |         |    2 | 00/6556 : 65 0D       |                          ADC     {$0D}                
10641 | 39                      game.s    820 | Code        | 11 |         |    2 | 00/6558 : C9 C0       |                          CMP     #192                 
10642 | 39                      game.s    821 | Code        | 11 |         |    2 | 00/655A : B0 6E       |                          BCS     _erNextRow           
10643 | 39                      game.s    822 | Code        | 11 |         |    1 | 00/655C : AA          |                          TAX                          
10644 | 39                      game.s    823 | Code        | 11 |         |    3 | 00/655D : BD 26 81    |                          LDA     ScanAdrL,X           
10645 | 39                      game.s    824 | Code        | 11 |         |    2 | 00/6560 : 85 00       |                          STA     {$00}                
10646 | 39                      game.s    825 | Code        | 11 |         |    3 | 00/6562 : BD E6 81    |                          LDA     ScanAdrH,X           
10647 | 39                      game.s    826 | Code        | 11 |         |    1 | 00/6565 : 18          |                          CLC                          
10648 | 39                      game.s    827 | Code        | 11 |         |    2 | 00/6566 : 65 1E       |                          ADC     {$1E}                
10649 | 39                      game.s    828 | Code        | 11 |         |    2 | 00/6568 : 85 01       |                          STA     {$00}+1              
10650 | 39                      game.s    829 | Empty       | 11 |         |    0 | 00/656A               |                                                       
10651 | 39                      game.s    830 | Code        | 11 |         |    2 | 00/656A : A6 1B       |                          LDX     {{$1B}}              
10652 | 39                      game.s    831 | Code        | 11 |         |    2 | 00/656C : 86 19       |                          STX     {$19}                
10653 | 39                      game.s    832 | Code        | 11 |         |    2 | 00/656E : A5 1A       |                          LDA     {{$1A}}              
10654 | 39                      game.s    833 | Code        | 11 |         |    2 | 00/6570 : 85 18       |                          STA     {$18}                
10655 | 39                      game.s    834 | Empty       | 11 |         |    0 | 00/6572               |                                                       
10656 | 39                      game.s    835 | Empty       | 11 |         |    0 | 00/6572               | _erColLoop                                            
10657 | 39                      game.s    836 | Code        | 11 |         |    2 | 00/6572 : A4 18       |                          LDY     {$18}                
10658 | 39                      game.s    837 | Code        | 11 |         |    2 | 00/6574 : C0 14       |                          CPY     #20                  
10659 | 39                      game.s    838 | Code        | 11 |         |    2 | 00/6576 : B0 41       |                          BCS     _erNextCol           
10660 | 39                      game.s    839 | Code        | 11 |         |    2 | 00/6578 : B1 08       |                          LDA     ({$08}),Y            ; read tile ID from main RAM
10661 | 39                      game.s    840 | Code        | 11 |         |    1 | 00/657A : AA          |                          TAX                          
10662 | 39                      game.s    841 | Code        | 11 |         |    3 | 00/657B : BD 7E 85    |                          LDA     TileAddrL,X          
10663 | 39                      game.s    842 | Code        | 11 |         |    2 | 00/657E : 85 0A       |                          STA     {$0A}                
10664 | 39                      game.s    843 | Code        | 11 |         |    3 | 00/6580 : BD 51 86    |                          LDA     TileAddrH,X          
10665 | 39                      game.s    844 | Code        | 11 |         |    2 | 00/6583 : 85 0B       |                          STA     {$0A}+1              
10666 | 39                      game.s    845 | Empty       | 11 |         |    0 | 00/6585               |                                                       
10667 | 39                      game.s    846 | Code        | 11 |         |    2 | 00/6585 : A5 0D       |                          LDA     {$0D}                
10668 | 39                      game.s    847 | Code        | 11 |         |    1 | 00/6587 : 0A          |                          ASL                          
10669 | 39                      game.s    848 | Code        | 11 |         |    1 | 00/6588 : 0A          |                          ASL                          
10670 | 39                      game.s    849 | Code        | 11 |         |    1 | 00/6589 : A8          |                          TAY                          
10671 | 39                      game.s    850 | Code        | 11 |         |    2 | 00/658A : B1 0A       |                          LDA     ({$0A}),Y            
10672 | 39                      game.s    851 | Code        | 11 |         |    2 | 00/658C : 85 38       |                          STA     {$38}+0              
10673 | 39                      game.s    852 | Code        | 11 |         |    1 | 00/658E : C8          |                          INY                          
10674 | 39                      game.s    853 | Code        | 11 |         |    2 | 00/658F : B1 0A       |                          LDA     ({$0A}),Y            
10675 | 39                      game.s    854 | Code        | 11 |         |    2 | 00/6591 : 85 39       |                          STA     {$38}+1              
10676 | 39                      game.s    855 | Code        | 11 |         |    1 | 00/6593 : C8          |                          INY                          
10677 | 39                      game.s    856 | Code        | 11 |         |    2 | 00/6594 : B1 0A       |                          LDA     ({$0A}),Y            
10678 | 39                      game.s    857 | Code        | 11 |         |    2 | 00/6596 : 85 3A       |                          STA     {$38}+2              
10679 | 39                      game.s    858 | Code        | 11 |         |    1 | 00/6598 : C8          |                          INY                          
10680 | 39                      game.s    859 | Code        | 11 |         |    2 | 00/6599 : B1 0A       |                          LDA     ({$0A}),Y            
10681 | 39                      game.s    860 | Code        | 11 |         |    2 | 00/659B : 85 3B       |                          STA     {$38}+3              
10682 | 39                      game.s    861 | Empty       | 11 |         |    0 | 00/659D               |                                                       
10683 | 39                      game.s    862 | Code        | 11 |         |    2 | 00/659D : A5 18       |                          LDA     {$18}                
10684 | 39                      game.s    863 | Code        | 11 |         |    1 | 00/659F : 0A          |                          ASL                          
10685 | 39                      game.s    864 | Code        | 11 |         |    1 | 00/65A0 : A8          |                          TAY                          
10686 | 39                      game.s    865 | Code        | 11 |         |    3 | 00/65A1 : 8D 05 C0    |                          STA     {$C005}              
10687 | 39                      game.s    866 | Code        | 11 |         |    2 | 00/65A4 : A5 38       |                          LDA     {$38}+0              
10688 | 39                      game.s    867 | Code        | 11 |         |    2 | 00/65A6 : 91 00       |                          STA     ({$00}),Y            ; aux byte 0
10689 | 39                      game.s    868 | Code        | 11 |         |    1 | 00/65A8 : C8          |                          INY                          
10690 | 39                      game.s    869 | Code        | 11 |         |    2 | 00/65A9 : A5 3A       |                          LDA     {$38}+2              
10691 | 39                      game.s    870 | Code        | 11 |         |    2 | 00/65AB : 91 00       |                          STA     ({$00}),Y            ; aux byte 1
10692 | 39                      game.s    871 | Code        | 11 |         |    3 | 00/65AD : 8D 04 C0    |                          STA     {$C004}              
10693 | 39                      game.s    872 | Code        | 11 |         |    2 | 00/65B0 : A5 3B       |                          LDA     {$38}+3              
10694 | 39                      game.s    873 | Code        | 11 |         |    2 | 00/65B2 : 91 00       |                          STA     ({$00}),Y            ; main byte 1
10695 | 39                      game.s    874 | Code        | 11 |         |    1 | 00/65B4 : 88          |                          DEY                          
10696 | 39                      game.s    875 | Code        | 11 |         |    2 | 00/65B5 : A5 39       |                          LDA     {$38}+1              
10697 | 39                      game.s    876 | Code        | 11 |         |    2 | 00/65B7 : 91 00       |                          STA     ({$00}),Y            ; main byte 0
10698 | 39                      game.s    877 | Empty       | 11 |         |    0 | 00/65B9               |                                                       
10699 | 39                      game.s    878 | Empty       | 11 |         |    0 | 00/65B9               | _erNextCol                                            
10700 | 39                      game.s    879 | Code        | 11 |         |    2 | 00/65B9 : E6 18       |                          INC     {$18}                
10701 | 39                      game.s    880 | Code        | 11 |         |    2 | 00/65BB : C6 19       |                          DEC     {$19}                
10702 | 39                      game.s    881 | Code        | 11 |         |    2 | 00/65BD : D0 B3       |                          BNE     _erColLoop           
10703 | 39                      game.s    882 | Empty       | 11 |         |    0 | 00/65BF               |                                                       
10704 | 39                      game.s    883 | Code        | 11 |         |    2 | 00/65BF : E6 0D       |                          INC     {$0D}                
10705 | 39                      game.s    884 | Code        | 11 |         |    2 | 00/65C1 : A5 0D       |                          LDA     {$0D}                
10706 | 39                      game.s    885 | Code        | 11 |         |    2 | 00/65C3 : C9 06       |                          CMP     #6                   
10707 | 39                      game.s    886 | Code        | 11 |         |    2 | 00/65C5 : F0 03       |                          BEQ     _erNextRow           
10708 | 39                      game.s    887 | Code        | 11 |         |    3 | 00/65C7 : 4C 4D 65    |                          JMP     _erSubLoop           
10709 | 39                      game.s    888 | Empty       | 11 |         |    0 | 00/65CA               |                                                       
10710 | 39                      game.s    889 | Empty       | 11 |         |    0 | 00/65CA               | _erNextRow                                            
10711 | 39                      game.s    890 | Code        | 11 |         |    1 | 00/65CA : 18          |                          CLC                          
10712 | 39                      game.s    891 | Code        | 11 |         |    2 | 00/65CB : A5 08       |                          LDA     {$08}                
10713 | 39                      game.s    892 | Code        | 11 |         |    2 | 00/65CD : 69 14       |                          ADC     #20                  
10714 | 39                      game.s    893 | Code        | 11 |         |    2 | 00/65CF : 85 08       |                          STA     {$08}                
10715 | 39                      game.s    894 | Code        | 11 |         |    2 | 00/65D1 : A5 09       |                          LDA     {$08}+1              
10716 | 39                      game.s    895 | Code        | 11 |         |    2 | 00/65D3 : 69 00       |                          ADC     #0                   
10717 | 39                      game.s    896 | Code        | 11 |         |    2 | 00/65D5 : 85 09       |                          STA     {$08}+1              
10718 | 39                      game.s    897 | Empty       | 11 |         |    0 | 00/65D7               |                                                       
10719 | 39                      game.s    898 | Code        | 11 |         |    2 | 00/65D7 : E6 12       |                          INC     {{$12}}              
10720 | 39                      game.s    899 | Code        | 11 |         |    2 | 00/65D9 : C6 0F       |                          DEC     {$0F}                
10721 | 39                      game.s    900 | Code        | 11 |         |    2 | 00/65DB : F0 03       |                          BEQ     _erDone              
10722 | 39                      game.s    901 | Code        | 11 |         |    3 | 00/65DD : 4C 4B 65    |                          JMP     _erRowLoop           
10723 | 39                      game.s    902 | Empty       | 11 |         |    0 | 00/65E0               |                                                       
10724 | 39                      game.s    903 | Code        | 11 |         |    3 | 00/65E0 : 8D 04 C0    | _erDone                  STA     {$C004}              
10725 | 39                      game.s    904 | Code        | 11 |         |    1 | 00/65E3 : 60          |                          RTS                          
10726 | 39                      game.s    905 | Empty       | 11 |         |    0 | 00/65E4               |                                                       
10727 | 39                      game.s    906 | Comment     | 11 |         |    0 | 00/65E4               | *----------------------------------------------
10728 | 39                      game.s    907 | Comment     | 11 |         |    0 | 00/65E4               | * CheckLootSleep - Check if sleeping loot gets damaged by erases
10729 | 39                      game.s    908 | Comment     | 11 |         |    0 | 00/65E4               | *
10730 | 39                      game.s    909 | Comment     | 11 |         |    0 | 00/65E4               | * For each visible ground loot item on the current map,
10731 | 39                      game.s    910 | Comment     | 11 |         |    0 | 00/65E4               | * check if the player's old position overlaps it.
10732 | 39                      game.s    911 | Comment     | 11 |         |    0 | 00/65E4               | * If overlap, set the item's bit in LootDrawOnly and set LootDirty.
10733 | 39                      game.s    912 | Comment     | 11 |         |    0 | 00/65E4               | *
10734 | 39                      game.s    913 | Comment     | 11 |         |    0 | 00/65E4               | * Overlap = |dx| < 28 AND |dy| < 18  (tile erase footprint)
10735 | 39                      game.s    914 | Comment     | 11 |         |    0 | 00/65E4               | *----------------------------------------------
10736 | 39                      game.s    915 | Equivalence | 11 |         |    0 | 00/65E4               | WAKE_DX                  =       28                   ; horizontal proximity threshold (pixels)
10737 | 39                      game.s    916 | Equivalence | 11 |         |    0 | 00/65E4               | WAKE_DY                  =       18                   ; vertical proximity threshold (scanlines)
10738 | 39                      game.s    917 | Empty       | 11 |         |    0 | 00/65E4               |                                                       
10739 | 39                      game.s    918 | Comment     | 11 |         |    0 | 00/65E4               | *----------------------------------------------
10740 | 39                      game.s    919 | Comment     | 11 |         |    0 | 00/65E4               | * _AbsCmpDX / _AbsCmpDY - |A| vs wake thresholds
10741 | 39                      game.s    920 | Comment     | 11 |         |    0 | 00/65E4               | *
10742 | 39                      game.s    921 | Comment     | 11 |         |    0 | 00/65E4               | * Caller computes signed diff (LDA src; SEC; SBC tgt), then JSRs.
10743 | 39                      game.s    922 | Comment     | 11 |         |    0 | 00/65E4               | * Helper takes |A| and compares to WAKE_DX or WAKE_DY. Carry flag
10744 | 39                      game.s    923 | Comment     | 11 |         |    0 | 00/65E4               | * propagates through RTS: BCS = outside threshold, BCC = inside.
10745 | 39                      game.s    924 | Comment     | 11 |         |    0 | 00/65E4               | *----------------------------------------------
10746 | 39                      game.s    925 | Empty       | 11 |         |    0 | 00/65E4               | _AbsCmpDX                                             
10747 | 39                      game.s    926 | Code        | 11 |         |    2 | 00/65E4 : 10 03       |                          BPL     _adxp                
10748 | 39                      game.s    927 | Code        | 11 |         |    2 | 00/65E6 : 49 FF       |                          EOR     #$FF                 
10749 | 39                      game.s    928 | Code        | 11 |         |    1 | 00/65E8 : 1A          |                          INC                          
10750 | 39                      game.s    929 | Code        | 11 |         |    2 | 00/65E9 : C9 1C       | _adxp                    CMP     #{28}                
10751 | 39                      game.s    930 | Code        | 11 |         |    1 | 00/65EB : 60          |                          RTS                          
10752 | 39                      game.s    931 | Empty       | 11 |         |    0 | 00/65EC               | _AbsCmpDY                                             
10753 | 39                      game.s    932 | Code        | 11 |         |    2 | 00/65EC : 10 03       |                          BPL     _adyp                
10754 | 39                      game.s    933 | Code        | 11 |         |    2 | 00/65EE : 49 FF       |                          EOR     #$FF                 
10755 | 39                      game.s    934 | Code        | 11 |         |    1 | 00/65F0 : 1A          |                          INC                          
10756 | 39                      game.s    935 | Code        | 11 |         |    2 | 00/65F1 : C9 12       | _adyp                    CMP     #{18}                
10757 | 39                      game.s    936 | Code        | 11 |         |    1 | 00/65F3 : 60          |                          RTS                          
10758 | 39                      game.s    937 | Empty       | 11 |         |    0 | 00/65F4               |                                                       
10759 | 39                      game.s    938 | Comment     | 11 |         |    0 | 00/65F4               | *----------------------------------------------
10760 | 39                      game.s    939 | Comment     | 11 |         |    0 | 00/65F4               | * _FlipPageOfs - Toggle PageOfs between $00 and $20
10761 | 39                      game.s    940 | Comment     | 11 |         |    0 | 00/65F4               | *
10762 | 39                      game.s    941 | Comment     | 11 |         |    0 | 00/65F4               | * Changes draw target between page 1 and page 2 without
10763 | 39                      game.s    942 | Comment     | 11 |         |    0 | 00/65F4               | * swapping the displayed page (unlike FlipPage). Used during
10764 | 39                      game.s    943 | Comment     | 11 |         |    0 | 00/65F4               | * map transitions to hit both pages' erase/draw work.
10765 | 39                      game.s    944 | Comment     | 11 |         |    0 | 00/65F4               | *----------------------------------------------
10766 | 39                      game.s    945 | Empty       | 11 |         |    0 | 00/65F4               | _FlipPageOfs                                          
10767 | 39                      game.s    946 | Code        | 11 |         |    2 | 00/65F4 : A5 1E       |                          LDA     {$1E}                
10768 | 39                      game.s    947 | Code        | 11 |         |    2 | 00/65F6 : 49 20       |                          EOR     #$20                 
10769 | 39                      game.s    948 | Code        | 11 |         |    2 | 00/65F8 : 85 1E       |                          STA     {$1E}                
10770 | 39                      game.s    949 | Code        | 11 |         |    1 | 00/65FA : 60          |                          RTS                          
10771 | 39                      game.s    950 | Empty       | 11 |         |    0 | 00/65FB               |                                                       
10772 | 39                      game.s    951 | Comment     | 11 |         |    0 | 00/65FB               | *----------------------------------------------
10773 | 39                      game.s    952 | Comment     | 11 |         |    0 | 00/65FB               | * _WakeAllLoot / _SleepAllLoot - Per-loot wake-counter helpers.
10774 | 39                      game.s    953 | Comment     | 11 |         |    0 | 00/65FB               | * Used at level-init / transition / respawn paths that must force
10775 | 39                      game.s    954 | Comment     | 11 |         |    0 | 00/65FB               | * every loot bag to redraw on both pages, and at the end of those
10776 | 39                      game.s    955 | Comment     | 11 |         |    0 | 00/65FB               | * paths to clear the counters once all pages are painted.
10777 | 39                      game.s    956 | Comment     | 11 |         |    0 | 00/65FB               | * Clobber A. LootTblWake lives in player.s.
10778 | 39                      game.s    957 | Comment     | 11 |         |    0 | 00/65FB               | *----------------------------------------------
10779 | 39                      game.s    958 | Empty       | 11 |         |    0 | 00/65FB               | _WakeAllLoot                                          
10780 | 39                      game.s    959 | Code        | 11 |         |    2 | 00/65FB : A9 02       |                          LDA     #2                   
10781 | 39                      game.s    960 | Code        | 11 |         |    3 | 00/65FD : 8D 91 73    |                          STA     LootTblWake          
10782 | 39                      game.s    961 | Code        | 11 |         |    3 | 00/6600 : 8D 92 73    |                          STA     LootTblWake+1        
10783 | 39                      game.s    962 | Code        | 11 |         |    3 | 00/6603 : 8D 93 73    |                          STA     LootTblWake+2        
10784 | 39                      game.s    963 | Code        | 11 |         |    3 | 00/6606 : 8D 94 73    |                          STA     LootTblWake+3        ; slot 3 (unused / future pickaxe)
10785 | 39                      game.s    964 | Code        | 11 |         |    1 | 00/6609 : 60          |                          RTS                          
10786 | 39                      game.s    965 | Empty       | 11 |         |    0 | 00/660A               | _SleepAllLoot                                         
10787 | 39                      game.s    966 | Code        | 11 |         |    3 | 00/660A : 9C 91 73    |                          STZ     LootTblWake          
10788 | 39                      game.s    967 | Code        | 11 |         |    3 | 00/660D : 9C 92 73    |                          STZ     LootTblWake+1        
10789 | 39                      game.s    968 | Code        | 11 |         |    3 | 00/6610 : 9C 93 73    |                          STZ     LootTblWake+2        
10790 | 39                      game.s    969 | Code        | 11 |         |    3 | 00/6613 : 9C 94 73    |                          STZ     LootTblWake+3        
10791 | 39                      game.s    970 | Code        | 11 |         |    1 | 00/6616 : 60          |                          RTS                          
10792 | 39                      game.s    971 | Empty       | 11 |         |    0 | 00/6617               |                                                       
10793 | 39                      game.s    972 | Comment     | 11 |         |    0 | 00/6617               | *----------------------------------------------
10794 | 39                      game.s    973 | Comment     | 11 |         |    0 | 00/6617               | * _PageY - Y = 0 for page 0 (P0 slot), Y = 3 for page 1 (P1 slot)
10795 | 39                      game.s    974 | Comment     | 11 |         |    0 | 00/6617               | *
10796 | 39                      game.s    975 | Comment     | 11 |         |    0 | 00/6617               | * Shared by Load/Save old-pos helpers. Relies on every PrvPx/OldPx
10797 | 39                      game.s    976 | Comment     | 11 |         |    0 | 00/6617               | * buffer laying out as P0[0..2] immediately followed by P1[0..2]
10798 | 39                      game.s    977 | Comment     | 11 |         |    0 | 00/6617               | * so (base,Y) with Y=0 or Y=3 picks the right slot.
10799 | 39                      game.s    978 | Comment     | 11 |         |    0 | 00/6617               | *----------------------------------------------
10800 | 39                      game.s    979 | Empty       | 11 |         |    0 | 00/6617               | _PageY                                                
10801 | 39                      game.s    980 | Code        | 11 |         |    2 | 00/6617 : A0 00       |                          LDY     #0                   
10802 | 39                      game.s    981 | Code        | 11 |         |    2 | 00/6619 : A5 1E       |                          LDA     {$1E}                
10803 | 39                      game.s    982 | Code        | 11 |         |    2 | 00/661B : F0 02       |                          BEQ     _pyDone              
10804 | 39                      game.s    983 | Code        | 11 |         |    2 | 00/661D : A0 03       |                          LDY     #3                   
10805 | 39                      game.s    984 | Code        | 11 |         |    1 | 00/661F : 60          | _pyDone                  RTS                          
10806 | 39                      game.s    985 | Empty       | 11 |         |    0 | 00/6620               |                                                       
10807 | 39                      game.s    986 | Empty       | 11 |         |    0 | 00/6620               | CheckLootSleep                                        
10808 | 39                      game.s    987 | Code        | 11 |         |    2 | 00/6620 : A2 00       |                          LDX     #0                   
10809 | 39                      game.s    988 | Code        | 11 |         |    2 | 00/6622 : E0 04       | _clsLoop                 CPX     #{4}                 
10810 | 39                      game.s    989 | Code        | 11 |         |    2 | 00/6624 : 90 03       |                          BCC     _clsCont             
10811 | 39                      game.s    990 | Code        | 11 |         |    3 | 00/6626 : 4C AC 66    |                          JMP     _clsDone             
10812 | 39                      game.s    991 | Empty       | 11 |         |    0 | 00/6629               | _clsCont                                              
10813 | 39                      game.s    992 | Comment     | 11 |         |    0 | 00/6629               | * Skip if item not on ground/collected on this map
10814 | 39                      game.s    993 | Code        | 11 |         |    3 | 00/6629 : BD 81 73    |                          LDA     LootTblSt,X          
10815 | 39                      game.s    994 | Code        | 11 |         |    2 | 00/662C : F0 07       |                          BEQ     _clsGnd              ; ground
10816 | 39                      game.s    995 | Code        | 11 |         |    2 | 00/662E : C9 02       |                          CMP     #{2}                 
10817 | 39                      game.s    996 | Code        | 11 |         |    2 | 00/6630 : F0 03       |                          BEQ     _clsGnd              ; collected (visible under WB)
10818 | 39                      game.s    997 | Code        | 11 |         |    3 | 00/6632 : 4C A8 66    |                          JMP     _clsNext             
10819 | 39                      game.s    998 | Code        | 11 |         |    3 | 00/6635 : BD 7D 73    | _clsGnd                  LDA     LootTblMap,X         
10820 | 39                      game.s    999 | Code        | 11 |         |    2 | 00/6638 : C5 1C       |                          CMP     {$1C}                
10821 | 39                      game.s   1000 | Code        | 11 |         |    2 | 00/663A : F0 03       |                          BEQ     _clsMap              
10822 | 39                      game.s   1001 | Code        | 11 |         |    3 | 00/663C : 4C A8 66    |                          JMP     _clsNext             
10823 | 39                      game.s   1002 | Empty       | 11 |         |    0 | 00/663F               | _clsMap                                               
10824 | 39                      game.s   1003 | Comment     | 11 |         |    0 | 00/663F               | * Save loot position for proximity checks
10825 | 39                      game.s   1004 | Code        | 11 |         |    3 | 00/663F : BD 75 73    |                          LDA     LootTblX,X           
10826 | 39                      game.s   1005 | Code        | 11 |         |    2 | 00/6642 : 85 18       |                          STA     {$18}                
10827 | 39                      game.s   1006 | Code        | 11 |         |    3 | 00/6644 : BD 79 73    |                          LDA     LootTblY,X           
10828 | 39                      game.s   1007 | Code        | 11 |         |    2 | 00/6647 : 85 19       |                          STA     {$19}                
10829 | 39                      game.s   1008 | Code        | 11 |         |    1 | 00/6649 : DA          |                          PHX                          ; save loot index
10830 | 39                      game.s   1009 | Comment     | 11 |         |    0 | 00/664A               | * Check player old pos
10831 | 39                      game.s   1010 | Code        | 11 |         |    2 | 00/664A : A5 18       |                          LDA     {$18}                
10832 | 39                      game.s   1011 | Code        | 11 |         |    1 | 00/664C : 38          |                          SEC                          
10833 | 39                      game.s   1012 | Code        | 11 |         |    2 | 00/664D : E5 77       |                          SBC     {$77}                
10834 | 39                      game.s   1013 | Code        | 11 |         |    3 | 00/664F : 20 E4 65    |                          JSR     _AbsCmpDX            
10835 | 39                      game.s   1014 | Code        | 11 |         |    2 | 00/6652 : B0 0A       |                          BCS     _cp2                 
10836 | 39                      game.s   1015 | Code        | 11 |         |    2 | 00/6654 : A5 19       |                          LDA     {$19}                
10837 | 39                      game.s   1016 | Code        | 11 |         |    1 | 00/6656 : 38          |                          SEC                          
10838 | 39                      game.s   1017 | Code        | 11 |         |    2 | 00/6657 : E5 78       |                          SBC     {$78}                
10839 | 39                      game.s   1018 | Code        | 11 |         |    3 | 00/6659 : 20 EC 65    |                          JSR     _AbsCmpDY            
10840 | 39                      game.s   1019 | Code        | 11 |         |    2 | 00/665C : 90 42       |                          BCC     _clsWake             ; player old pos overlaps
10841 | 39                      game.s   1020 | Empty       | 11 |         |    0 | 00/665E               | _cp2                                                  
10842 | 39                      game.s   1021 | Comment     | 11 |         |    0 | 00/665E               | * Check player new pos
10843 | 39                      game.s   1022 | Code        | 11 |         |    2 | 00/665E : A5 18       |                          LDA     {$18}                
10844 | 39                      game.s   1023 | Code        | 11 |         |    1 | 00/6660 : 38          |                          SEC                          
10845 | 39                      game.s   1024 | Code        | 11 |         |    2 | 00/6661 : E5 70       |                          SBC     {$70}                
10846 | 39                      game.s   1025 | Code        | 11 |         |    3 | 00/6663 : 20 E4 65    |                          JSR     _AbsCmpDX            
10847 | 39                      game.s   1026 | Code        | 11 |         |    2 | 00/6666 : B0 0A       |                          BCS     _cp4                 
10848 | 39                      game.s   1027 | Code        | 11 |         |    2 | 00/6668 : A5 19       |                          LDA     {$19}                
10849 | 39                      game.s   1028 | Code        | 11 |         |    1 | 00/666A : 38          |                          SEC                          
10850 | 39                      game.s   1029 | Code        | 11 |         |    2 | 00/666B : E5 71       |                          SBC     {$71}                
10851 | 39                      game.s   1030 | Code        | 11 |         |    3 | 00/666D : 20 EC 65    |                          JSR     _AbsCmpDY            
10852 | 39                      game.s   1031 | Code        | 11 |         |    2 | 00/6670 : 90 2E       |                          BCC     _clsWake             ; player new pos overlaps
10853 | 39                      game.s   1032 | Empty       | 11 |         |    0 | 00/6672               | _cp4                                                  
10854 | 39                      game.s   1033 | Comment     | 11 |         |    0 | 00/6672               | * Check each cart on this map
10855 | 39                      game.s   1034 | Code        | 11 |         |    2 | 00/6672 : A2 00       |                          LDX     #0                   
10856 | 39                      game.s   1035 | Code        | 11 |         |    2 | 00/6674 : E0 03       | _ccChk                   CPX     #{3}                 
10857 | 39                      game.s   1036 | Code        | 11 |         |    2 | 00/6676 : B0 20       |                          BCS     ozunid_62            
10858 | 39                      game.s   1037 | Code        | 11 |         |    3 | 00/6678 : BD C3 77    |                          LDA     CartTblMap,X         
10859 | 39                      game.s   1038 | Code        | 11 |         |    2 | 00/667B : C5 1C       |                          CMP     {$1C}                
10860 | 39                      game.s   1039 | Code        | 11 |         |    2 | 00/667D : D0 16       |                          BNE     _ccNxt               
10861 | 39                      game.s   1040 | Code        | 11 |         |    2 | 00/667F : A5 18       |                          LDA     {$18}                
10862 | 39                      game.s   1041 | Code        | 11 |         |    1 | 00/6681 : 38          |                          SEC                          
10863 | 39                      game.s   1042 | Code        | 11 |         |    3 | 00/6682 : FD BA 77    |                          SBC     CartTblX,X           
10864 | 39                      game.s   1043 | Code        | 11 |         |    3 | 00/6685 : 20 E4 65    |                          JSR     _AbsCmpDX            
10865 | 39                      game.s   1044 | Code        | 11 |         |    2 | 00/6688 : B0 0B       |                          BCS     _ccNxt               
10866 | 39                      game.s   1045 | Code        | 11 |         |    2 | 00/668A : A5 19       |                          LDA     {$19}                
10867 | 39                      game.s   1046 | Code        | 11 |         |    1 | 00/668C : 38          |                          SEC                          
10868 | 39                      game.s   1047 | Code        | 11 |         |    3 | 00/668D : FD BD 77    |                          SBC     CartTblY,X           
10869 | 39                      game.s   1048 | Code        | 11 |         |    3 | 00/6690 : 20 EC 65    |                          JSR     _AbsCmpDY            
10870 | 39                      game.s   1049 | Code        | 11 |         |    2 | 00/6693 : 90 0B       |                          BCC     _clsWake             ; cart overlaps
10871 | 39                      game.s   1050 | Code        | 11 |         |    1 | 00/6695 : E8          | _ccNxt                   INX                          
10872 | 39                      game.s   1051 | Code        | 11 |         |    2 | 00/6696 : 80 DC       |                          BRA     _ccChk               
10873 | 39                      game.s   1052 | Empty       | 11 |         |    0 | 00/6698               | ozunid_62                                             
10874 | 39                      game.s   1053 | Comment     | 11 |         |    0 | 00/6698               | * Check each guard on this map (routine in $1800)
10875 | 39                      game.s   1054 | Code        | 11 |         |    3 | 00/6698 : 20 D6 0C    |                          JSR     CheckGuardWakeLoot   ; C=1 if guard overlaps
10876 | 39                      game.s   1055 | Code        | 11 |         |    2 | 00/669B : B0 03       |                          BCS     _clsWake             
10877 | 39                      game.s   1056 | Empty       | 11 |         |    0 | 00/669D               | _clsNoWake                                            
10878 | 39                      game.s   1057 | Code        | 11 |         |    1 | 00/669D : FA          |                          PLX                          ; restore loot index
10879 | 39                      game.s   1058 | Code        | 11 |         |    2 | 00/669E : 80 08       |                          BRA     _clsNext             
10880 | 39                      game.s   1059 | Code        | 11 |         |    1 | 00/66A0 : FA          | _clsWake                 PLX                          ; restore loot index
10881 | 39                      game.s   1060 | Code        | 11 |         |    3 | 00/66A1 : BD AD 66    |                          LDA     _bitMask,X           
10882 | 39                      game.s   1061 | Code        | 11 |         |    2 | 00/66A4 : 05 EE       |                          ORA     {$EE}                
10883 | 39                      game.s   1062 | Code        | 11 |         |    2 | 00/66A6 : 85 EE       |                          STA     {$EE}                
10884 | 39                      game.s   1063 | Code        | 11 |         |    1 | 00/66A8 : E8          | _clsNext                 INX                          
10885 | 39                      game.s   1064 | Code        | 11 |         |    3 | 00/66A9 : 4C 22 66    |                          JMP     _clsLoop             
10886 | 39                      game.s   1065 | Code        | 11 |         |    1 | 00/66AC : 60          | _clsDone                 RTS                          
10887 | 39                      game.s   1066 | Empty       | 11 |         |    0 | 00/66AD               |                                                       
10888 | 39                      game.s   1067 | Data        | 11 |         |    4 | 00/66AD : 01 02 04 08 | _bitMask                 DFB     $01,$02,$04,$08      
10889 | 39                      game.s   1068 | Empty       | 11 |         |    0 | 00/66B1               |                                                       
10890 | 39                      game.s   1069 | Comment     | 11 |         |    0 | 00/66B1               | *----------------------------------------------
10891 | 39                      game.s   1070 | Comment     | 11 |         |    0 | 00/66B1               | * CheckWBSleep - Check if sleeping WB gets damaged by erases
10892 | 39                      game.s   1071 | Comment     | 11 |         |    0 | 00/66B1               | *
10893 | 39                      game.s   1072 | Comment     | 11 |         |    0 | 00/66B1               | * Checks player old + new pos against WB position.
10894 | 39                      game.s   1073 | Comment     | 11 |         |    0 | 00/66B1               | * Sets WBDirty=1 if overlap (draw-only wake).
10895 | 39                      game.s   1074 | Comment     | 11 |         |    0 | 00/66B1               | *----------------------------------------------
10896 | 39                      game.s   1075 | Empty       | 11 |         |    0 | 00/66B1               | CheckWBSleep                                          
10897 | 39                      game.s   1076 | Comment     | 11 |         |    0 | 00/66B1               | * Check player old pos vs WB
10898 | 39                      game.s   1077 | Code        | 11 |         |    2 | 00/66B1 : A5 33       |                          LDA     {$33}                
10899 | 39                      game.s   1078 | Code        | 11 |         |    1 | 00/66B3 : 38          |                          SEC                          
10900 | 39                      game.s   1079 | Code        | 11 |         |    2 | 00/66B4 : E5 77       |                          SBC     {$77}                
10901 | 39                      game.s   1080 | Code        | 11 |         |    3 | 00/66B6 : 20 E4 65    |                          JSR     _AbsCmpDX            
10902 | 39                      game.s   1081 | Code        | 11 |         |    2 | 00/66B9 : B0 0A       |                          BCS     _cwChkNew            
10903 | 39                      game.s   1082 | Code        | 11 |         |    2 | 00/66BB : A5 34       |                          LDA     {$34}                
10904 | 39                      game.s   1083 | Code        | 11 |         |    1 | 00/66BD : 38          |                          SEC                          
10905 | 39                      game.s   1084 | Code        | 11 |         |    2 | 00/66BE : E5 78       |                          SBC     {$78}                
10906 | 39                      game.s   1085 | Code        | 11 |         |    3 | 00/66C0 : 20 EC 65    |                          JSR     _AbsCmpDY            
10907 | 39                      game.s   1086 | Code        | 11 |         |    2 | 00/66C3 : 90 21       |                          BCC     _cwWake              
10908 | 39                      game.s   1087 | Empty       | 11 |         |    0 | 00/66C5               | _cwChkNew                                             
10909 | 39                      game.s   1088 | Comment     | 11 |         |    0 | 00/66C5               | * Check player new pos vs WB
10910 | 39                      game.s   1089 | Code        | 11 |         |    2 | 00/66C5 : A5 33       |                          LDA     {$33}                
10911 | 39                      game.s   1090 | Code        | 11 |         |    1 | 00/66C7 : 38          |                          SEC                          
10912 | 39                      game.s   1091 | Code        | 11 |         |    2 | 00/66C8 : E5 70       |                          SBC     {$70}                
10913 | 39                      game.s   1092 | Code        | 11 |         |    3 | 00/66CA : 20 E4 65    |                          JSR     _AbsCmpDX            
10914 | 39                      game.s   1093 | Code        | 11 |         |    2 | 00/66CD : B0 0A       |                          BCS     _cwChkGrd            
10915 | 39                      game.s   1094 | Code        | 11 |         |    2 | 00/66CF : A5 34       |                          LDA     {$34}                
10916 | 39                      game.s   1095 | Code        | 11 |         |    1 | 00/66D1 : 38          |                          SEC                          
10917 | 39                      game.s   1096 | Code        | 11 |         |    2 | 00/66D2 : E5 71       |                          SBC     {$71}                
10918 | 39                      game.s   1097 | Code        | 11 |         |    3 | 00/66D4 : 20 EC 65    |                          JSR     _AbsCmpDY            
10919 | 39                      game.s   1098 | Code        | 11 |         |    2 | 00/66D7 : 90 0D       |                          BCC     _cwWake              
10920 | 39                      game.s   1099 | Comment     | 11 |         |    0 | 00/66D9               | * Check each guard on this map vs WB (reuse loot wake routine)
10921 | 39                      game.s   1100 | Empty       | 11 |         |    0 | 00/66D9               | _cwChkGrd                                             
10922 | 39                      game.s   1101 | Code        | 11 |         |    2 | 00/66D9 : A5 33       |                          LDA     {$33}                
10923 | 39                      game.s   1102 | Code        | 11 |         |    2 | 00/66DB : 85 18       |                          STA     {$18}                
10924 | 39                      game.s   1103 | Code        | 11 |         |    2 | 00/66DD : A5 34       |                          LDA     {$34}                
10925 | 39                      game.s   1104 | Code        | 11 |         |    2 | 00/66DF : 85 19       |                          STA     {$19}                
10926 | 39                      game.s   1105 | Code        | 11 |         |    3 | 00/66E1 : 20 D6 0C    |                          JSR     CheckGuardWakeLoot   ; C=1 if guard overlaps
10927 | 39                      game.s   1106 | Code        | 11 |         |    2 | 00/66E4 : 90 04       |                          BCC     _cwRts               
10928 | 39                      game.s   1107 | Code        | 11 |         |    2 | 00/66E6 : A9 02       | _cwWake                  LDA     #2                   ; 2 = draw-only wake (skip erase)
10929 | 39                      game.s   1108 | Code        | 11 |         |    2 | 00/66E8 : 85 37       |                          STA     {$37}                
10930 | 39                      game.s   1109 | Code        | 11 |         |    1 | 00/66EA : 60          | _cwRts                   RTS                          
10931 | 39                      game.s   1110 | Empty       | 11 |         |    0 | 00/66EB               |                                                       
10932 | 39                      game.s   1111 | Comment     | 11 |         |    0 | 00/66EB               | *----------------------------------------------
10933 | 39                      game.s   1112 | Comment     | 11 |         |    0 | 00/66EB               | * Fast HUD digit rendering
10934 | 39                      game.s   1113 | Comment     | 11 |         |    0 | 00/66EB               | *
10935 | 39                      game.s   1114 | Comment     | 11 |         |    0 | 00/66EB               | * At init CacheDigitGlyphs copies '0'..'9' glyphs from FontData into
10936 | 39                      game.s   1115 | Comment     | 11 |         |    0 | 00/66EB               | * a main-RAM buffer at $0210 (DigitGlyphs). Then BuildHudDigitTables
10937 | 39                      game.s   1116 | Comment     | 11 |         |    0 | 00/66EB               | * expands every (position, digit, scanline) tuple into three final
10938 | 39                      game.s   1117 | Comment     | 11 |         |    0 | 00/66EB               | * DHGR bytes in ScoreDigitBytes / BonusDigitBytes. At draw time, each
10939 | 39                      game.s   1118 | Comment     | 11 |         |    0 | 00/66EB               | * position's 3 bytes are OR'd into a scratch buffer and blitted to
10940 | 39                      game.s   1119 | Comment     | 11 |         |    0 | 00/66EB               | * the screen with two aux/main soft-switches per scanline - no bit
10941 | 39                      game.s   1120 | Comment     | 11 |         |    0 | 00/66EB               | * shifts, no divide, no aux reads, no OR-with-screen merges.
10942 | 39                      game.s   1121 | Comment     | 11 |         |    0 | 00/66EB               | *
10943 | 39                      game.s   1122 | Comment     | 11 |         |    0 | 00/66EB               | * DigitGlyphs lives in the ProDOS input buffer ($0200-$02FF).
10944 | 39                      game.s   1123 | Comment     | 11 |         |    0 | 00/66EB               | *----------------------------------------------
10945 | 39                      game.s   1124 | Equivalence | 11 |         |    0 | 00/66EB               | DigitBuf                 =       $0200                ; 16 bytes scratch (GAME OVER / misc strings)
10946 | 39                      game.s   1125 | Equivalence | 11 |         |    0 | 00/66EB               | DigitGlyphs              =       $0210                ; 160 bytes: 10 glyphs x 16 bytes
10947 | 39                      game.s   1126 | Empty       | 11 |         |    0 | 00/66EB               |                                                       
10948 | 39                      game.s   1127 | Comment     | 11 |         |    0 | 00/66EB               | *----------------------------------------------
10949 | 39                      game.s   1128 | Comment     | 11 |         |    0 | 00/66EB               | * Pre-shifted HUD tables. Each entry = 3 DHGR bytes ready to STA.
10950 | 39                      game.s   1129 | Comment     | 11 |         |    0 | 00/66EB               | *   ScoreDigitBytes: 8 positions (cols 14..21) x 10 digits x 8 scans
10951 | 39                      game.s   1130 | Comment     | 11 |         |    0 | 00/66EB               | *                    x 3 bytes = 1920 bytes used. Page-aligned stride
10952 | 39                      game.s   1131 | Comment     | 11 |         |    0 | 00/66EB               | *                    256 per scan for clean high-byte indexing; the
10953 | 39                      game.s   1132 | Comment     | 11 |         |    0 | 00/66EB               | *                    16 bytes of slack per scan are unused. Lives at
10954 | 39                      game.s   1133 | Comment     | 11 |         |    0 | 00/66EB               | *                    $1600-$1DFF (2048 bytes) in the main-RAM tail
10955 | 39                      game.s   1134 | Comment     | 11 |         |    0 | 00/66EB               | *                    pool (after the $0800 low code block).
10956 | 39                      game.s   1135 | Comment     | 11 |         |    0 | 00/66EB               | *   BonusDigitBytes: 4 positions (cols 28..31) x 10 digits x 8 scans
10957 | 39                      game.s   1136 | Comment     | 11 |         |    0 | 00/66EB               | *                    x 3 bytes = 960 bytes used. Placed in text page
10958 | 39                      game.s   1137 | Comment     | 11 |         |    0 | 00/66EB               | *                    1 ($0400-$07FF) with stride 128 so each scan's
10959 | 39                      game.s   1138 | Comment     | 11 |         |    0 | 00/66EB               | *                    120-byte block sits entirely in one of the eight
10960 | 39                      game.s   1139 | Comment     | 11 |         |    0 | 00/66EB               | *                    "non-hole" 120-byte segments. Text page is free
10961 | 39                      game.s   1140 | Comment     | 11 |         |    0 | 00/66EB               | *                    in gameplay (DHGR mode is active after DHGRInit).
10962 | 39                      game.s   1141 | Comment     | 11 |         |    0 | 00/66EB               | * Access: ScoreScanPtrL/H[scan] and BonusScanPtrL/H[scan] hold the
10963 | 39                      game.s   1142 | Comment     | 11 |         |    0 | 00/66EB               | * per-scan base pointers so the hot loop skips the stride math.
10964 | 39                      game.s   1143 | Comment     | 11 |         |    0 | 00/66EB               | *----------------------------------------------
10965 | 39                      game.s   1144 | Equivalence | 11 |         |    0 | 00/66EB               | ScoreDigitBytes          =       $1600                
10966 | 39                      game.s   1145 | Equivalence | 11 |         |    0 | 00/66EB               | BonusDigitBytes          =       $0400                
10967 | 39                      game.s   1146 | Empty       | 11 |         |    0 | 00/66EB               |                                                       
10968 | 39                      game.s   1147 | Comment     | 11 |         |    0 | 00/66EB               | * CacheDigitGlyphs + BuildHudDigitTables moved to hud_init.s in the
10969 | 39                      game.s   1148 | Comment     | 11 |         |    0 | 00/66EB               | * boot stub — they only run once and get wiped by DHGRClear anyway.
10970 | 39                      game.s   1149 | Comment     | 11 |         |    0 | 00/66EB               | * Runtime-only tables stay here:
10971 | 39                      game.s   1150 | Empty       | 11 |         |    0 | 00/66EB               |                                                       
10972 | 39                      game.s   1151 | Comment     | 11 |         |    0 | 00/66EB               | * Scratch offset per score position (start-byte minus HUD_SCORE_X0=32)
10973 | 39                      game.s   1152 | Data        | 11 |         |    8 | 00/66EB : 00 02 04 06 | ScorePosScrOfs           HEX     00020406090B0D10     
      |                                       |             |    |         |      |           09 0B 0D 10 |
10974 | 39                      game.s   1153 | Comment     | 11 |         |    0 | 00/66F3               | * Scratch offset per bonus position (start-byte minus HUD_BONUS_X0=64)
10975 | 39                      game.s   1154 | Data        | 11 |         |    4 | 00/66F3 : 00 02 04 06 | BonusPosScrOfs           HEX     00020406             
10976 | 39                      game.s   1155 | Empty       | 11 |         |    0 | 00/66F7               |                                                       
10977 | 39                      game.s   1156 | Comment     | 11 |         |    0 | 00/66F7               | * DrawScore + _DecodeScoreBCD + _EncodeOneNibble + _BlitHudScratchScore
10978 | 39                      game.s   1157 | Comment     | 11 |         |    0 | 00/66F7               | * relocated to asm/hud_render_aux.s (aux LC). The main-side DrawScore
10979 | 39                      game.s   1158 | Comment     | 11 |         |    0 | 00/66F7               | * symbol is now a trampoline in hud_overlay.s (Low1800).
10980 | 39                      game.s   1159 | Empty       | 11 |         |    0 | 00/66F7               |                                                       
10981 | 39                      game.s   1160 | Comment     | 11 |         |    0 | 00/66F7               | *----------------------------------------------
10982 | 39                      game.s   1161 | Comment     | 11 |         |    0 | 00/66F7               | * _SnapScoreBCD - Copy ScoreBCD -> ScoreBCDDsp. Called whenever
10983 | 39                      game.s   1162 | Comment     | 11 |         |    0 | 00/66F7               | * ScoreDirty is (re)set so both frames of the 2-frame redraw paint
10984 | 39                      game.s   1163 | Comment     | 11 |         |    0 | 00/66F7               | * the same value, regardless of any silent AddScoreNoDirty adds that
10985 | 39                      game.s   1164 | Comment     | 11 |         |    0 | 00/66F7               | * land between the two draws.
10986 | 39                      game.s   1165 | Comment     | 11 |         |    0 | 00/66F7               | *----------------------------------------------
10987 | 39                      game.s   1166 | Empty       | 11 |         |    0 | 00/66F7               | _SnapScoreBCD                                         
10988 | 39                      game.s   1167 | Code        | 11 |         |    3 | 00/66F7 : AD D9 11    |                          LDA     ScoreBCD             
10989 | 39                      game.s   1168 | Code        | 11 |         |    3 | 00/66FA : 8D DD 11    |                          STA     ScoreBCDDsp          
10990 | 39                      game.s   1169 | Code        | 11 |         |    3 | 00/66FD : AD DA 11    |                          LDA     ScoreBCD+1           
10991 | 39                      game.s   1170 | Code        | 11 |         |    3 | 00/6700 : 8D DE 11    |                          STA     ScoreBCDDsp+1        
10992 | 39                      game.s   1171 | Code        | 11 |         |    3 | 00/6703 : AD DB 11    |                          LDA     ScoreBCD+2           
10993 | 39                      game.s   1172 | Code        | 11 |         |    3 | 00/6706 : 8D DF 11    |                          STA     ScoreBCDDsp+2        
10994 | 39                      game.s   1173 | Code        | 11 |         |    3 | 00/6709 : AD DC 11    |                          LDA     ScoreBCD+3           
10995 | 39                      game.s   1174 | Code        | 11 |         |    3 | 00/670C : 8D E0 11    |                          STA     ScoreBCDDsp+3        
10996 | 39                      game.s   1175 | Code        | 11 |         |    1 | 00/670F : 60          |                          RTS                          
10997 | 39                      game.s   1176 | Empty       | 11 |         |    0 | 00/6710               |                                                       
10998 | 39                      game.s   1177 | Comment     | 11 |         |    0 | 00/6710               | *----------------------------------------------
10999 | 39                      game.s   1178 | Comment     | 11 |         |    0 | 00/6710               | * DrawHUDAll - Render score + bonus + lives on current page.
11000 | 39                      game.s   1179 | Comment     | 11 |         |    0 | 00/6710               | * Use for page-init paths (level/title reset); dirty path draws
11001 | 39                      game.s   1180 | Comment     | 11 |         |    0 | 00/6710               | * individually in MainLoop.
11002 | 39                      game.s   1181 | Comment     | 11 |         |    0 | 00/6710               | *----------------------------------------------
11003 | 39                      game.s   1182 | Empty       | 11 |         |    0 | 00/6710               | DrawHUDAll                                            
11004 | 39                      game.s   1183 | Code        | 11 |         |    3 | 00/6710 : 20 F7 66    |                          JSR     _SnapScoreBCD        ; ensure display buffer reflects current score
11005 | 39                      game.s   1184 | Code        | 11 |         |    3 | 00/6713 : 20 C6 14    |                          JSR     DrawScore            
11006 | 39                      game.s   1185 | Code        | 11 |         |    3 | 00/6716 : 20 D8 14    |                          JSR     DrawBonus            
11007 | 39                      game.s   1186 | Code        | 11 |         |    3 | 00/6719 : 4C 9F 14    |                          JMP     DrawLivesRow         
11008 | 39                      game.s   1187 | Empty       | 11 |         |    0 | 00/671C               |                                                       
11009 | 39                      game.s   1188 | Comment     | 11 |         |    0 | 00/671C               | *----------------------------------------------
11010 | 39                      game.s   1189 | Comment     | 11 |         |    0 | 00/671C               | * SetHUDAllDirty - Mark every HUD element dirty for 2 pages.
11011 | 39                      game.s   1190 | Comment     | 11 |         |    0 | 00/671C               | *----------------------------------------------
11012 | 39                      game.s   1191 | Empty       | 11 |         |    0 | 00/671C               | SetHUDAllDirty                                        
11013 | 39                      game.s   1192 | Code        | 11 |         |    3 | 00/671C : 20 F7 66    |                          JSR     _SnapScoreBCD        
11014 | 39                      game.s   1193 | Code        | 11 |         |    2 | 00/671F : A9 02       |                          LDA     #2                   
11015 | 39                      game.s   1194 | Code        | 11 |         |    3 | 00/6721 : 8D EA 11    |                          STA     ScoreDirty           
11016 | 39                      game.s   1195 | Code        | 11 |         |    3 | 00/6724 : 8D EB 11    |                          STA     BonusDirty           
11017 | 39                      game.s   1196 | Code        | 11 |         |    3 | 00/6727 : 8D EC 11    |                          STA     LivesDirty           
11018 | 39                      game.s   1197 | Code        | 11 |         |    1 | 00/672A : 60          |                          RTS                          
11019 | 39                      game.s   1198 | Empty       | 11 |         |    0 | 00/672B               |                                                       
11020 | 39                      game.s   1199 | Comment     | 11 |         |    0 | 00/672B               | *----------------------------------------------
11021 | 39                      game.s   1200 | Comment     | 11 |         |    0 | 00/672B               | * AddScoreNoDirty - Add 2-byte BCD amount to ScoreBCD (4-byte LE).
11022 | 39                      game.s   1201 | Comment     | 11 |         |    0 | 00/672B               | * Does NOT flag ScoreDirty (used by throttled step-score path).
11023 | 39                      game.s   1202 | Comment     | 11 |         |    0 | 00/672B               | * In : A = low byte BCD, X = high byte BCD.
11024 | 39                      game.s   1203 | Comment     | 11 |         |    0 | 00/672B               | *----------------------------------------------
11025 | 39                      game.s   1204 | Empty       | 11 |         |    0 | 00/672B               | AddScoreNoDirty                                       
11026 | 39                      game.s   1205 | Code        | 11 |         |    1 | 00/672B : DA          |                          PHX                          
11027 | 39                      game.s   1206 | Code        | 11 |         |    1 | 00/672C : F8          |                          SED                          
11028 | 39                      game.s   1207 | Code        | 11 |         |    1 | 00/672D : 18          |                          CLC                          
11029 | 39                      game.s   1208 | Code        | 11 |         |    3 | 00/672E : 6D D9 11    |                          ADC     ScoreBCD             
11030 | 39                      game.s   1209 | Code        | 11 |         |    3 | 00/6731 : 8D D9 11    |                          STA     ScoreBCD             
11031 | 39                      game.s   1210 | Code        | 11 |         |    1 | 00/6734 : 68          |                          PLA                          
11032 | 39                      game.s   1211 | Code        | 11 |         |    3 | 00/6735 : 6D DA 11    |                          ADC     ScoreBCD+1           
11033 | 39                      game.s   1212 | Code        | 11 |         |    3 | 00/6738 : 8D DA 11    |                          STA     ScoreBCD+1           
11034 | 39                      game.s   1213 | Code        | 11 |         |    2 | 00/673B : A9 00       |                          LDA     #0                   
11035 | 39                      game.s   1214 | Code        | 11 |         |    3 | 00/673D : 6D DB 11    |                          ADC     ScoreBCD+2           
11036 | 39                      game.s   1215 | Code        | 11 |         |    3 | 00/6740 : 8D DB 11    |                          STA     ScoreBCD+2           
11037 | 39                      game.s   1216 | Code        | 11 |         |    2 | 00/6743 : A9 00       |                          LDA     #0                   
11038 | 39                      game.s   1217 | Code        | 11 |         |    3 | 00/6745 : 6D DC 11    |                          ADC     ScoreBCD+3           
11039 | 39                      game.s   1218 | Code        | 11 |         |    3 | 00/6748 : 8D DC 11    |                          STA     ScoreBCD+3           
11040 | 39                      game.s   1219 | Code        | 11 |         |    1 | 00/674B : D8          |                          CLD                          
11041 | 39                      game.s   1220 | Code        | 11 |         |    3 | 00/674C : 20 5E 67    |                          JSR     CheckExtraLife       
11042 | 39                      game.s   1221 | Code        | 11 |         |    3 | 00/674F : 4C 84 67    |                          JMP     UpdateGuardSpeedTier 
11043 | 39                      game.s   1222 | Empty       | 11 |         |    0 | 00/6752               |                                                       
11044 | 39                      game.s   1223 | Comment     | 11 |         |    0 | 00/6752               | *----------------------------------------------
11045 | 39                      game.s   1224 | Comment     | 11 |         |    0 | 00/6752               | * AddScore - BCD add + flag ScoreDirty for HUD refresh.
11046 | 39                      game.s   1225 | Comment     | 11 |         |    0 | 00/6752               | *----------------------------------------------
11047 | 39                      game.s   1226 | Empty       | 11 |         |    0 | 00/6752               | AddScore                                              
11048 | 39                      game.s   1227 | Code        | 11 |         |    3 | 00/6752 : 20 2B 67    |                          JSR     AddScoreNoDirty      
11049 | 39                      game.s   1228 | Code        | 11 |         |    3 | 00/6755 : 20 F7 66    |                          JSR     _SnapScoreBCD        
11050 | 39                      game.s   1229 | Code        | 11 |         |    2 | 00/6758 : A9 02       |                          LDA     #2                   
11051 | 39                      game.s   1230 | Code        | 11 |         |    3 | 00/675A : 8D EA 11    |                          STA     ScoreDirty           
11052 | 39                      game.s   1231 | Code        | 11 |         |    1 | 00/675D : 60          |                          RTS                          
11053 | 39                      game.s   1232 | Empty       | 11 |         |    0 | 00/675E               |                                                       
11054 | 39                      game.s   1233 | Comment     | 11 |         |    0 | 00/675E               | *----------------------------------------------
11055 | 39                      game.s   1234 | Comment     | 11 |         |    0 | 00/675E               | * CheckExtraLife - Award one extra life when score crosses 30000,
11056 | 39                      game.s   1235 | Comment     | 11 |         |    0 | 00/675E               | * once per game. Respects LIVES_MAX cap.
11057 | 39                      game.s   1236 | Comment     | 11 |         |    0 | 00/675E               | *----------------------------------------------
11058 | 39                      game.s   1237 | Empty       | 11 |         |    0 | 00/675E               | CheckExtraLife                                        
11059 | 39                      game.s   1238 | Code        | 11 |         |    3 | 00/675E : AD E6 11    |                          LDA     ExtraLifeFlag        
11060 | 39                      game.s   1239 | Code        | 11 |         |    2 | 00/6761 : D0 20       |                          BNE     _xlDone              
11061 | 39                      game.s   1240 | Comment     | 11 |         |    0 | 00/6763               | * 30000 in BCD is $00,$00,$03,$00 (little-endian)
11062 | 39                      game.s   1241 | Code        | 11 |         |    3 | 00/6763 : AD DC 11    |                          LDA     ScoreBCD+3           
11063 | 39                      game.s   1242 | Code        | 11 |         |    2 | 00/6766 : D0 07       |                          BNE     _xlAward             ; > 999,999, definitely >= 30K
11064 | 39                      game.s   1243 | Code        | 11 |         |    3 | 00/6768 : AD DB 11    |                          LDA     ScoreBCD+2           
11065 | 39                      game.s   1244 | Code        | 11 |         |    2 | 00/676B : C9 03       |                          CMP     #$03                 
11066 | 39                      game.s   1245 | Code        | 11 |         |    2 | 00/676D : 90 14       |                          BCC     _xlDone              
11067 | 39                      game.s   1246 | Code        | 11 |         |    2 | 00/676F : A9 01       | _xlAward                 LDA     #1                   
11068 | 39                      game.s   1247 | Code        | 11 |         |    3 | 00/6771 : 8D E6 11    |                          STA     ExtraLifeFlag        
11069 | 39                      game.s   1248 | Code        | 11 |         |    3 | 00/6774 : AD D8 11    |                          LDA     Lives                
11070 | 39                      game.s   1249 | Code        | 11 |         |    2 | 00/6777 : C9 06       |                          CMP     #{6}                 
11071 | 39                      game.s   1250 | Code        | 11 |         |    2 | 00/6779 : B0 08       |                          BCS     _xlDone              
11072 | 39                      game.s   1251 | Code        | 11 |         |    3 | 00/677B : EE D8 11    |                          INC     Lives                
11073 | 39                      game.s   1252 | Code        | 11 |         |    2 | 00/677E : A9 02       |                          LDA     #2                   
11074 | 39                      game.s   1253 | Code        | 11 |         |    3 | 00/6780 : 8D EC 11    |                          STA     LivesDirty           
11075 | 39                      game.s   1254 | Code        | 11 |         |    1 | 00/6783 : 60          | _xlDone                  RTS                          
11076 | 39                      game.s   1255 | Empty       | 11 |         |    0 | 00/6784               |                                                       
11077 | 39                      game.s   1256 | Comment     | 11 |         |    0 | 00/6784               | *----------------------------------------------
11078 | 39                      game.s   1257 | Comment     | 11 |         |    0 | 00/6784               | * UpdateGuardSpeedTier - Bump GuardBaseSpeed on score thresholds.
11079 | 39                      game.s   1258 | Comment     | 11 |         |    0 | 00/6784               | *
11080 | 39                      game.s   1259 | Comment     | 11 |         |    0 | 00/6784               | * Thresholds (cumulative): 10k/20k/30k/40k -> tiers T1..T4.
11081 | 39                      game.s   1260 | Comment     | 11 |         |    0 | 00/6784               | * ScoreBCD is 4-byte little-endian BCD; byte +2 holds the
11082 | 39                      game.s   1261 | Comment     | 11 |         |    0 | 00/6784               | * 10k/100k digits, so threshold comparisons use ScoreBCD+2.
11083 | 39                      game.s   1262 | Comment     | 11 |         |    0 | 00/6784               | * Called from AddScoreNoDirty after each BCD add.
11084 | 39                      game.s   1263 | Comment     | 11 |         |    0 | 00/6784               | *----------------------------------------------
11085 | 39                      game.s   1264 | Empty       | 11 |         |    0 | 00/6784               | UpdateGuardSpeedTier                                  
11086 | 39                      game.s   1265 | Code        | 11 |         |    3 | 00/6784 : AD CD 11    |                          LDA     GuardSpdTier         
11087 | 39                      game.s   1266 | Code        | 11 |         |    2 | 00/6787 : C9 04       |                          CMP     #4                   
11088 | 39                      game.s   1267 | Code        | 11 |         |    2 | 00/6789 : B0 1F       |                          BCS     _ugstDone            ; already at T4 (1.0x)
11089 | 39                      game.s   1268 | Comment     | 11 |         |    0 | 00/678B               | * Score at or past 1,000,000 -> definitely past 40k
11090 | 39                      game.s   1269 | Code        | 11 |         |    3 | 00/678B : AD DC 11    |                          LDA     ScoreBCD+3           
11091 | 39                      game.s   1270 | Code        | 11 |         |    2 | 00/678E : D0 0C       |                          BNE     _ugstBump            
11092 | 39                      game.s   1271 | Comment     | 11 |         |    0 | 00/6790               | * Compare (tier+1) against ScoreBCD+2 in BCD.
11093 | 39                      game.s   1272 | Code        | 11 |         |    3 | 00/6790 : AD CD 11    |                          LDA     GuardSpdTier         
11094 | 39                      game.s   1273 | Code        | 11 |         |    1 | 00/6793 : 1A          |                          INC                          ; next threshold digit (1..4)
11095 | 39                      game.s   1274 | Code        | 11 |         |    3 | 00/6794 : CD DB 11    |                          CMP     ScoreBCD+2           
11096 | 39                      game.s   1275 | Code        | 11 |         |    2 | 00/6797 : F0 03       |                          BEQ     _ugstBump            ; equal -> threshold crossed
11097 | 39                      game.s   1276 | Code        | 11 |         |    2 | 00/6799 : 90 01       |                          BCC     _ugstBump            ; threshold < ScoreBCD+2 -> crossed
11098 | 39                      game.s   1277 | Code        | 11 |         |    1 | 00/679B : 60          |                          RTS                          ; not yet
11099 | 39                      game.s   1278 | Empty       | 11 |         |    0 | 00/679C               | _ugstBump                                             
11100 | 39                      game.s   1279 | Code        | 11 |         |    3 | 00/679C : EE CD 11    |                          INC     GuardSpdTier         
11101 | 39                      game.s   1280 | Code        | 11 |         |    3 | 00/679F : AE CD 11    |                          LDX     GuardSpdTier         
11102 | 39                      game.s   1281 | Code        | 11 |         |    3 | 00/67A2 : BD AB 67    |                          LDA     GuardSpdTbl,X        
11103 | 39                      game.s   1282 | Code        | 11 |         |    3 | 00/67A5 : 8D CA 11    |                          STA     GuardBaseSpeed       
11104 | 39                      game.s   1283 | Comment     | 11 |         |    0 | 00/67A8               | * Loop in case a single score bump crossed multiple tiers.
11105 | 39                      game.s   1284 | Code        | 11 |         |    2 | 00/67A8 : 80 DA       |                          BRA     UpdateGuardSpeedTier 
11106 | 39                      game.s   1285 | Code        | 11 |         |    1 | 00/67AA : 60          | _ugstDone                RTS                          
11107 | 39                      game.s   1286 | Empty       | 11 |         |    0 | 00/67AB               |                                                       
11108 | 39                      game.s   1287 | Data        | 11 |         |    5 | 00/67AB : 66 8D B3 D9 | GuardSpdTbl              DFB     {102},{141},{179},{217},{255}
      |                                       |             |    |         |      |           FF          |
11109 | 39                      game.s   1288 | Empty       | 11 |         |    0 | 00/67B0               |                                                       
11110 | 39                      game.s   1289 | Comment     | 11 |         |    0 | 00/67B0               | *----------------------------------------------
11111 | 39                      game.s   1290 | Comment     | 11 |         |    0 | 00/67B0               | * Add10/Add100/Add500/Add1000 - Thin wrappers around AddScore.
11112 | 39                      game.s   1291 | Comment     | 11 |         |    0 | 00/67B0               | *----------------------------------------------
11113 | 39                      game.s   1292 | Code        | 11 |         |    2 | 00/67B0 : A9 10       | Add10                    LDA     #$10                 
11114 | 39                      game.s   1293 | Code        | 11 |         |    2 | 00/67B2 : A2 00       |                          LDX     #$00                 
11115 | 39                      game.s   1294 | Code        | 11 |         |    3 | 00/67B4 : 4C 52 67    |                          JMP     AddScore             
11116 | 39                      game.s   1295 | Code        | 11 |         |    2 | 00/67B7 : A9 00       | Add100                   LDA     #$00                 
11117 | 39                      game.s   1296 | Code        | 11 |         |    2 | 00/67B9 : A2 01       |                          LDX     #$01                 
11118 | 39                      game.s   1297 | Code        | 11 |         |    3 | 00/67BB : 4C 52 67    |                          JMP     AddScore             
11119 | 39                      game.s   1298 | Code        | 11 |         |    2 | 00/67BE : A9 00       | Add500                   LDA     #$00                 
11120 | 39                      game.s   1299 | Code        | 11 |         |    2 | 00/67C0 : A2 05       |                          LDX     #$05                 
11121 | 39                      game.s   1300 | Code        | 11 |         |    3 | 00/67C2 : 4C 52 67    |                          JMP     AddScore             
11122 | 39                      game.s   1301 | Code        | 11 |         |    2 | 00/67C5 : A9 00       | Add1000                  LDA     #$00                 
11123 | 39                      game.s   1302 | Code        | 11 |         |    2 | 00/67C7 : A2 10       |                          LDX     #$10                 
11124 | 39                      game.s   1303 | Code        | 11 |         |    3 | 00/67C9 : 4C 52 67    |                          JMP     AddScore             
11125 | 39                      game.s   1304 | Empty       | 11 |         |    0 | 00/67CC               |                                                       
11126 | 39                      game.s   1305 | Comment     | 11 |         |    0 | 00/67CC               | *----------------------------------------------
11127 | 39                      game.s   1306 | Comment     | 11 |         |    0 | 00/67CC               | * Add10Step - Awards +10 to score every walk step. Always flags
11128 | 39                      game.s   1307 | Comment     | 11 |         |    0 | 00/67CC               | * ScoreDirty so the HUD refreshes whenever the value changes.
11129 | 39                      game.s   1308 | Comment     | 11 |         |    0 | 00/67CC               | *----------------------------------------------
11130 | 39                      game.s   1309 | Empty       | 11 |         |    0 | 00/67CC               | Add10Step                                             
11131 | 39                      game.s   1310 | Code        | 11 |         |    3 | 00/67CC : 4C B0 67    |                          JMP     Add10                
11132 | 39                      game.s   1311 | Empty       | 11 |         |    0 | 00/67CF               |                                                       
11133 | 39                      game.s   1312 | Comment     | 11 |         |    0 | 00/67CF               | *----------------------------------------------
11134 | 39                      game.s   1313 | Comment     | 11 |         |    0 | 00/67CF               | * TickBonus - Decrement BonusBCD every BONUS_TICK_PERIOD frames.
11135 | 39                      game.s   1314 | Comment     | 11 |         |    0 | 00/67CF               | * When bonus reaches 0, kill the player.
11136 | 39                      game.s   1315 | Comment     | 11 |         |    0 | 00/67CF               | * Skips while player is dead or game-over.
11137 | 39                      game.s   1316 | Comment     | 11 |         |    0 | 00/67CF               | *----------------------------------------------
11138 | 39                      game.s   1317 | Empty       | 11 |         |    0 | 00/67CF               | TickBonus                                             
11139 | 39                      game.s   1318 | Code        | 11 |         |    2 | 00/67CF : A5 74       |                          LDA     {$74}                
11140 | 39                      game.s   1319 | Code        | 11 |         |    2 | 00/67D1 : C9 07       |                          CMP     #{7}                 
11141 | 39                      game.s   1320 | Code        | 11 |         |    2 | 00/67D3 : F0 3D       |                          BEQ     _tbDone              
11142 | 39                      game.s   1321 | Code        | 11 |         |    3 | 00/67D5 : AD E4 11    |                          LDA     GameOverFlag         
11143 | 39                      game.s   1322 | Code        | 11 |         |    2 | 00/67D8 : D0 38       |                          BNE     _tbDone              
11144 | 39                      game.s   1323 | Code        | 11 |         |    3 | 00/67DA : EE E3 11    |                          INC     BonusTickCtr         
11145 | 39                      game.s   1324 | Code        | 11 |         |    3 | 00/67DD : AD E3 11    |                          LDA     BonusTickCtr         
11146 | 39                      game.s   1325 | Code        | 11 |         |    2 | 00/67E0 : C9 05       |                          CMP     #{5}                 
11147 | 39                      game.s   1326 | Code        | 11 |         |    2 | 00/67E2 : 90 2E       |                          BCC     _tbDone              
11148 | 39                      game.s   1327 | Code        | 11 |         |    3 | 00/67E4 : 9C E3 11    |                          STZ     BonusTickCtr         
11149 | 39                      game.s   1328 | Comment     | 11 |         |    0 | 00/67E7               | * Already zero? (shouldn't happen outside respawn window)
11150 | 39                      game.s   1329 | Code        | 11 |         |    3 | 00/67E7 : AD E1 11    |                          LDA     BonusBCD             
11151 | 39                      game.s   1330 | Code        | 11 |         |    3 | 00/67EA : 0D E2 11    |                          ORA     BonusBCD+1           
11152 | 39                      game.s   1331 | Code        | 11 |         |    2 | 00/67ED : F0 20       |                          BEQ     _tbZero              
11153 | 39                      game.s   1332 | Comment     | 11 |         |    0 | 00/67EF               | * Subtract 10 (BCD) from BonusBCD
11154 | 39                      game.s   1333 | Code        | 11 |         |    1 | 00/67EF : F8          |                          SED                          
11155 | 39                      game.s   1334 | Code        | 11 |         |    1 | 00/67F0 : 38          |                          SEC                          
11156 | 39                      game.s   1335 | Code        | 11 |         |    3 | 00/67F1 : AD E1 11    |                          LDA     BonusBCD             
11157 | 39                      game.s   1336 | Code        | 11 |         |    2 | 00/67F4 : E9 10       |                          SBC     #$10                 
11158 | 39                      game.s   1337 | Code        | 11 |         |    3 | 00/67F6 : 8D E1 11    |                          STA     BonusBCD             
11159 | 39                      game.s   1338 | Code        | 11 |         |    3 | 00/67F9 : AD E2 11    |                          LDA     BonusBCD+1           
11160 | 39                      game.s   1339 | Code        | 11 |         |    2 | 00/67FC : E9 00       |                          SBC     #0                   
11161 | 39                      game.s   1340 | Code        | 11 |         |    3 | 00/67FE : 8D E2 11    |                          STA     BonusBCD+1           
11162 | 39                      game.s   1341 | Code        | 11 |         |    1 | 00/6801 : D8          |                          CLD                          
11163 | 39                      game.s   1342 | Code        | 11 |         |    2 | 00/6802 : A9 02       |                          LDA     #2                   
11164 | 39                      game.s   1343 | Code        | 11 |         |    3 | 00/6804 : 8D EB 11    |                          STA     BonusDirty           
11165 | 39                      game.s   1344 | Code        | 11 |         |    3 | 00/6807 : AD E1 11    |                          LDA     BonusBCD             
11166 | 39                      game.s   1345 | Code        | 11 |         |    3 | 00/680A : 0D E2 11    |                          ORA     BonusBCD+1           
11167 | 39                      game.s   1346 | Code        | 11 |         |    2 | 00/680D : D0 03       |                          BNE     _tbDone              
11168 | 39                      game.s   1347 | Code        | 11 |         |    3 | 00/680F : 4C 13 68    | _tbZero                  JMP     LoseLife             
11169 | 39                      game.s   1348 | Code        | 11 |         |    1 | 00/6812 : 60          | _tbDone                  RTS                          
11170 | 39                      game.s   1349 | Empty       | 11 |         |    0 | 00/6813               |                                                       
11171 | 39                      game.s   1350 | Comment     | 11 |         |    0 | 00/6813               | *----------------------------------------------
11172 | 39                      game.s   1351 | Comment     | 11 |         |    0 | 00/6813               | * LoseLife - Trigger death animation. Safe to call multiple times
11173 | 39                      game.s   1352 | Comment     | 11 |         |    0 | 00/6813               | * (re-entrant: if already dead/game-over, just returns).
11174 | 39                      game.s   1353 | Comment     | 11 |         |    0 | 00/6813               | *----------------------------------------------
11175 | 39                      game.s   1354 | Empty       | 11 |         |    0 | 00/6813               | LoseLife                                              
11176 | 39                      game.s   1355 | Code        | 11 |         |    3 | 00/6813 : AD E4 11    |                          LDA     GameOverFlag         
11177 | 39                      game.s   1356 | Code        | 11 |         |    2 | 00/6816 : D0 1C       |                          BNE     _llDone              
11178 | 39                      game.s   1357 | Code        | 11 |         |    2 | 00/6818 : A5 74       |                          LDA     {$74}                
11179 | 39                      game.s   1358 | Code        | 11 |         |    2 | 00/681A : C9 07       |                          CMP     #{7}                 
11180 | 39                      game.s   1359 | Code        | 11 |         |    2 | 00/681C : F0 16       |                          BEQ     _llDone              
11181 | 39                      game.s   1360 | Code        | 11 |         |    2 | 00/681E : A9 07       |                          LDA     #{7}                 
11182 | 39                      game.s   1361 | Code        | 11 |         |    2 | 00/6820 : 85 74       |                          STA     {$74}                
11183 | 39                      game.s   1362 | Code        | 11 |         |    2 | 00/6822 : A9 3C       |                          LDA     #{60}                
11184 | 39                      game.s   1363 | Code        | 11 |         |    3 | 00/6824 : 8D E7 11    |                          STA     DeathTimer           
11185 | 39                      game.s   1364 | Code        | 11 |         |    2 | 00/6827 : A9 09       |                          LDA     #{9}                 
11186 | 39                      game.s   1365 | Code        | 11 |         |    3 | 00/6829 : 8D E8 11    |                          STA     DeathSfxTimer        
11187 | 39                      game.s   1366 | Code        | 11 |         |    2 | 00/682C : A9 0C       |                          LDA     #{12}                
11188 | 39                      game.s   1367 | Code        | 11 |         |    2 | 00/682E : 85 72       |                          STA     {$72}                
11189 | 39                      game.s   1368 | Code        | 11 |         |    2 | 00/6830 : A9 01       |                          LDA     #1                   
11190 | 39                      game.s   1369 | Code        | 11 |         |    2 | 00/6832 : 85 7C       |                          STA     {$7C}                
11191 | 39                      game.s   1370 | Code        | 11 |         |    1 | 00/6834 : 60          | _llDone                  RTS                          
11192 | 39                      game.s   1371 | Empty       | 11 |         |    0 | 00/6835               |                                                       
11193 | 39                      game.s   1372 | Comment     | 11 |         |    0 | 00/6835               | *----------------------------------------------
11194 | 39                      game.s   1373 | Comment     | 11 |         |    0 | 00/6835               | * DoDeath - Run each frame while PlayerSt==ST_DEAD.
11195 | 39                      game.s   1374 | Comment     | 11 |         |    0 | 00/6835               | * Ticks DeathTimer; on expiry, respawns or starts game-over.
11196 | 39                      game.s   1375 | Comment     | 11 |         |    0 | 00/6835               | *----------------------------------------------
11197 | 39                      game.s   1376 | Empty       | 11 |         |    0 | 00/6835               | DoDeath                                               
11198 | 39                      game.s   1377 | Code        | 11 |         |    2 | 00/6835 : A5 74       |                          LDA     {$74}                
11199 | 39                      game.s   1378 | Code        | 11 |         |    2 | 00/6837 : C9 07       |                          CMP     #{7}                 
11200 | 39                      game.s   1379 | Code        | 11 |         |    2 | 00/6839 : F0 01       |                          BEQ     _ddAct               
11201 | 39                      game.s   1380 | Code        | 11 |         |    1 | 00/683B : 60          |                          RTS                          ; safety: only active in ST_DEAD
11202 | 39                      game.s   1381 | Empty       | 11 |         |    0 | 00/683C               | _ddAct                                                
11203 | 39                      game.s   1382 | Comment     | 11 |         |    0 | 00/683C               | * Fire death tune after sprite frame 14 is visible (tick 10;
11204 | 39                      game.s   1383 | Comment     | 11 |         |    0 | 00/683C               | * see plan file for full timeline). Decrements only while > 0,
11205 | 39                      game.s   1384 | Comment     | 11 |         |    0 | 00/683C               | * so the tune plays exactly once per death.
11206 | 39                      game.s   1385 | Code        | 11 |         |    3 | 00/683C : AD E8 11    |                          LDA     DeathSfxTimer        
11207 | 39                      game.s   1386 | Code        | 11 |         |    2 | 00/683F : F0 0C       |                          BEQ     _ddNoSfx             
11208 | 39                      game.s   1387 | Code        | 11 |         |    3 | 00/6841 : CE E8 11    |                          DEC     DeathSfxTimer        
11209 | 39                      game.s   1388 | Code        | 11 |         |    2 | 00/6844 : D0 07       |                          BNE     _ddNoSfx             
11210 | 39                      game.s   1389 | Code        | 11 |         |    2 | 00/6846 : A9 91       |                          LDA     #<DeathTune          
11211 | 39                      game.s   1390 | Code        | 11 |         |    2 | 00/6848 : A2 E9       |                          LDX     #>DeathTune          
11212 | 39                      game.s   1391 | Code        | 11 |         |    3 | 00/684A : 20 00 09    |                          JSR     PlayMusic            
11213 | 39                      game.s   1392 | Code        | 11 |         |    3 | 00/684D : AD E7 11    | _ddNoSfx                 LDA     DeathTimer           
11214 | 39                      game.s   1393 | Code        | 11 |         |    2 | 00/6850 : F0 34       |                          BEQ     ozunid_63            
11215 | 39                      game.s   1394 | Code        | 11 |         |    3 | 00/6852 : CE E7 11    |                          DEC     DeathTimer           
11216 | 39                      game.s   1395 | Comment     | 11 |         |    0 | 00/6855               | * Animate: fall stumble 12/13/14 (3 ticks each), then FR_STUN1/2 loop
11217 | 39                      game.s   1396 | Code        | 11 |         |    3 | 00/6855 : AD E7 11    |                          LDA     DeathTimer           
11218 | 39                      game.s   1397 | Code        | 11 |         |    2 | 00/6858 : C9 39       |                          CMP     #{60}-3              
11219 | 39                      game.s   1398 | Code        | 11 |         |    2 | 00/685A : B0 1B       |                          BCS     _ddFr12              
11220 | 39                      game.s   1399 | Code        | 11 |         |    2 | 00/685C : C9 36       |                          CMP     #{60}-6              
11221 | 39                      game.s   1400 | Code        | 11 |         |    2 | 00/685E : B0 1C       |                          BCS     _ddFr13              
11222 | 39                      game.s   1401 | Code        | 11 |         |    2 | 00/6860 : C9 33       |                          CMP     #{60}-9              
11223 | 39                      game.s   1402 | Code        | 11 |         |    2 | 00/6862 : B0 1D       |                          BCS     _ddFr14              
11224 | 39                      game.s   1403 | Code        | 11 |         |    3 | 00/6864 : AD E7 11    |                          LDA     DeathTimer           
11225 | 39                      game.s   1404 | Code        | 11 |         |    2 | 00/6867 : 29 07       |                          AND     #$07                 
11226 | 39                      game.s   1405 | Code        | 11 |         |    2 | 00/6869 : C9 04       |                          CMP     #4                   
11227 | 39                      game.s   1406 | Code        | 11 |         |    2 | 00/686B : 90 05       |                          BCC     _ddFr2               
11228 | 39                      game.s   1407 | Code        | 11 |         |    2 | 00/686D : A9 0F       |                          LDA     #{15}                
11229 | 39                      game.s   1408 | Code        | 11 |         |    2 | 00/686F : 85 72       |                          STA     {$72}                
11230 | 39                      game.s   1409 | Code        | 11 |         |    1 | 00/6871 : 60          |                          RTS                          
11231 | 39                      game.s   1410 | Code        | 11 |         |    2 | 00/6872 : A9 10       | _ddFr2                   LDA     #{16}                
11232 | 39                      game.s   1411 | Code        | 11 |         |    2 | 00/6874 : 85 72       |                          STA     {$72}                
11233 | 39                      game.s   1412 | Code        | 11 |         |    1 | 00/6876 : 60          |                          RTS                          
11234 | 39                      game.s   1413 | Code        | 11 |         |    2 | 00/6877 : A9 0C       | _ddFr12                  LDA     #{12}                
11235 | 39                      game.s   1414 | Code        | 11 |         |    2 | 00/6879 : 85 72       |                          STA     {$72}                
11236 | 39                      game.s   1415 | Code        | 11 |         |    1 | 00/687B : 60          |                          RTS                          
11237 | 39                      game.s   1416 | Code        | 11 |         |    2 | 00/687C : A9 0D       | _ddFr13                  LDA     #13                  
11238 | 39                      game.s   1417 | Code        | 11 |         |    2 | 00/687E : 85 72       |                          STA     {$72}                
11239 | 39                      game.s   1418 | Code        | 11 |         |    1 | 00/6880 : 60          |                          RTS                          
11240 | 39                      game.s   1419 | Code        | 11 |         |    2 | 00/6881 : A9 0E       | _ddFr14                  LDA     #14                  
11241 | 39                      game.s   1420 | Code        | 11 |         |    2 | 00/6883 : 85 72       |                          STA     {$72}                
11242 | 39                      game.s   1421 | Code        | 11 |         |    1 | 00/6885 : 60          |                          RTS                          
11243 | 39                      game.s   1422 | Empty       | 11 |         |    0 | 00/6886               | ozunid_63                                             
11244 | 39                      game.s   1423 | Comment     | 11 |         |    0 | 00/6886               | * Timer expired - either game over or flag respawn for MainLoop.
11245 | 39                      game.s   1424 | Code        | 11 |         |    3 | 00/6886 : AD D8 11    |                          LDA     Lives                
11246 | 39                      game.s   1425 | Code        | 11 |         |    2 | 00/6889 : D0 03       |                          BNE     _ddResp              
11247 | 39                      game.s   1426 | Code        | 11 |         |    3 | 00/688B : 4C 90 69    |                          JMP     StartGameOver        
11248 | 39                      game.s   1427 | Code        | 11 |         |    3 | 00/688E : CE D8 11    | _ddResp                  DEC     Lives                
11249 | 39                      game.s   1428 | Code        | 11 |         |    2 | 00/6891 : A9 02       |                          LDA     #2                   
11250 | 39                      game.s   1429 | Code        | 11 |         |    3 | 00/6893 : 8D EC 11    |                          STA     LivesDirty           
11251 | 39                      game.s   1430 | Code        | 11 |         |    2 | 00/6896 : A9 01       |                          LDA     #1                   
11252 | 39                      game.s   1431 | Code        | 11 |         |    3 | 00/6898 : 8D E9 11    |                          STA     RespawnPending       
11253 | 39                      game.s   1432 | Code        | 11 |         |    1 | 00/689B : 60          |                          RTS                          
11254 | 39                      game.s   1433 | Empty       | 11 |         |    0 | 00/689C               |                                                       
11255 | 39                      game.s   1434 | Comment     | 11 |         |    0 | 00/689C               | *----------------------------------------------
11256 | 39                      game.s   1435 | Comment     | 11 |         |    0 | 00/689C               | * LootResetCarried - Restore the bag the player was carrying to
11257 | 39                      game.s   1436 | Comment     | 11 |         |    0 | 00/689C               | * its original spawn position and LST_GROUND. Does not touch any
11258 | 39                      game.s   1437 | Comment     | 11 |         |    0 | 00/689C               | * other bag state (LST_COLLECT stays in wheelbarrow, LST_GROUND
11259 | 39                      game.s   1438 | Comment     | 11 |         |    0 | 00/689C               | * items stay where they are).
11260 | 39                      game.s   1439 | Comment     | 11 |         |    0 | 00/689C               | *----------------------------------------------
11261 | 39                      game.s   1440 | Empty       | 11 |         |    0 | 00/689C               | LootResetCarried                                      
11262 | 39                      game.s   1441 | Code        | 11 |         |    2 | 00/689C : A5 6E       |                          LDA     {$6E}                
11263 | 39                      game.s   1442 | Code        | 11 |         |    2 | 00/689E : C9 FF       |                          CMP     #{$FF}               
11264 | 39                      game.s   1443 | Code        | 11 |         |    2 | 00/68A0 : F0 33       |                          BEQ     _lrcDone             
11265 | 39                      game.s   1444 | Code        | 11 |         |    1 | 00/68A2 : AA          |                          TAX                          
11266 | 39                      game.s   1445 | Code        | 11 |         |    3 | 00/68A3 : BD 95 73    |                          LDA     LootInitX,X          
11267 | 39                      game.s   1446 | Code        | 11 |         |    3 | 00/68A6 : 9D 75 73    |                          STA     LootTblX,X           
11268 | 39                      game.s   1447 | Code        | 11 |         |    3 | 00/68A9 : BD 99 73    |                          LDA     LootInitY,X          
11269 | 39                      game.s   1448 | Code        | 11 |         |    3 | 00/68AC : 9D 79 73    |                          STA     LootTblY,X           
11270 | 39                      game.s   1449 | Code        | 11 |         |    3 | 00/68AF : BD 9D 73    |                          LDA     LootInitMap,X        
11271 | 39                      game.s   1450 | Code        | 11 |         |    3 | 00/68B2 : 9D 7D 73    |                          STA     LootTblMap,X         
11272 | 39                      game.s   1451 | Code        | 11 |         |    2 | 00/68B5 : A9 00       |                          LDA     #{0}                 
11273 | 39                      game.s   1452 | Code        | 11 |         |    3 | 00/68B7 : 9D 81 73    |                          STA     LootTblSt,X          
11274 | 39                      game.s   1453 | Code        | 11 |         |    2 | 00/68BA : A9 FF       |                          LDA     #{$FF}               
11275 | 39                      game.s   1454 | Code        | 11 |         |    2 | 00/68BC : 85 6E       |                          STA     {$6E}                
11276 | 39                      game.s   1455 | Comment     | 11 |         |    0 | 00/68BE               | * Dying while armed: disarm so guards don't keep fleeing post-respawn.
11277 | 39                      game.s   1456 | Code        | 11 |         |    2 | 00/68BE : E0 03       |                          CPX     #{3}                 
11278 | 39                      game.s   1457 | Code        | 11 |         |    2 | 00/68C0 : D0 09       |                          BNE     _lrcNotPick          
11279 | 39                      game.s   1458 | Code        | 11 |         |    3 | 00/68C2 : 9C B3 11    |                          STZ     PlayerHasPickaxe     
11280 | 39                      game.s   1459 | Code        | 11 |         |    3 | 00/68C5 : 9C B4 11    |                          STZ     PickaxeTimer         
11281 | 39                      game.s   1460 | Code        | 11 |         |    3 | 00/68C8 : 9C B5 11    |                          STZ     PickaxeRespawnTmr    
11282 | 39                      game.s   1461 | Empty       | 11 |         |    0 | 00/68CB               | _lrcNotPick                                           
11283 | 39                      game.s   1462 | Code        | 11 |         |    3 | 00/68CB : 20 A1 73    |                          JSR     SetPlayerCarrySpeed  ; back to 1.0x on respawn
11284 | 39                      game.s   1463 | Code        | 11 |         |    3 | 00/68CE : 20 FB 65    |                          JSR     _WakeAllLoot         
11285 | 39                      game.s   1464 | Code        | 11 |         |    2 | 00/68D1 : A9 01       |                          LDA     #1                   
11286 | 39                      game.s   1465 | Code        | 11 |         |    2 | 00/68D3 : 85 6F       |                          STA     {$6F}                
11287 | 39                      game.s   1466 | Code        | 11 |         |    1 | 00/68D5 : 60          | _lrcDone                 RTS                          
11288 | 39                      game.s   1467 | Empty       | 11 |         |    0 | 00/68D6               |                                                       
11289 | 39                      game.s   1468 | Comment     | 11 |         |    0 | 00/68D6               | *----------------------------------------------
11290 | 39                      game.s   1469 | Comment     | 11 |         |    0 | 00/68D6               | * PlayerRespawn - Send player back to map 0 starting area.
11291 | 39                      game.s   1470 | Comment     | 11 |         |    0 | 00/68D6               | * Keeps bags already in wheelbarrow (LST_COLLECT); other entities
11292 | 39                      game.s   1471 | Comment     | 11 |         |    0 | 00/68D6               | * keep their current positions (cheap initial policy).
11293 | 39                      game.s   1472 | Comment     | 11 |         |    0 | 00/68D6               | *----------------------------------------------
11294 | 39                      game.s   1473 | Comment     | 11 |         |    0 | 00/68D6               | *----------------------------------------------
11295 | 39                      game.s   1474 | Comment     | 11 |         |    0 | 00/68D6               | * PlayerRespawn - Jump player back to map 0 starting position using
11296 | 39                      game.s   1475 | Comment     | 11 |         |    0 | 00/68D6               | * the same delta-draw / sprite-erase pipeline as DoMapTransition.
11297 | 39                      game.s   1476 | Comment     | 11 |         |    0 | 00/68D6               | * Only tiles that differ between the old and new map are repainted.
11298 | 39                      game.s   1477 | Comment     | 11 |         |    0 | 00/68D6               | *----------------------------------------------
11299 | 39                      game.s   1478 | Empty       | 11 |         |    0 | 00/68D6               | PlayerRespawn                                         
11300 | 39                      game.s   1479 | Code        | 11 |         |    3 | 00/68D6 : 20 9C 68    |                          JSR     LootResetCarried     
11301 | 39                      game.s   1480 | Code        | 11 |         |    3 | 00/68D9 : 20 68 09    |                          JSR     SaveElevState        ; persist elevator state on old map
11302 | 39                      game.s   1481 | Code        | 11 |         |    2 | 00/68DC : A5 1C       |                          LDA     {$1C}                
11303 | 39                      game.s   1482 | Code        | 11 |         |    2 | 00/68DE : 85 1D       |                          STA     {$1D}                
11304 | 39                      game.s   1483 | Code        | 11 |         |    2 | 00/68E0 : 64 1C       |                          STZ     {$1C}                
11305 | 39                      game.s   1484 | Code        | 11 |         |    2 | 00/68E2 : 64 29       |                          STZ     {$29}                
11306 | 39                      game.s   1485 | Code        | 11 |         |    2 | 00/68E4 : 64 36       |                          STZ     {$36}                ; release any WB grab
11307 | 39                      game.s   1486 | Code        | 11 |         |    3 | 00/68E6 : 20 C3 6A    |                          JSR     PlayerInit           ; X=63, Y=6, state=STAND, dirty=1
11308 | 39                      game.s   1487 | Code        | 11 |         |    3 | 00/68E9 : 20 76 6A    |                          JSR     ResetBonus           
11309 | 39                      game.s   1488 | Comment     | 11 |         |    0 | 00/68EC               | * Force all entities dirty so erase pass walks each one.
11310 | 39                      game.s   1489 | Code        | 11 |         |    3 | 00/68EC : 20 FB 65    |                          JSR     _WakeAllLoot         
11311 | 39                      game.s   1490 | Code        | 11 |         |    2 | 00/68EF : A9 01       |                          LDA     #1                   
11312 | 39                      game.s   1491 | Code        | 11 |         |    2 | 00/68F1 : 85 7C       |                          STA     {$7C}                
11313 | 39                      game.s   1492 | Code        | 11 |         |    2 | 00/68F3 : 85 37       |                          STA     {$37}                
11314 | 39                      game.s   1493 | Code        | 11 |         |    2 | 00/68F5 : 85 6F       |                          STA     {$6F}                
11315 | 39                      game.s   1494 | Code        | 11 |         |    2 | 00/68F7 : 85 E9       |                          STA     {$E9}                
11316 | 39                      game.s   1495 | Code        | 11 |         |    2 | 00/68F9 : 85 F3       |                          STA     {$F3}                
11317 | 39                      game.s   1496 | Code        | 11 |         |    2 | 00/68FB : 85 48       |                          STA     {$48}                
11318 | 39                      game.s   1497 | Comment     | 11 |         |    0 | 00/68FD               | *
11319 | 39                      game.s   1498 | Comment     | 11 |         |    0 | 00/68FD               | * PHASE 1: Erase old sprites from BOTH pages using OLD map tiles.
11320 | 39                      game.s   1499 | Comment     | 11 |         |    0 | 00/68FD               | *
11321 | 39                      game.s   1500 | Code        | 11 |         |    2 | 00/68FD : A5 1C       |                          LDA     {$1C}                
11322 | 39                      game.s   1501 | Code        | 11 |         |    1 | 00/68FF : 48          |                          PHA                          
11323 | 39                      game.s   1502 | Code        | 11 |         |    2 | 00/6900 : A5 1D       |                          LDA     {$1D}                
11324 | 39                      game.s   1503 | Code        | 11 |         |    2 | 00/6902 : 85 1C       |                          STA     {$1C}                
11325 | 39                      game.s   1504 | Code        | 11 |         |    3 | 00/6904 : 20 F4 65    |                          JSR     _FlipPageOfs         
11326 | 39                      game.s   1505 | Code        | 11 |         |    3 | 00/6907 : 20 82 63    |                          JSR     _EraseTransPage      
11327 | 39                      game.s   1506 | Code        | 11 |         |    3 | 00/690A : 20 F4 65    |                          JSR     _FlipPageOfs         
11328 | 39                      game.s   1507 | Code        | 11 |         |    3 | 00/690D : 20 82 63    |                          JSR     _EraseTransPage      
11329 | 39                      game.s   1508 | Code        | 11 |         |    1 | 00/6910 : 68          |                          PLA                          
11330 | 39                      game.s   1509 | Code        | 11 |         |    2 | 00/6911 : 85 1C       |                          STA     {$1C}                
11331 | 39                      game.s   1510 | Comment     | 11 |         |    0 | 00/6913               | *
11332 | 39                      game.s   1511 | Comment     | 11 |         |    0 | 00/6913               | * PHASE 2: Delta-draw new map + sprites on displayed page.
11333 | 39                      game.s   1512 | Comment     | 11 |         |    0 | 00/6913               | *
11334 | 39                      game.s   1513 | Code        | 11 |         |    3 | 00/6913 : 20 F3 64    |                          JSR     SetOldMapPtr         
11335 | 39                      game.s   1514 | Code        | 11 |         |    3 | 00/6916 : 20 E2 64    |                          JSR     SetMap               
11336 | 39                      game.s   1515 | Code        | 11 |         |    3 | 00/6919 : 20 F4 65    |                          JSR     _FlipPageOfs         
11337 | 39                      game.s   1516 | Code        | 11 |         |    3 | 00/691C : 20 00 D4    |                          JSR     DrawScreenDelta      
11338 | 39                      game.s   1517 | Code        | 11 |         |    3 | 00/691F : 20 8B 70    |                          JSR     SnapToGround         
11339 | 39                      game.s   1518 | Code        | 11 |         |    3 | 00/6922 : 20 B9 62    |                          JSR     InitPageOldPos       
11340 | 39                      game.s   1519 | Comment     | 11 |         |    0 | 00/6925               | * Reset per-page old-pos buffers for all movers so subsequent
11341 | 39                      game.s   1520 | Comment     | 11 |         |    0 | 00/6925               | * frames erase from the new positions, not from pre-death slots.
11342 | 39                      game.s   1521 | Comment     | 11 |         |    0 | 00/6925               | * Also reset guards + carts to their init positions so the player
11343 | 39                      game.s   1522 | Comment     | 11 |         |    0 | 00/6925               | * doesn't spawn on top of a hostile entity.
11344 | 39                      game.s   1523 | Code        | 11 |         |    3 | 00/6925 : 20 7B 72    |                          JSR     InitWBOldPos         
11345 | 39                      game.s   1524 | Code        | 11 |         |    3 | 00/6928 : 20 D4 73    |                          JSR     InitLootOldPos       
11346 | 39                      game.s   1525 | Code        | 11 |         |    3 | 00/692B : 20 C9 77    |                          JSR     CartInit             
11347 | 39                      game.s   1526 | Code        | 11 |         |    3 | 00/692E : 20 FA 77    |                          JSR     InitCartOldPos       
11348 | 39                      game.s   1527 | Code        | 11 |         |    2 | 00/6931 : 64 F2       |                          STZ     {$F2}                
11349 | 39                      game.s   1528 | Code        | 11 |         |    3 | 00/6933 : 20 86 09    |                          JSR     InitElevator         
11350 | 39                      game.s   1529 | Code        | 11 |         |    3 | 00/6936 : 20 BC 09    |                          JSR     InitElevOldPos       
11351 | 39                      game.s   1530 | Code        | 11 |         |    3 | 00/6939 : 20 4F 0C    |                          JSR     GuardInit            
11352 | 39                      game.s   1531 | Code        | 11 |         |    3 | 00/693C : 20 B2 0C    |                          JSR     InitGuardOldPos      
11353 | 39                      game.s   1532 | Code        | 11 |         |    3 | 00/693F : 20 1C 7B    |                          JSR     InitPrvCartOldPos    
11354 | 39                      game.s   1533 | Code        | 11 |         |    3 | 00/6942 : 20 1B 7C    |                          JSR     InitPrvLootOldPos    
11355 | 39                      game.s   1534 | Code        | 11 |         |    3 | 00/6945 : 20 E4 7C    |                          JSR     InitPrvWBOldPos      
11356 | 39                      game.s   1535 | Code        | 11 |         |    3 | 00/6948 : 20 46 0C    |                          JSR     InitPrvElevOldPos    
11357 | 39                      game.s   1536 | Code        | 11 |         |    3 | 00/694B : 20 C4 0C    |                          JSR     InitPrvGuardOldPos   
11358 | 39                      game.s   1537 | Code        | 11 |         |    3 | 00/694E : 20 FB 65    |                          JSR     _WakeAllLoot         
11359 | 39                      game.s   1538 | Code        | 11 |         |    2 | 00/6951 : A9 01       |                          LDA     #1                   
11360 | 39                      game.s   1539 | Code        | 11 |         |    2 | 00/6953 : 85 6F       |                          STA     {$6F}                
11361 | 39                      game.s   1540 | Code        | 11 |         |    2 | 00/6955 : 85 37       |                          STA     {$37}                
11362 | 39                      game.s   1541 | Code        | 11 |         |    3 | 00/6957 : 20 B6 63    |                          JSR     _DrawTransSprites    
11363 | 39                      game.s   1542 | Code        | 11 |         |    3 | 00/695A : 20 10 67    |                          JSR     DrawHUDAll           ; HUD drawn last on this page
11364 | 39                      game.s   1543 | Comment     | 11 |         |    0 | 00/695D               | *
11365 | 39                      game.s   1544 | Comment     | 11 |         |    0 | 00/695D               | * PHASE 3: Delta-draw + sprites on hidden page.
11366 | 39                      game.s   1545 | Comment     | 11 |         |    0 | 00/695D               | *
11367 | 39                      game.s   1546 | Code        | 11 |         |    3 | 00/695D : 20 F4 65    |                          JSR     _FlipPageOfs         
11368 | 39                      game.s   1547 | Code        | 11 |         |    3 | 00/6960 : 20 F3 64    |                          JSR     SetOldMapPtr         
11369 | 39                      game.s   1548 | Code        | 11 |         |    3 | 00/6963 : 20 E2 64    |                          JSR     SetMap               
11370 | 39                      game.s   1549 | Code        | 11 |         |    3 | 00/6966 : 20 00 D4    |                          JSR     DrawScreenDelta      
11371 | 39                      game.s   1550 | Code        | 11 |         |    3 | 00/6969 : 20 B6 63    |                          JSR     _DrawTransSprites    
11372 | 39                      game.s   1551 | Code        | 11 |         |    3 | 00/696C : 20 10 67    |                          JSR     DrawHUDAll           ; HUD drawn last on this page too
11373 | 39                      game.s   1552 | Code        | 11 |         |    3 | 00/696F : 20 0A 66    |                          JSR     _SleepAllLoot        
11374 | 39                      game.s   1553 | Code        | 11 |         |    2 | 00/6972 : 64 7C       |                          STZ     {$7C}                
11375 | 39                      game.s   1554 | Code        | 11 |         |    2 | 00/6974 : 64 37       |                          STZ     {$37}                
11376 | 39                      game.s   1555 | Code        | 11 |         |    2 | 00/6976 : 64 6F       |                          STZ     {$6F}                
11377 | 39                      game.s   1556 | Code        | 11 |         |    2 | 00/6978 : 64 E9       |                          STZ     {$E9}                
11378 | 39                      game.s   1557 | Code        | 11 |         |    2 | 00/697A : 64 48       |                          STZ     {$48}                
11379 | 39                      game.s   1558 | Code        | 11 |         |    3 | 00/697C : 9C EA 11    |                          STZ     ScoreDirty           ; we just painted HUD on both pages
11380 | 39                      game.s   1559 | Code        | 11 |         |    3 | 00/697F : 9C EB 11    |                          STZ     BonusDirty           
11381 | 39                      game.s   1560 | Code        | 11 |         |    3 | 00/6982 : 9C EC 11    |                          STZ     LivesDirty           
11382 | 39                      game.s   1561 | Code        | 11 |         |    2 | 00/6985 : A9 02       |                          LDA     #2                   
11383 | 39                      game.s   1562 | Code        | 11 |         |    2 | 00/6987 : 85 EC       |                          STA     {$EC}                
11384 | 39                      game.s   1563 | Code        | 11 |         |    2 | 00/6989 : 85 ED       |                          STA     {$ED}                
11385 | 39                      game.s   1564 | Code        | 11 |         |    2 | 00/698B : 85 49       |                          STA     {$49}                
11386 | 39                      game.s   1565 | Code        | 11 |         |    2 | 00/698D : 64 EE       |                          STZ     {$EE}                
11387 | 39                      game.s   1566 | Code        | 11 |         |    1 | 00/698F : 60          |                          RTS                          
11388 | 39                      game.s   1567 | Empty       | 11 |         |    0 | 00/6990               |                                                       
11389 | 39                      game.s   1568 | Comment     | 11 |         |    0 | 00/6990               | *----------------------------------------------
11390 | 39                      game.s   1569 | Comment     | 11 |         |    0 | 00/6990               | * StartGameOver - Freeze gameplay, draw "GAME OVER", arm timer.
11391 | 39                      game.s   1570 | Comment     | 11 |         |    0 | 00/6990               | *----------------------------------------------
11392 | 39                      game.s   1571 | Empty       | 11 |         |    0 | 00/6990               | StartGameOver                                         
11393 | 39                      game.s   1572 | Code        | 11 |         |    2 | 00/6990 : A9 01       |                          LDA     #1                   
11394 | 39                      game.s   1573 | Code        | 11 |         |    3 | 00/6992 : 8D E4 11    |                          STA     GameOverFlag         
11395 | 39                      game.s   1574 | Code        | 11 |         |    2 | 00/6995 : A9 5A       |                          LDA     #{90}                
11396 | 39                      game.s   1575 | Code        | 11 |         |    3 | 00/6997 : 8D E5 11    |                          STA     GameOverTimer        
11397 | 39                      game.s   1576 | Code        | 11 |         |    2 | 00/699A : 64 1E       |                          STZ     {$1E}                
11398 | 39                      game.s   1577 | Code        | 11 |         |    3 | 00/699C : 20 79 14    |                          JSR     DrawGameOver         
11399 | 39                      game.s   1578 | Code        | 11 |         |    2 | 00/699F : A9 20       |                          LDA     #$20                 
11400 | 39                      game.s   1579 | Code        | 11 |         |    2 | 00/69A1 : 85 1E       |                          STA     {$1E}                
11401 | 39                      game.s   1580 | Code        | 11 |         |    3 | 00/69A3 : 20 79 14    |                          JSR     DrawGameOver         
11402 | 39                      game.s   1581 | Code        | 11 |         |    2 | 00/69A6 : 64 1E       |                          STZ     {$1E}                
11403 | 39                      game.s   1582 | Code        | 11 |         |    1 | 00/69A8 : 60          |                          RTS                          
11404 | 39                      game.s   1583 | Empty       | 11 |         |    0 | 00/69A9               |                                                       
11405 | 39                      game.s   1584 | Comment     | 11 |         |    0 | 00/69A9               | *----------------------------------------------
11406 | 39                      game.s   1585 | Comment     | 11 |         |    0 | 00/69A9               | * HUD layout:
11407 | 39                      game.s   1586 | Comment     | 11 |         |    0 | 00/69A9               | *   Lives   - left-just.  scanline 0, leftmost icon at SprX=LIVES_LEFT_X.
11408 | 39                      game.s   1587 | Comment     | 11 |         |    0 | 00/69A9               | *             Step = 4 px (sprite is 3 px wide).
11409 | 39                      game.s   1588 | Comment     | 11 |         |    0 | 00/69A9               | *   Score   - centered,   text row 0, cols 14..21    (8 digits)
11410 | 39                      game.s   1589 | Comment     | 11 |         |    0 | 00/69A9               | *   Bonus   - upper right, text row 0, cols 28..31   (4 digits)
11411 | 39                      game.s   1590 | Comment     | 11 |         |    0 | 00/69A9               | *----------------------------------------------
11412 | 39                      game.s   1591 | Equivalence | 11 |         |    0 | 00/69A9               | LIVES_Y                  =       0                    
11413 | 39                      game.s   1592 | Equivalence | 11 |         |    0 | 00/69A9               | LIVES_STEP               =       4                    
11414 | 39                      game.s   1593 | Equivalence | 11 |         |    0 | 00/69A9               | LIVES_HEIGHT             =       12                   ; sprite 6 height
11415 | 39                      game.s   1594 | Equivalence | 11 |         |    0 | 00/69A9               | LIVES_LEFT_X             =       0                    ; leftmost icon X position
11416 | 39                      game.s   1595 | Equivalence | 11 |         |    0 | 00/69A9               | SCORE_ROW                =       0                    
11417 | 39                      game.s   1596 | Equivalence | 11 |         |    0 | 00/69A9               | SCORE_COL                =       14                   
11418 | 39                      game.s   1597 | Equivalence | 11 |         |    0 | 00/69A9               | BONUS_ROW                =       0                    
11419 | 39                      game.s   1598 | Equivalence | 11 |         |    0 | 00/69A9               | BONUS_COL                =       28                   ; col 28 -> DHGR byte 64 (right side)
11420 | 39                      game.s   1599 | Empty       | 11 |         |    0 | 00/69A9               |                                                       
11421 | 39                      game.s   1600 | Comment     | 11 |         |    0 | 00/69A9               | * HUD clear-region ranges (flat DHGR byte idx 0..79, even=aux odd=main).
11422 | 39                      game.s   1601 | Comment     | 11 |         |    0 | 00/69A9               | * Cleared before each redraw so OR-based text doesn't accumulate.
11423 | 39                      game.s   1602 | Comment     | 11 |         |    0 | 00/69A9               | * Each text col C writes 3 DHGR bytes starting at (16*C)/7:
11424 | 39                      game.s   1603 | Comment     | 11 |         |    0 | 00/69A9               | *   Lives  SprX 0..16 (5 icons) -> bytes 0..15
11425 | 39                      game.s   1604 | Comment     | 11 |         |    0 | 00/69A9               | *   Score  cols 14..21 -> byte start 32..48, last write = bytes 48,49,50 -> 32..50
11426 | 39                      game.s   1605 | Comment     | 11 |         |    0 | 00/69A9               | *   Bonus  cols 28..31 -> byte start 64..70, last write = bytes 70,71,72 -> 64..72
11427 | 39                      game.s   1606 | Equivalence | 11 |         |    0 | 00/69A9               | HUD_LIVES_X0             =       0                    
11428 | 39                      game.s   1607 | Equivalence | 11 |         |    0 | 00/69A9               | HUD_LIVES_X1             =       16                   
11429 | 39                      game.s   1608 | Equivalence | 11 |         |    0 | 00/69A9               | HUD_SCORE_X0             =       32                   
11430 | 39                      game.s   1609 | Equivalence | 11 |         |    0 | 00/69A9               | HUD_SCORE_X1             =       51                   ; exclusive; covers bytes 32..50 (all 8 digits)
11431 | 39                      game.s   1610 | Equivalence | 11 |         |    0 | 00/69A9               | HUD_BONUS_X0             =       64                   
11432 | 39                      game.s   1611 | Equivalence | 11 |         |    0 | 00/69A9               | HUD_BONUS_X1             =       73                   ; exclusive; covers bytes 64..72 (all 4 digits)
11433 | 39                      game.s   1612 | Equivalence | 11 |         |    0 | 00/69A9               | HUD_TEXT_Y1              =       8                    ; exclusive (8 scanlines)
11434 | 39                      game.s   1613 | Equivalence | 11 |         |    0 | 00/69A9               | HUD_LIVES_Y1             =       12                   ; exclusive (12 scanlines)
11435 | 39                      game.s   1614 | Empty       | 11 |         |    0 | 00/69A9               |                                                       
11436 | 39                      game.s   1615 | Equivalence | 11 |         |    0 | 00/69A9               | LivesCnt                 =       $0376                ; 1-byte scratch (in $0370 free region)
11437 | 39                      game.s   1616 | Empty       | 11 |         |    0 | 00/69A9               |                                                       
11438 | 39                      game.s   1617 | Comment     | 11 |         |    0 | 00/69A9               | * Fast HUD digit renderer state. Lives past ScoreDigitBytes
11439 | 39                      game.s   1618 | Comment     | 11 |         |    0 | 00/69A9               | * ($1600-$1DEF) in the main-RAM tail pool. The $0370 page is fully
11440 | 39                      game.s   1619 | Comment     | 11 |         |    0 | 00/69A9               | * booked by per-page old-position buffers (ElevOldP0/P1, GuardOldP0/P1,
11441 | 39                      game.s   1620 | Comment     | 11 |         |    0 | 00/69A9               | * PrvGuardOldP0/P1, PrvElevOldP0/P1) which the runtime rewrites every
11442 | 39                      game.s   1621 | Comment     | 11 |         |    0 | 00/69A9               | * frame - the memory map's "90 usable bytes" claim only applies before
11443 | 39                      game.s   1622 | Comment     | 11 |         |    0 | 00/69A9               | * those buffers were added.
11444 | 39                      game.s   1623 | Equivalence | 11 |         |    0 | 00/69A9               | BonusPosIdx              =       $1DF8                ; 4 bytes: per-pos table offset (no blanking)
11445 | 39                      game.s   1624 | Comment     | 11 |         |    0 | 00/69A9               | *              $1DFC-$1E0E    ; 19 bytes free (was HudScratch, retired with
11446 | 39                      game.s   1625 | Comment     | 11 |         |    0 | 00/69A9               | *                             ; Phase 3 ScoreMirror / BonusMirror per-scan buffers)
11447 | 39                      game.s   1626 | Equivalence | 11 |         |    0 | 00/69A9               | ScoreScanPtrL            =       $1E0F                ; 8 bytes: per-scan low byte into ScoreDigitBytes
11448 | 39                      game.s   1627 | Equivalence | 11 |         |    0 | 00/69A9               | ScoreScanPtrH            =       $1E17                ; 8 bytes
11449 | 39                      game.s   1628 | Equivalence | 11 |         |    0 | 00/69A9               | BonusScanPtrL            =       $1E1F                ; 8 bytes: per-scan low byte into BonusDigitBytes
11450 | 39                      game.s   1629 | Equivalence | 11 |         |    0 | 00/69A9               | BonusScanPtrH            =       $1E27                ; 8 bytes
11451 | 39                      game.s   1630 | Equivalence | 11 |         |    0 | 00/69A9               | ScorePosOfs              =       $1E35                ; 8 bytes: per-pos byte offset = (pos*10+digit)*3
11452 | 39                      game.s   1631 | Comment     | 11 |         |    0 | 00/69A9               |                                ; Precomputed once per draw in _DecodeScoreBCDAux so the
11453 | 39                      game.s   1632 | Comment     | 11 |         |    0 | 00/69A9               |                                ; scan loop replaces STA/ASL/CLC/ADC/TAY with LDY,X.
11454 | 39                      game.s   1633 | Equivalence | 11 |         |    0 | 00/69A9               | ScoreBCDPrev             =       $1E3D                ; 4 bytes: last-painted snapshot of ScoreBCDDsp.
11455 | 39                      game.s   1634 | Comment     | 11 |         |    0 | 00/69A9               |                                ; When it matches Dsp we skip the composite and just
11456 | 39                      game.s   1635 | Comment     | 11 |         |    0 | 00/69A9               |                                ; re-blit ScoreMirror to the current page. Seeded $FF
11457 | 39                      game.s   1636 | Comment     | 11 |         |    0 | 00/69A9               |                                ; at boot so the first draw always takes the dirty path.
11458 | 39                      game.s   1637 | Equivalence | 11 |         |    0 | 00/69A9               | ScoreMirror              =       $1E41                ; 152 bytes: transposed per-scan composite (19 cols x
11459 | 39                      game.s   1638 | Comment     | 11 |         |    0 | 00/69A9               |                                ; 8 scans). Access byte N of scan S with STA/LDA
11460 | 39                      game.s   1639 | Comment     | 11 |         |    0 | 00/69A9               |                                ; ScoreMirror+N*8,X where X = scan. Runs $1E41-$1ED8.
11461 | 39                      game.s   1640 | Equivalence | 11 |         |    0 | 00/69A9               | BonusBCDPrev             =       $1ED9                ; 2 bytes: same role as ScoreBCDPrev, for bonus.
11462 | 39                      game.s   1641 | Equivalence | 11 |         |    0 | 00/69A9               | BonusMirror              =       $1EDB                ; 72 bytes: 9 cols x 8 scans. $1EDB-$1F22.
11463 | 39                      game.s   1642 | Empty       | 11 |         |    0 | 00/69A9               |                                                       
11464 | 39                      game.s   1643 | Comment     | 11 |         |    0 | 00/69A9               | * Init-only builder scratch (also in main-RAM tail; only touched
11465 | 39                      game.s   1644 | Comment     | 11 |         |    0 | 00/69A9               | * during BuildHudDigitTables at boot). The init routine also uses
11466 | 39                      game.s   1645 | Comment     | 11 |         |    0 | 00/69A9               | * DstPtr ($06-$07) as a ZP pointer - free at init since the reloc
11467 | 39                      game.s   1646 | Comment     | 11 |         |    0 | 00/69A9               | * variables have finished their job.
11468 | 39                      game.s   1647 | Equivalence | 11 |         |    0 | 00/69A9               | BuildPos                 =       $1E2F                
11469 | 39                      game.s   1648 | Equivalence | 11 |         |    0 | 00/69A9               | BuildDigit               =       $1E30                
11470 | 39                      game.s   1649 | Equivalence | 11 |         |    0 | 00/69A9               | BuildScan                =       $1E31                
11471 | 39                      game.s   1650 | Equivalence | 11 |         |    0 | 00/69A9               | BuildShift               =       $1E32                
11472 | 39                      game.s   1651 | Equivalence | 11 |         |    0 | 00/69A9               | BuildEntryOfs            =       $1E33                
11473 | 39                      game.s   1652 | Equivalence | 11 |         |    0 | 00/69A9               | BuildGlyphOfs            =       $1E34                
11474 | 39                      game.s   1653 | Empty       | 11 |         |    0 | 00/69A9               |                                                       
11475 | 39                      game.s   1654 | Comment     | 11 |         |    0 | 00/69A9               | *----------------------------------------------
11476 | 39                      game.s   1655 | Comment     | 11 |         |    0 | 00/69A9               | * _ClearHUDBytes - Zero DHGR bytes [X0..X1) on scanlines [Y0..Y1).
11477 | 39                      game.s   1656 | Comment     | 11 |         |    0 | 00/69A9               | * Parameters passed in Temp1/Temp2/Temp3/Temp4.
11478 | 39                      game.s   1657 | Comment     | 11 |         |    0 | 00/69A9               | *   Temp1 = X0 (startByteIdx, 0..79; even=aux, odd=main)
11479 | 39                      game.s   1658 | Comment     | 11 |         |    0 | 00/69A9               | *   Temp2 = X1 (endByteIdx, exclusive)
11480 | 39                      game.s   1659 | Comment     | 11 |         |    0 | 00/69A9               | *   Temp3 = Y0 (startScan)
11481 | 39                      game.s   1660 | Comment     | 11 |         |    0 | 00/69A9               | *   Temp4 = Y1 (endScan, exclusive)
11482 | 39                      game.s   1661 | Comment     | 11 |         |    0 | 00/69A9               | * Honours PageOfs for active page. Leaves RAMWRTMAIN set.
11483 | 39                      game.s   1662 | Comment     | 11 |         |    0 | 00/69A9               | *----------------------------------------------
11484 | 39                      game.s   1663 | Empty       | 11 |         |    0 | 00/69A9               | _ClearHUDBytes                                        
11485 | 39                      game.s   1664 | Code        | 11 |         |    2 | 00/69A9 : A5 1A       | _rowLp                   LDA     {$1A}                
11486 | 39                      game.s   1665 | Code        | 11 |         |    2 | 00/69AB : C5 1B       |                          CMP     {$1B}                
11487 | 39                      game.s   1666 | Code        | 11 |         |    2 | 00/69AD : B0 2E       |                          BCS     ozunid_65            
11488 | 39                      game.s   1667 | Code        | 11 |         |    1 | 00/69AF : A8          |                          TAY                          
11489 | 39                      game.s   1668 | Code        | 11 |         |    3 | 00/69B0 : B9 26 81    |                          LDA     ScanAdrL,Y           
11490 | 39                      game.s   1669 | Code        | 11 |         |    2 | 00/69B3 : 85 00       |                          STA     {$00}                
11491 | 39                      game.s   1670 | Code        | 11 |         |    3 | 00/69B5 : B9 E6 81    |                          LDA     ScanAdrH,Y           
11492 | 39                      game.s   1671 | Code        | 11 |         |    1 | 00/69B8 : 18          |                          CLC                          
11493 | 39                      game.s   1672 | Code        | 11 |         |    2 | 00/69B9 : 65 1E       |                          ADC     {$1E}                
11494 | 39                      game.s   1673 | Code        | 11 |         |    2 | 00/69BB : 85 01       |                          STA     {$00}+1              
11495 | 39                      game.s   1674 | Code        | 11 |         |    2 | 00/69BD : A6 18       |                          LDX     {$18}                
11496 | 39                      game.s   1675 | Code        | 11 |         |    2 | 00/69BF : E4 19       | ozunid_64                CPX     {$19}                
11497 | 39                      game.s   1676 | Code        | 11 |         |    2 | 00/69C1 : B0 16       |                          BCS     _rowNext             
11498 | 39                      game.s   1677 | Code        | 11 |         |    1 | 00/69C3 : 8A          |                          TXA                          
11499 | 39                      game.s   1678 | Code        | 11 |         |    1 | 00/69C4 : 4A          |                          LSR                          ; C = X&1 (aux/main), A = col
11500 | 39                      game.s   1679 | Code        | 11 |         |    1 | 00/69C5 : A8          |                          TAY                          
11501 | 39                      game.s   1680 | Code        | 11 |         |    2 | 00/69C6 : A9 80       |                          LDA     #$80                 
11502 | 39                      game.s   1681 | Code        | 11 |         |    2 | 00/69C8 : B0 07       |                          BCS     _clrMain             
11503 | 39                      game.s   1682 | Code        | 11 |         |    3 | 00/69CA : 8D 05 C0    |                          STA     {$C005}              
11504 | 39                      game.s   1683 | Code        | 11 |         |    2 | 00/69CD : 91 00       |                          STA     ({$00}),Y            
11505 | 39                      game.s   1684 | Code        | 11 |         |    2 | 00/69CF : 80 05       |                          BRA     _byNext              
11506 | 39                      game.s   1685 | Code        | 11 |         |    3 | 00/69D1 : 8D 04 C0    | _clrMain                 STA     {$C004}              
11507 | 39                      game.s   1686 | Code        | 11 |         |    2 | 00/69D4 : 91 00       |                          STA     ({$00}),Y            
11508 | 39                      game.s   1687 | Code        | 11 |         |    1 | 00/69D6 : E8          | _byNext                  INX                          
11509 | 39                      game.s   1688 | Code        | 11 |         |    2 | 00/69D7 : 80 E6       |                          BRA     ozunid_64            
11510 | 39                      game.s   1689 | Code        | 11 |         |    2 | 00/69D9 : E6 1A       | _rowNext                 INC     {$1A}                
11511 | 39                      game.s   1690 | Code        | 11 |         |    2 | 00/69DB : 80 CC       |                          BRA     _rowLp               
11512 | 39                      game.s   1691 | Code        | 11 |         |    3 | 00/69DD : 8D 04 C0    | ozunid_65                STA     {$C004}              
11513 | 39                      game.s   1692 | Code        | 11 |         |    1 | 00/69E0 : 60          |                          RTS                          
11514 | 39                      game.s   1693 | Empty       | 11 |         |    0 | 00/69E1               |                                                       
11515 | 39                      game.s   1694 | Empty       | 11 |         |    0 | 00/69E1               | ClearBonusRegion                                      
11516 | 39                      game.s   1695 | Code        | 11 |         |    2 | 00/69E1 : A9 40       |                          LDA     #{64}                
11517 | 39                      game.s   1696 | Code        | 11 |         |    2 | 00/69E3 : 85 18       |                          STA     {$18}                
11518 | 39                      game.s   1697 | Code        | 11 |         |    2 | 00/69E5 : A9 49       |                          LDA     #{73}                
11519 | 39                      game.s   1698 | Code        | 11 |         |    2 | 00/69E7 : 85 19       |                          STA     {$19}                
11520 | 39                      game.s   1699 | Code        | 11 |         |    2 | 00/69E9 : A9 00       |                          LDA     #0                   
11521 | 39                      game.s   1700 | Code        | 11 |         |    2 | 00/69EB : 85 1A       |                          STA     {$1A}                
11522 | 39                      game.s   1701 | Code        | 11 |         |    2 | 00/69ED : A9 08       |                          LDA     #{8}                 
11523 | 39                      game.s   1702 | Code        | 11 |         |    2 | 00/69EF : 85 1B       |                          STA     {$1B}                
11524 | 39                      game.s   1703 | Code        | 11 |         |    3 | 00/69F1 : 4C A9 69    |                          JMP     _ClearHUDBytes       
11525 | 39                      game.s   1704 | Empty       | 11 |         |    0 | 00/69F4               |                                                       
11526 | 39                      game.s   1705 | Empty       | 11 |         |    0 | 00/69F4               | ClearScoreRegion                                      
11527 | 39                      game.s   1706 | Code        | 11 |         |    2 | 00/69F4 : A9 20       |                          LDA     #{32}                
11528 | 39                      game.s   1707 | Code        | 11 |         |    2 | 00/69F6 : 85 18       |                          STA     {$18}                
11529 | 39                      game.s   1708 | Code        | 11 |         |    2 | 00/69F8 : A9 33       |                          LDA     #{51}                
11530 | 39                      game.s   1709 | Code        | 11 |         |    2 | 00/69FA : 85 19       |                          STA     {$19}                
11531 | 39                      game.s   1710 | Code        | 11 |         |    2 | 00/69FC : A9 00       |                          LDA     #0                   
11532 | 39                      game.s   1711 | Code        | 11 |         |    2 | 00/69FE : 85 1A       |                          STA     {$1A}                
11533 | 39                      game.s   1712 | Code        | 11 |         |    2 | 00/6A00 : A9 08       |                          LDA     #{8}                 
11534 | 39                      game.s   1713 | Code        | 11 |         |    2 | 00/6A02 : 85 1B       |                          STA     {$1B}                
11535 | 39                      game.s   1714 | Code        | 11 |         |    3 | 00/6A04 : 4C A9 69    |                          JMP     _ClearHUDBytes       
11536 | 39                      game.s   1715 | Empty       | 11 |         |    0 | 00/6A07               |                                                       
11537 | 39                      game.s   1716 | Empty       | 11 |         |    0 | 00/6A07               | ClearLivesRegion                                      
11538 | 39                      game.s   1717 | Code        | 11 |         |    2 | 00/6A07 : A9 00       |                          LDA     #{0}                 
11539 | 39                      game.s   1718 | Code        | 11 |         |    2 | 00/6A09 : 85 18       |                          STA     {$18}                
11540 | 39                      game.s   1719 | Code        | 11 |         |    2 | 00/6A0B : A9 10       |                          LDA     #{16}                
11541 | 39                      game.s   1720 | Code        | 11 |         |    2 | 00/6A0D : 85 19       |                          STA     {$19}                
11542 | 39                      game.s   1721 | Code        | 11 |         |    2 | 00/6A0F : A9 00       |                          LDA     #0                   
11543 | 39                      game.s   1722 | Code        | 11 |         |    2 | 00/6A11 : 85 1A       |                          STA     {$1A}                
11544 | 39                      game.s   1723 | Code        | 11 |         |    2 | 00/6A13 : A9 0C       |                          LDA     #{12}                
11545 | 39                      game.s   1724 | Code        | 11 |         |    2 | 00/6A15 : 85 1B       |                          STA     {$1B}                
11546 | 39                      game.s   1725 | Code        | 11 |         |    3 | 00/6A17 : 4C A9 69    |                          JMP     _ClearHUDBytes       
11547 | 39                      game.s   1726 | Empty       | 11 |         |    0 | 00/6A1A               |                                                       
11548 | 39                      game.s   1727 | Comment     | 11 |         |    0 | 00/6A1A               | *----------------------------------------------
11549 | 39                      game.s   1728 | Comment     | 11 |         |    0 | 00/6A1A               | * ResetScoreAndLives - Start of a fresh game (called from TitleReset).
11550 | 39                      game.s   1729 | Comment     | 11 |         |    0 | 00/6A1A               | *----------------------------------------------
11551 | 39                      game.s   1730 | Empty       | 11 |         |    0 | 00/6A1A               | ResetScoreAndLives                                    
11552 | 39                      game.s   1731 | Code        | 11 |         |    3 | 00/6A1A : 9C D9 11    |                          STZ     ScoreBCD             
11553 | 39                      game.s   1732 | Code        | 11 |         |    3 | 00/6A1D : 9C DA 11    |                          STZ     ScoreBCD+1           
11554 | 39                      game.s   1733 | Code        | 11 |         |    3 | 00/6A20 : 9C DB 11    |                          STZ     ScoreBCD+2           
11555 | 39                      game.s   1734 | Code        | 11 |         |    3 | 00/6A23 : 9C DC 11    |                          STZ     ScoreBCD+3           
11556 | 39                      game.s   1735 | Code        | 11 |         |    2 | 00/6A26 : A9 02       |                          LDA     #2                   ; 2 reserves + 1 active = 3 lives
11557 | 39                      game.s   1736 | Code        | 11 |         |    3 | 00/6A28 : 8D D8 11    |                          STA     Lives                
11558 | 39                      game.s   1737 | Code        | 11 |         |    3 | 00/6A2B : 9C E4 11    |                          STZ     GameOverFlag         
11559 | 39                      game.s   1738 | Code        | 11 |         |    3 | 00/6A2E : 9C E5 11    |                          STZ     GameOverTimer        
11560 | 39                      game.s   1739 | Code        | 11 |         |    3 | 00/6A31 : 9C E6 11    |                          STZ     ExtraLifeFlag        
11561 | 39                      game.s   1740 | Code        | 11 |         |    3 | 00/6A34 : 9C E7 11    |                          STZ     DeathTimer           
11562 | 39                      game.s   1741 | Code        | 11 |         |    3 | 00/6A37 : 9C E8 11    |                          STZ     DeathSfxTimer        
11563 | 39                      game.s   1742 | Code        | 11 |         |    3 | 00/6A3A : 9C C9 11    |                          STZ     DiffLevel            ; scale difficulty from scratch each new game
11564 | 39                      game.s   1743 | Code        | 11 |         |    2 | 00/6A3D : A9 01       |                          LDA     #1                   ; reset active guard count to match DiffLevel=0
11565 | 39                      game.s   1744 | Code        | 11 |         |    3 | 00/6A3F : 8D C8 11    |                          STA     GuardActiveCount     
11566 | 39                      game.s   1745 | Code        | 11 |         |    2 | 00/6A42 : A9 66       |                          LDA     #{102}               ; guards start at 0.4x (slower than encumbered player)
11567 | 39                      game.s   1746 | Code        | 11 |         |    3 | 00/6A44 : 8D CA 11    |                          STA     GuardBaseSpeed       
11568 | 39                      game.s   1747 | Code        | 11 |         |    3 | 00/6A47 : 9C CD 11    |                          STZ     GuardSpdTier         ; no score thresholds crossed yet
11569 | 39                      game.s   1748 | Code        | 11 |         |    2 | 00/6A4A : A9 00       |                          LDA     #{$00}               ; player at 1.0x (no loot)
11570 | 39                      game.s   1749 | Code        | 11 |         |    3 | 00/6A4C : 8D CE 11    |                          STA     PlayerSpeedLo        
11571 | 39                      game.s   1750 | Code        | 11 |         |    2 | 00/6A4F : A9 01       |                          LDA     #{$01}               
11572 | 39                      game.s   1751 | Code        | 11 |         |    3 | 00/6A51 : 8D CF 11    |                          STA     PlayerSpeedHi        
11573 | 39                      game.s   1752 | Code        | 11 |         |    3 | 00/6A54 : 9C D0 11    |                          STZ     PlayerWalkAccLo      ; clear movement accumulators
11574 | 39                      game.s   1753 | Code        | 11 |         |    3 | 00/6A57 : 9C D1 11    |                          STZ     PlayerWalkAccHi      
11575 | 39                      game.s   1754 | Code        | 11 |         |    3 | 00/6A5A : 9C D2 11    |                          STZ     PlayerClimbAccLo     
11576 | 39                      game.s   1755 | Code        | 11 |         |    3 | 00/6A5D : 9C D3 11    |                          STZ     PlayerClimbAccHi     
11577 | 39                      game.s   1756 | Code        | 11 |         |    3 | 00/6A60 : 9C D4 11    |                          STZ     PlayerFallAccLo      
11578 | 39                      game.s   1757 | Code        | 11 |         |    3 | 00/6A63 : 9C D5 11    |                          STZ     PlayerFallAccHi      
11579 | 39                      game.s   1758 | Code        | 11 |         |    3 | 00/6A66 : 9C D6 11    |                          STZ     ElevAccLo            
11580 | 39                      game.s   1759 | Code        | 11 |         |    3 | 00/6A69 : 9C D7 11    |                          STZ     ElevAccHi            
11581 | 39                      game.s   1760 | Code        | 11 |         |    2 | 00/6A6C : A9 96       |                          LDA     #150                 
11582 | 39                      game.s   1761 | Code        | 11 |         |    3 | 00/6A6E : 8D CB 11    |                          STA     StunDuration         
11583 | 39                      game.s   1762 | Code        | 11 |         |    2 | 00/6A71 : A9 01       |                          LDA     #$01                 ; round 1
11584 | 39                      game.s   1763 | Code        | 11 |         |    3 | 00/6A73 : 8D CC 11    |                          STA     RoundNumBCD          
11585 | 39                      game.s   1764 | Comment     | 11 |         |    0 | 00/6A76               | *        fall through to ResetBonus (which sets BonusDirty),
11586 | 39                      game.s   1765 | Comment     | 11 |         |    0 | 00/6A76               | *        then SetHUDAllDirty below covers score + lives.
11587 | 39                      game.s   1766 | Empty       | 11 |         |    0 | 00/6A76               |                                                       
11588 | 39                      game.s   1767 | Comment     | 11 |         |    0 | 00/6A76               | *----------------------------------------------
11589 | 39                      game.s   1768 | Comment     | 11 |         |    0 | 00/6A76               | * ResetBonus - Reset bonus counter to start value.
11590 | 39                      game.s   1769 | Comment     | 11 |         |    0 | 00/6A76               | * Called on level start, bag deposit, and respawn.
11591 | 39                      game.s   1770 | Comment     | 11 |         |    0 | 00/6A76               | *----------------------------------------------
11592 | 39                      game.s   1771 | Empty       | 11 |         |    0 | 00/6A76               | ResetBonus                                            
11593 | 39                      game.s   1772 | Code        | 11 |         |    2 | 00/6A76 : A9 00       |                          LDA     #{$00}               
11594 | 39                      game.s   1773 | Code        | 11 |         |    3 | 00/6A78 : 8D E1 11    |                          STA     BonusBCD             
11595 | 39                      game.s   1774 | Code        | 11 |         |    2 | 00/6A7B : A9 50       |                          LDA     #{$50}               
11596 | 39                      game.s   1775 | Code        | 11 |         |    3 | 00/6A7D : 8D E2 11    |                          STA     BonusBCD+1           
11597 | 39                      game.s   1776 | Code        | 11 |         |    3 | 00/6A80 : 9C E3 11    |                          STZ     BonusTickCtr         
11598 | 39                      game.s   1777 | Code        | 11 |         |    3 | 00/6A83 : 20 F7 66    |                          JSR     _SnapScoreBCD        
11599 | 39                      game.s   1778 | Code        | 11 |         |    2 | 00/6A86 : A9 02       |                          LDA     #2                   
11600 | 39                      game.s   1779 | Code        | 11 |         |    3 | 00/6A88 : 8D EA 11    |                          STA     ScoreDirty           ; will catch both pages
11601 | 39                      game.s   1780 | Code        | 11 |         |    3 | 00/6A8B : 8D EB 11    |                          STA     BonusDirty           
11602 | 39                      game.s   1781 | Code        | 11 |         |    3 | 00/6A8E : 8D EC 11    |                          STA     LivesDirty           
11603 | 39                      game.s   1782 | Code        | 11 |         |    1 | 00/6A91 : 60          |                          RTS                          
11604 | 39                      game.s   1783 | Empty       | 11 |         |    0 | 00/6A92               |                                                       
11605 | 39                      game.s   1784 | Comment     | 11 |         |    0 | 00/6A92               | *----------------------------------------------
11606 | 39                      game.s   1785 | Empty       | 11 |         |    0 | 00/6A92               | Quit                                                  
11607 | 39                      game.s   1786 | Code        | 11 |         |    3 | 00/6A92 : 8D 5F C0    |                          STA     {$C05F}              
11608 | 39                      game.s   1787 | Code        | 11 |         |    3 | 00/6A95 : 8D 51 C0    |                          STA     {$C051}              
11609 | 39                      game.s   1788 | Code        | 11 |         |    3 | 00/6A98 : 8D 56 C0    |                          STA     {$C056}              
11610 | 39                      game.s   1789 | Code        | 11 |         |    3 | 00/6A9B : 8D 52 C0    |                          STA     {$C052}              
11611 | 39                      game.s   1790 | Code        | 11 |         |    3 | 00/6A9E : 8D 54 C0    |                          STA     {$C054}              
11612 | 39                      game.s   1791 | Code        | 11 |         |    3 | 00/6AA1 : 8D 00 C0    |                          STA     {$C000}              
11613 | 39                      game.s   1792 | Code        | 11 |         |    3 | 00/6AA4 : 8D 0C C0    |                          STA     {$C00C}              
11614 | 39                      game.s   1793 | Code        | 11 |         |    3 | 00/6AA7 : 8D 02 C0    |                          STA     {$C002}              
11615 | 39                      game.s   1794 | Code        | 11 |         |    3 | 00/6AAA : 8D 04 C0    |                          STA     {$C004}              
11616 | 39                      game.s   1795 | Code        | 11 |         |    3 | 00/6AAD : 8D 08 C0    |                          STA     {$C008}              
11617 | 39                      game.s   1796 | Comment     | 11 |         |    0 | 00/6AB0               | * Restore LC bank 2 for ProDOS (read-enabled, write-protected)
11618 | 39                      game.s   1797 | Code        | 11 |         |    3 | 00/6AB0 : AD 80 C0    |                          LDA     $C080                
11619 | 39                      game.s   1798 | Code        | 11 |         |    3 | 00/6AB3 : AD 80 C0    |                          LDA     $C080                
11620 | 39                      game.s   1799 | Code        | 11 |         |    3 | 00/6AB6 : 20 00 BF    |                          JSR     $BF00                
11621 | 39                      game.s   1800 | Data        | 11 |         |    1 | 00/6AB9 : 65          |                          DFB     $65                  
11622 | 39                      game.s   1801 | Data        | 11 |         |    2 | 00/6ABA : BC 6A       |                          DA      QuitParms            
11623 | 39                      game.s   1802 | Empty       | 11 |         |    0 | 00/6ABC               | QuitParms                                             
11624 | 39                      game.s   1803 | Data        | 11 |         |    2 | 00/6ABC : 04 00       |                          DFB     4,0                  
11625 | 39                      game.s   1804 | Data        | 11 |         |    2 | 00/6ABE : 00 00       |                          DA      $0000                
11626 | 39                      game.s   1805 | Data        | 11 |         |    1 | 00/6AC0 : 00          |                          DFB     0                    
11627 | 39                      game.s   1806 | Data        | 11 |         |    2 | 00/6AC1 : 00 00       |                          DA      $0000                
11628 | 39                      game.s   1807 | Empty       | 11 |         |    0 | 00/6AC3               |                                                       
11629 | 39                      game.s   1808 | Empty       | 11 |         |    0 | 00/6AC3               |                                                       
11630 |  1                    bagman.s    124 | Directive   | 11 |         |    0 | 00/6AC3               |                          PUT     player.s             
11631 | 40                    player.s      1 | Comment     | 11 |         |    0 | 00/6AC3               | *
11632 | 40                    player.s      2 | Comment     | 11 |         |    0 | 00/6AC3               | * Bagman - Player Movement and Control
11633 | 40                    player.s      3 | Comment     | 11 |         |    0 | 00/6AC3               | *
11634 | 40                    player.s      4 | Comment     | 11 |         |    0 | 00/6AC3               | * Player sprite is 7x12 pixels (2 tile rows tall)
11635 | 40                    player.s      5 | Comment     | 11 |         |    0 | 00/6AC3               | * Tile grid is 20 cols x 32 rows, tiles are 7x6 pixels
11636 | 40                    player.s      6 | Comment     | 11 |         |    0 | 00/6AC3               | * Arrow keys: left=$88, right=$95, up=$8B, down=$8A
11637 | 40                    player.s      7 | Comment     | 11 |         |    0 | 00/6AC3               | *
11638 | 40                    player.s      8 | Empty       | 11 |         |    0 | 00/6AC3               |                                                       
11639 | 40                    player.s      9 | Comment     | 11 |         |    0 | 00/6AC3               | * Player states
11640 | 40                    player.s     10 | Equivalence | 11 |         |    0 | 00/6AC3               | ST_STAND                 =       0                    
11641 | 40                    player.s     11 | Equivalence | 11 |         |    0 | 00/6AC3               | ST_WALK                  =       1                    
11642 | 40                    player.s     12 | Equivalence | 11 |         |    0 | 00/6AC3               | ST_CLIMB                 =       2                    
11643 | 40                    player.s     13 | Equivalence | 11 |         |    0 | 00/6AC3               | ST_FALL                  =       3                    
11644 | 40                    player.s     14 | Equivalence | 11 |         |    0 | 00/6AC3               | ST_STUN                  =       4                    
11645 | 40                    player.s     15 | Equivalence | 11 |         |    0 | 00/6AC3               | ST_HANG                  =       5                    
11646 | 40                    player.s     16 | Equivalence | 11 |         |    0 | 00/6AC3               | ST_RIDE                  =       6                    
11647 | 40                    player.s     17 | Equivalence | 11 |         |    0 | 00/6AC3               | ST_DEAD                  =       7                    
11648 | 40                    player.s     18 | Empty       | 11 |         |    0 | 00/6AC3               |                                                       
11649 | 40                    player.s     19 | Comment     | 11 |         |    0 | 00/6AC3               | * Input flag bits
11650 | 40                    player.s     20 | Equivalence | 11 |         |    0 | 00/6AC3               | INP_RIGHT                =       $01                  
11651 | 40                    player.s     21 | Equivalence | 11 |         |    0 | 00/6AC3               | INP_LEFT                 =       $02                  
11652 | 40                    player.s     22 | Equivalence | 11 |         |    0 | 00/6AC3               | INP_UP                   =       $04                  
11653 | 40                    player.s     23 | Equivalence | 11 |         |    0 | 00/6AC3               | INP_DOWN                 =       $08                  
11654 | 40                    player.s     24 | Empty       | 11 |         |    0 | 00/6AC3               |                                                       
11655 | 40                    player.s     25 | Comment     | 11 |         |    0 | 00/6AC3               | * Sprite frames
11656 | 40                    player.s     26 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_STAND                 =       0                    
11657 | 40                    player.s     27 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_WALK1                 =       1                    
11658 | 40                    player.s     28 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_WALK2                 =       2                    
11659 | 40                    player.s     29 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_CLIMB1                =       3                    
11660 | 40                    player.s     30 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_CLIMB2                =       4                    
11661 | 40                    player.s     31 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_FALL                  =       12                   
11662 | 40                    player.s     32 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_WB                    =       20                   ; wheelbarrow frame (right)
11663 | 40                    player.s     33 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_WB2                   =       21                   ; wheelbarrow frame (left)
11664 | 40                    player.s     34 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_LOOT_Y                =       22                   ; yellow bag on ground
11665 | 40                    player.s     35 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_LOOT_YC               =       23                   ; yellow bag carried
11666 | 40                    player.s     36 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_LOOT_B                =       28                   ; blue bag on ground
11667 | 40                    player.s     37 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_LOOT_BC               =       29                   ; blue bag carried
11668 | 40                    player.s     38 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_GRAB                  =       8                    ; grab bar / pull up
11669 | 40                    player.s     39 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_HANG                  =       9                    ; hanging on bar
11670 | 40                    player.s     40 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_CART_RIDE             =       11                   ; mine cart with player inside
11671 | 40                    player.s     41 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_STUN1                 =       15                   ; stunned loop frame 1
11672 | 40                    player.s     42 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_STUN2                 =       16                   ; stunned loop frame 2
11673 | 40                    player.s     43 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_LOOT_YCL              =       38                   ; yellow bag carried (left, hflip of 23)
11674 | 40                    player.s     44 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_LOOT_BCL              =       39                   ; blue bag carried (left, hflip of 29)
11675 | 40                    player.s     45 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_WALK1_L               =       5                    ; walk frame 1 (left, hflip of 1)
11676 | 40                    player.s     46 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_WALK2_L               =       7                    ; walk frame 2 (left, hflip of 2)
11677 | 40                    player.s     47 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_PICK_G                =       27                   ; pickaxe on ground
11678 | 40                    player.s     48 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_PICK_C1               =       25                   ; pickaxe carried right, anim frame 1
11679 | 40                    player.s     49 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_PICK_C2               =       26                   ; pickaxe carried right, anim frame 2
11680 | 40                    player.s     50 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_PICK_CL1              =       40                   ; pickaxe carried left, anim frame 1
11681 | 40                    player.s     51 | Equivalence | 11 |         |    0 | 00/6AC3               | FR_PICK_CL2              =       41                   ; pickaxe carried left, anim frame 2
11682 | 40                    player.s     52 | Empty       | 11 |         |    0 | 00/6AC3               |                                                       
11683 | 40                    player.s     53 | Comment     | 11 |         |    0 | 00/6AC3               | * Apple IIe arrow key codes (with bit 7)
11684 | 40                    player.s     54 | Equivalence | 11 |         |    0 | 00/6AC3               | KEY_LEFT                 =       $88                  
11685 | 40                    player.s     55 | Equivalence | 11 |         |    0 | 00/6AC3               | KEY_RIGHT                =       $95                  
11686 | 40                    player.s     56 | Equivalence | 11 |         |    0 | 00/6AC3               | KEY_UP                   =       $8B                  
11687 | 40                    player.s     57 | Equivalence | 11 |         |    0 | 00/6AC3               | KEY_DOWN                 =       $8A                  
11688 | 40                    player.s     58 | Empty       | 11 |         |    0 | 00/6AC3               |                                                       
11689 | 40                    player.s     59 | Comment     | 11 |         |    0 | 00/6AC3               | * Movement constants
11690 | 40                    player.s     60 | Equivalence | 11 |         |    0 | 00/6AC3               | PLAYER_XMIN              =       21                   ; left boundary (column 3)
11691 | 40                    player.s     61 | Equivalence | 11 |         |    0 | 00/6AC3               | PLAYER_XMAX              =       128                  ; right boundary (column 18)
11692 | 40                    player.s     62 | Equivalence | 11 |         |    0 | 00/6AC3               | PLAYER_YMIN              =       0                    
11693 | 40                    player.s     63 | Equivalence | 11 |         |    0 | 00/6AC3               | PLAYER_YMAX              =       186                  
11694 | 40                    player.s     64 | Equivalence | 11 |         |    0 | 00/6AC3               | FATAL_FALL               =       20                   ; pixels of fall before death (~2 character heights)
11695 | 40                    player.s     65 | Comment     | 11 |         |    0 | 00/6AC3               | * Map transition edges (inner edge of 3-column solid border)
11696 | 40                    player.s     66 | Equivalence | 11 |         |    0 | 00/6AC3               | EDGE_XLEFT               =       22                   ; blocked at left border wall (col 2)
11697 | 40                    player.s     67 | Equivalence | 11 |         |    0 | 00/6AC3               | EDGE_XRIGHT              =       112                  ; blocked at right border wall (col 17)
11698 | 40                    player.s     68 | Empty       | 11 |         |    0 | 00/6AC3               |                                                       
11699 | 40                    player.s     69 | Comment     | 11 |         |    0 | 00/6AC3               | *----------------------------------------------
11700 | 40                    player.s     70 | Comment     | 11 |         |    0 | 00/6AC3               | * PlayerInit - Set player starting position
11701 | 40                    player.s     71 | Comment     | 11 |         |    0 | 00/6AC3               | *----------------------------------------------
11702 | 40                    player.s     72 | Empty       | 11 |         |    0 | 00/6AC3               | PlayerInit                                            
11703 | 40                    player.s     73 | Code        | 11 |         |    2 | 00/6AC3 : A9 3F       |                          LDA     #63                  ; center-ish X
11704 | 40                    player.s     74 | Code        | 11 |         |    2 | 00/6AC5 : 85 70       |                          STA     {$70}                
11705 | 40                    player.s     75 | Code        | 11 |         |    2 | 00/6AC7 : 85 77       |                          STA     {$77}                
11706 | 40                    player.s     76 | Code        | 11 |         |    2 | 00/6AC9 : A9 0C       |                          LDA     #12                  ; top platform Y (shifted +6 for map offset)
11707 | 40                    player.s     77 | Code        | 11 |         |    2 | 00/6ACB : 85 71       |                          STA     {$71}                
11708 | 40                    player.s     78 | Code        | 11 |         |    2 | 00/6ACD : 85 78       |                          STA     {$78}                
11709 | 40                    player.s     79 | Code        | 11 |         |    2 | 00/6ACF : A9 00       |                          LDA     #{0}                 
11710 | 40                    player.s     80 | Code        | 11 |         |    2 | 00/6AD1 : 85 72       |                          STA     {$72}                
11711 | 40                    player.s     81 | Code        | 11 |         |    2 | 00/6AD3 : 85 79       |                          STA     {$79}                
11712 | 40                    player.s     82 | Code        | 11 |         |    2 | 00/6AD5 : 64 73       |                          STZ     {$73}                
11713 | 40                    player.s     83 | Code        | 11 |         |    2 | 00/6AD7 : 64 74       |                          STZ     {$74}                
11714 | 40                    player.s     84 | Code        | 11 |         |    2 | 00/6AD9 : 64 75       |                          STZ     {$75}                
11715 | 40                    player.s     85 | Code        | 11 |         |    2 | 00/6ADB : 64 76       |                          STZ     {$76}                
11716 | 40                    player.s     86 | Code        | 11 |         |    2 | 00/6ADD : 64 7A       |                          STZ     {$7A}                
11717 | 40                    player.s     87 | Code        | 11 |         |    3 | 00/6ADF : 20 8B 70    |                          JSR     SnapToGround         ; snap to actual surface
11718 | 40                    player.s     88 | Code        | 11 |         |    2 | 00/6AE2 : A5 71       |                          LDA     {$71}                
11719 | 40                    player.s     89 | Code        | 11 |         |    2 | 00/6AE4 : 85 78       |                          STA     {$78}                ; update old pos to match
11720 | 40                    player.s     90 | Code        | 11 |         |    2 | 00/6AE6 : A9 01       |                          LDA     #1                   
11721 | 40                    player.s     91 | Code        | 11 |         |    2 | 00/6AE8 : 85 7C       |                          STA     {$7C}                
11722 | 40                    player.s     92 | Code        | 11 |         |    1 | 00/6AEA : 60          |                          RTS                          
11723 | 40                    player.s     93 | Empty       | 11 |         |    0 | 00/6AEB               |                                                       
11724 | 40                    player.s     94 | Comment     | 11 |         |    0 | 00/6AEB               | *----------------------------------------------
11725 | 40                    player.s     95 | Comment     | 11 |         |    0 | 00/6AEB               | * ReadInput - Poll keyboard, set InputFlags + LastKey
11726 | 40                    player.s     96 | Comment     | 11 |         |    0 | 00/6AEB               | *
11727 | 40                    player.s     97 | Comment     | 11 |         |    0 | 00/6AEB               | * Arrow key = set/change direction immediately
11728 | 40                    player.s     98 | Comment     | 11 |         |    0 | 00/6AEB               | * Non-arrow key = stop movement
11729 | 40                    player.s     99 | Comment     | 11 |         |    0 | 00/6AEB               | * No fresh key + key still held = keep current direction (auto-repeat)
11730 | 40                    player.s    100 | Comment     | 11 |         |    0 | 00/6AEB               | * No fresh key + no key held ($C010 bit 7 = AKD) = clear movement
11731 | 40                    player.s    101 | Comment     | 11 |         |    0 | 00/6AEB               | * Strobe cleared every frame to flush stale auto-repeat
11732 | 40                    player.s    102 | Comment     | 11 |         |    0 | 00/6AEB               | *----------------------------------------------
11733 | 40                    player.s    103 | Empty       | 11 |         |    0 | 00/6AEB               | ReadInput                                             
11734 | 40                    player.s    104 | Code        | 11 |         |    2 | 00/6AEB : 64 7F       |                          STZ     {$7F}                
11735 | 40                    player.s    105 | Code        | 11 |         |    3 | 00/6AED : AD 00 C0    |                          LDA     $C000                
11736 | 40                    player.s    106 | Code        | 11 |         |    3 | 00/6AF0 : 8D 10 C0    |                          STA     $C010                ; always clear strobe
11737 | 40                    player.s    107 | Code        | 11 |         |    2 | 00/6AF3 : 10 3F       |                          BPL     ozunid_66            ; bit 7 clear = no fresh keystroke
11738 | 40                    player.s    108 | Empty       | 11 |         |    0 | 00/6AF5               |                                                       
11739 | 40                    player.s    109 | Code        | 11 |         |    2 | 00/6AF5 : 85 7B       |                          STA     {$7B}                
11740 | 40                    player.s    110 | Code        | 11 |         |    2 | 00/6AF7 : A9 01       |                          LDA     #1                   
11741 | 40                    player.s    111 | Code        | 11 |         |    2 | 00/6AF9 : 85 7F       |                          STA     {$7F}                
11742 | 40                    player.s    112 | Code        | 11 |         |    2 | 00/6AFB : A5 7B       |                          LDA     {$7B}                
11743 | 40                    player.s    113 | Empty       | 11 |         |    0 | 00/6AFD               |                                                       
11744 | 40                    player.s    114 | Code        | 11 |         |    2 | 00/6AFD : C9 95       |                          CMP     #{$95}               
11745 | 40                    player.s    115 | Code        | 11 |         |    2 | 00/6AFF : D0 05       |                          BNE     _notR                
11746 | 40                    player.s    116 | Code        | 11 |         |    2 | 00/6B01 : A9 01       |                          LDA     #{$01}               
11747 | 40                    player.s    117 | Code        | 11 |         |    2 | 00/6B03 : 85 76       |                          STA     {$76}                
11748 | 40                    player.s    118 | Code        | 11 |         |    1 | 00/6B05 : 60          |                          RTS                          
11749 | 40                    player.s    119 | Code        | 11 |         |    2 | 00/6B06 : C9 88       | _notR                    CMP     #{$88}               
11750 | 40                    player.s    120 | Code        | 11 |         |    2 | 00/6B08 : D0 05       |                          BNE     _notL                
11751 | 40                    player.s    121 | Code        | 11 |         |    2 | 00/6B0A : A9 02       |                          LDA     #{$02}               
11752 | 40                    player.s    122 | Code        | 11 |         |    2 | 00/6B0C : 85 76       |                          STA     {$76}                
11753 | 40                    player.s    123 | Code        | 11 |         |    1 | 00/6B0E : 60          |                          RTS                          
11754 | 40                    player.s    124 | Code        | 11 |         |    2 | 00/6B0F : C9 8B       | _notL                    CMP     #{$8B}               
11755 | 40                    player.s    125 | Code        | 11 |         |    2 | 00/6B11 : F0 08       |                          BEQ     _doUp                
11756 | 40                    player.s    126 | Code        | 11 |         |    2 | 00/6B13 : C9 C1       |                          CMP     #$C1                 ; 'A'
11757 | 40                    player.s    127 | Code        | 11 |         |    2 | 00/6B15 : F0 04       |                          BEQ     _doUp                
11758 | 40                    player.s    128 | Code        | 11 |         |    2 | 00/6B17 : C9 E1       |                          CMP     #$E1                 ; 'a'
11759 | 40                    player.s    129 | Code        | 11 |         |    2 | 00/6B19 : D0 05       |                          BNE     _notU                
11760 | 40                    player.s    130 | Code        | 11 |         |    2 | 00/6B1B : A9 04       | _doUp                    LDA     #{$04}               
11761 | 40                    player.s    131 | Code        | 11 |         |    2 | 00/6B1D : 85 76       |                          STA     {$76}                
11762 | 40                    player.s    132 | Code        | 11 |         |    1 | 00/6B1F : 60          |                          RTS                          
11763 | 40                    player.s    133 | Code        | 11 |         |    2 | 00/6B20 : C9 8A       | _notU                    CMP     #{$8A}               
11764 | 40                    player.s    134 | Code        | 11 |         |    2 | 00/6B22 : F0 08       |                          BEQ     _doDn                
11765 | 40                    player.s    135 | Code        | 11 |         |    2 | 00/6B24 : C9 DA       |                          CMP     #$DA                 ; 'Z'
11766 | 40                    player.s    136 | Code        | 11 |         |    2 | 00/6B26 : F0 04       |                          BEQ     _doDn                
11767 | 40                    player.s    137 | Code        | 11 |         |    2 | 00/6B28 : C9 FA       |                          CMP     #$FA                 ; 'z'
11768 | 40                    player.s    138 | Code        | 11 |         |    2 | 00/6B2A : D0 05       |                          BNE     _notArrow            
11769 | 40                    player.s    139 | Code        | 11 |         |    2 | 00/6B2C : A9 08       | _doDn                    LDA     #{$08}               
11770 | 40                    player.s    140 | Code        | 11 |         |    2 | 00/6B2E : 85 76       |                          STA     {$76}                
11771 | 40                    player.s    141 | Code        | 11 |         |    1 | 00/6B30 : 60          |                          RTS                          
11772 | 40                    player.s    142 | Empty       | 11 |         |    0 | 00/6B31               |                                                       
11773 | 40                    player.s    143 | Empty       | 11 |         |    0 | 00/6B31               | _notArrow                                             
11774 | 40                    player.s    144 | Comment     | 11 |         |    0 | 00/6B31               | * Unknown key - stop movement
11775 | 40                    player.s    145 | Code        | 11 |         |    2 | 00/6B31 : 64 76       |                          STZ     {$76}                
11776 | 40                    player.s    146 | Code        | 11 |         |    1 | 00/6B33 : 60          |                          RTS                          
11777 | 40                    player.s    147 | Empty       | 11 |         |    0 | 00/6B34               |                                                       
11778 | 40                    player.s    148 | Comment     | 11 |         |    0 | 00/6B34               | * No fresh keystroke this frame. Use //e any-key-down bit at $C010
11779 | 40                    player.s    149 | Comment     | 11 |         |    0 | 00/6B34               | * to distinguish "key held (auto-repeat)" from "all keys released."
11780 | 40                    player.s    150 | Empty       | 11 |         |    0 | 00/6B34               | ozunid_66                                             
11781 | 40                    player.s    151 | Code        | 11 |         |    3 | 00/6B34 : AD 10 C0    |                          LDA     $C010                ; bit 7 = any-key-down (live)
11782 | 40                    player.s    152 | Code        | 11 |         |    2 | 00/6B37 : 30 02       |                          BMI     _held                ; key still down -> preserve InputFlags
11783 | 40                    player.s    153 | Code        | 11 |         |    2 | 00/6B39 : 64 76       |                          STZ     {$76}                ; nothing held -> clear movement
11784 | 40                    player.s    154 | Code        | 11 |         |    1 | 00/6B3B : 60          | _held                    RTS                          
11785 | 40                    player.s    155 | Empty       | 11 |         |    0 | 00/6B3C               |                                                       
11786 | 40                    player.s    156 | Comment     | 11 |         |    0 | 00/6B3C               | *----------------------------------------------
11787 | 40                    player.s    157 | Comment     | 11 |         |    0 | 00/6B3C               | * UpdatePlayer - Main player state machine
11788 | 40                    player.s    158 | Comment     | 11 |         |    0 | 00/6B3C               | *----------------------------------------------
11789 | 40                    player.s    159 | Empty       | 11 |         |    0 | 00/6B3C               | UpdatePlayer                                          
11790 | 40                    player.s    160 | Comment     | 11 |         |    0 | 00/6B3C               | * Save old position for erase
11791 | 40                    player.s    161 | Code        | 11 |         |    2 | 00/6B3C : A5 70       |                          LDA     {$70}                
11792 | 40                    player.s    162 | Code        | 11 |         |    2 | 00/6B3E : 85 77       |                          STA     {$77}                
11793 | 40                    player.s    163 | Code        | 11 |         |    2 | 00/6B40 : A5 71       |                          LDA     {$71}                
11794 | 40                    player.s    164 | Code        | 11 |         |    2 | 00/6B42 : 85 78       |                          STA     {$78}                
11795 | 40                    player.s    165 | Code        | 11 |         |    2 | 00/6B44 : A5 72       |                          LDA     {$72}                
11796 | 40                    player.s    166 | Code        | 11 |         |    2 | 00/6B46 : 85 79       |                          STA     {$79}                
11797 | 40                    player.s    167 | Code        | 11 |         |    2 | 00/6B48 : 64 7C       |                          STZ     {$7C}                
11798 | 40                    player.s    168 | Empty       | 11 |         |    0 | 00/6B4A               |                                                       
11799 | 40                    player.s    169 | Code        | 11 |         |    2 | 00/6B4A : A5 74       |                          LDA     {$74}                
11800 | 40                    player.s    170 | Code        | 11 |         |    2 | 00/6B4C : C9 00       |                          CMP     #{0}                 
11801 | 40                    player.s    171 | Code        | 11 |         |    2 | 00/6B4E : D0 05       |                          BNE     _notStand            
11802 | 40                    player.s    172 | Code        | 11 |         |    3 | 00/6B50 : 20 A6 6B    |                          JSR     DoStand              
11803 | 40                    player.s    173 | Code        | 11 |         |    2 | 00/6B53 : 80 39       |                          BRA     _checkDirty          
11804 | 40                    player.s    174 | Code        | 11 |         |    2 | 00/6B55 : C9 01       | _notStand                CMP     #{1}                 
11805 | 40                    player.s    175 | Code        | 11 |         |    2 | 00/6B57 : D0 05       |                          BNE     _notWalk             
11806 | 40                    player.s    176 | Code        | 11 |         |    3 | 00/6B59 : 20 20 6C    |                          JSR     DoWalk               
11807 | 40                    player.s    177 | Code        | 11 |         |    2 | 00/6B5C : 80 30       |                          BRA     _checkDirty          
11808 | 40                    player.s    178 | Code        | 11 |         |    2 | 00/6B5E : C9 02       | _notWalk                 CMP     #{2}                 
11809 | 40                    player.s    179 | Code        | 11 |         |    2 | 00/6B60 : D0 05       |                          BNE     _notClimb            
11810 | 40                    player.s    180 | Code        | 11 |         |    3 | 00/6B62 : 20 BD 6D    |                          JSR     DoClimb              
11811 | 40                    player.s    181 | Code        | 11 |         |    2 | 00/6B65 : 80 27       |                          BRA     _checkDirty          
11812 | 40                    player.s    182 | Code        | 11 |         |    2 | 00/6B67 : C9 03       | _notClimb                CMP     #{3}                 
11813 | 40                    player.s    183 | Code        | 11 |         |    2 | 00/6B69 : D0 05       |                          BNE     _notFall             
11814 | 40                    player.s    184 | Code        | 11 |         |    3 | 00/6B6B : 20 F4 6E    |                          JSR     DoFall               
11815 | 40                    player.s    185 | Code        | 11 |         |    2 | 00/6B6E : 80 1E       |                          BRA     _checkDirty          
11816 | 40                    player.s    186 | Code        | 11 |         |    2 | 00/6B70 : C9 04       | _notFall                 CMP     #{4}                 
11817 | 40                    player.s    187 | Code        | 11 |         |    2 | 00/6B72 : D0 05       |                          BNE     _notStun             
11818 | 40                    player.s    188 | Code        | 11 |         |    3 | 00/6B74 : 20 9B 6F    |                          JSR     DoStun               
11819 | 40                    player.s    189 | Code        | 11 |         |    2 | 00/6B77 : 80 15       |                          BRA     _checkDirty          
11820 | 40                    player.s    190 | Code        | 11 |         |    2 | 00/6B79 : C9 05       | _notStun                 CMP     #{5}                 
11821 | 40                    player.s    191 | Code        | 11 |         |    2 | 00/6B7B : D0 05       |                          BNE     _notHang             
11822 | 40                    player.s    192 | Code        | 11 |         |    3 | 00/6B7D : 20 D5 6F    |                          JSR     DoHang               
11823 | 40                    player.s    193 | Code        | 11 |         |    2 | 00/6B80 : 80 0C       |                          BRA     _checkDirty          
11824 | 40                    player.s    194 | Code        | 11 |         |    2 | 00/6B82 : C9 06       | _notHang                 CMP     #{6}                 
11825 | 40                    player.s    195 | Code        | 11 |         |    2 | 00/6B84 : D0 05       |                          BNE     _notRide             
11826 | 40                    player.s    196 | Code        | 11 |         |    3 | 00/6B86 : 20 37 70    |                          JSR     DoRide               
11827 | 40                    player.s    197 | Code        | 11 |         |    2 | 00/6B89 : 80 03       |                          BRA     _checkDirty          
11828 | 40                    player.s    198 | Code        | 11 |         |    3 | 00/6B8B : 20 35 68    | _notRide                 JSR     DoDeath              
11829 | 40                    player.s    199 | Empty       | 11 |         |    0 | 00/6B8E               |                                                       
11830 | 40                    player.s    200 | Comment     | 11 |         |    0 | 00/6B8E               | * Check if position or frame changed
11831 | 40                    player.s    201 | Empty       | 11 |         |    0 | 00/6B8E               | _checkDirty                                           
11832 | 40                    player.s    202 | Code        | 11 |         |    2 | 00/6B8E : A5 70       |                          LDA     {$70}                
11833 | 40                    player.s    203 | Code        | 11 |         |    2 | 00/6B90 : C5 77       |                          CMP     {$77}                
11834 | 40                    player.s    204 | Code        | 11 |         |    2 | 00/6B92 : D0 0D       |                          BNE     _dirty               
11835 | 40                    player.s    205 | Code        | 11 |         |    2 | 00/6B94 : A5 71       |                          LDA     {$71}                
11836 | 40                    player.s    206 | Code        | 11 |         |    2 | 00/6B96 : C5 78       |                          CMP     {$78}                
11837 | 40                    player.s    207 | Code        | 11 |         |    2 | 00/6B98 : D0 07       |                          BNE     _dirty               
11838 | 40                    player.s    208 | Code        | 11 |         |    2 | 00/6B9A : A5 72       |                          LDA     {$72}                
11839 | 40                    player.s    209 | Code        | 11 |         |    2 | 00/6B9C : C5 79       |                          CMP     {$79}                
11840 | 40                    player.s    210 | Code        | 11 |         |    2 | 00/6B9E : D0 01       |                          BNE     _dirty               
11841 | 40                    player.s    211 | Code        | 11 |         |    1 | 00/6BA0 : 60          |                          RTS                          
11842 | 40                    player.s    212 | Code        | 11 |         |    2 | 00/6BA1 : A9 01       | _dirty                   LDA     #1                   
11843 | 40                    player.s    213 | Code        | 11 |         |    2 | 00/6BA3 : 85 7C       |                          STA     {$7C}                
11844 | 40                    player.s    214 | Code        | 11 |         |    1 | 00/6BA5 : 60          |                          RTS                          
11845 | 40                    player.s    215 | Empty       | 11 |         |    0 | 00/6BA6               |                                                       
11846 | 40                    player.s    216 | Comment     | 11 |         |    0 | 00/6BA6               | *----------------------------------------------
11847 | 40                    player.s    217 | Comment     | 11 |         |    0 | 00/6BA6               | * DoStand - Idle, waiting for input
11848 | 40                    player.s    218 | Comment     | 11 |         |    0 | 00/6BA6               | *----------------------------------------------
11849 | 40                    player.s    219 | Empty       | 11 |         |    0 | 00/6BA6               | DoStand                                               
11850 | 40                    player.s    220 | Code        | 11 |         |    2 | 00/6BA6 : A9 00       |                          LDA     #{0}                 
11851 | 40                    player.s    221 | Code        | 11 |         |    2 | 00/6BA8 : 85 72       |                          STA     {$72}                
11852 | 40                    player.s    222 | Empty       | 11 |         |    0 | 00/6BAA               |                                                       
11853 | 40                    player.s    223 | Comment     | 11 |         |    0 | 00/6BAA               | * Check for UP input: grab bar first, then ladder
11854 | 40                    player.s    224 | Code        | 11 |         |    2 | 00/6BAA : A5 76       |                          LDA     {$76}                
11855 | 40                    player.s    225 | Code        | 11 |         |    2 | 00/6BAC : 29 04       |                          AND     #{$04}               
11856 | 40                    player.s    226 | Code        | 11 |         |    2 | 00/6BAE : F0 2F       |                          BEQ     ozunid_67            
11857 | 40                    player.s    227 | Comment     | 11 |         |    0 | 00/6BB0               | * Check for handle tile above player's head
11858 | 40                    player.s    228 | Code        | 11 |         |    2 | 00/6BB0 : A5 70       |                          LDA     {$70}                
11859 | 40                    player.s    229 | Code        | 11 |         |    1 | 00/6BB2 : 18          |                          CLC                          
11860 | 40                    player.s    230 | Code        | 11 |         |    2 | 00/6BB3 : 69 03       |                          ADC     #3                   ; sprite center
11861 | 40                    player.s    231 | Code        | 11 |         |    1 | 00/6BB5 : AA          |                          TAX                          
11862 | 40                    player.s    232 | Code        | 11 |         |    2 | 00/6BB6 : A5 71       |                          LDA     {$71}                
11863 | 40                    player.s    233 | Code        | 11 |         |    1 | 00/6BB8 : 38          |                          SEC                          
11864 | 40                    player.s    234 | Code        | 11 |         |    2 | 00/6BB9 : E9 07       |                          SBC     #7                   ; check tile row above player head
11865 | 40                    player.s    235 | Code        | 11 |         |    3 | 00/6BBB : 20 40 10    |                          JSR     GetCollType          
11866 | 40                    player.s    236 | Code        | 11 |         |    2 | 00/6BBE : C9 03       |                          CMP     #{3}                 
11867 | 40                    player.s    237 | Code        | 11 |         |    2 | 00/6BC0 : D0 10       |                          BNE     _notHandle           
11868 | 40                    player.s    238 | Comment     | 11 |         |    0 | 00/6BC2               | * Grab the bar - move player 2px up
11869 | 40                    player.s    239 | Code        | 11 |         |    2 | 00/6BC2 : A5 71       |                          LDA     {$71}                
11870 | 40                    player.s    240 | Code        | 11 |         |    1 | 00/6BC4 : 38          |                          SEC                          
11871 | 40                    player.s    241 | Code        | 11 |         |    2 | 00/6BC5 : E9 02       |                          SBC     #2                   
11872 | 40                    player.s    242 | Code        | 11 |         |    2 | 00/6BC7 : 85 71       |                          STA     {$71}                
11873 | 40                    player.s    243 | Code        | 11 |         |    2 | 00/6BC9 : A9 05       |                          LDA     #{5}                 
11874 | 40                    player.s    244 | Code        | 11 |         |    2 | 00/6BCB : 85 74       |                          STA     {$74}                
11875 | 40                    player.s    245 | Code        | 11 |         |    2 | 00/6BCD : A9 09       |                          LDA     #{9}                 
11876 | 40                    player.s    246 | Code        | 11 |         |    2 | 00/6BCF : 85 72       |                          STA     {$72}                
11877 | 40                    player.s    247 | Code        | 11 |         |    1 | 00/6BD1 : 60          |                          RTS                          
11878 | 40                    player.s    248 | Empty       | 11 |         |    0 | 00/6BD2               | _notHandle                                            
11879 | 40                    player.s    249 | Comment     | 11 |         |    0 | 00/6BD2               | * Check for ladder
11880 | 40                    player.s    250 | Code        | 11 |         |    3 | 00/6BD2 : 20 6E 71    |                          JSR     CanClimbUp           
11881 | 40                    player.s    251 | Code        | 11 |         |    2 | 00/6BD5 : F0 08       |                          BEQ     ozunid_67            
11882 | 40                    player.s    252 | Code        | 11 |         |    3 | 00/6BD7 : 20 B0 71    |                          JSR     CenterOnLadder       
11883 | 40                    player.s    253 | Code        | 11 |         |    2 | 00/6BDA : A9 02       |                          LDA     #{2}                 
11884 | 40                    player.s    254 | Code        | 11 |         |    2 | 00/6BDC : 85 74       |                          STA     {$74}                
11885 | 40                    player.s    255 | Code        | 11 |         |    1 | 00/6BDE : 60          |                          RTS                          
11886 | 40                    player.s    256 | Empty       | 11 |         |    0 | 00/6BDF               | ozunid_67                                             
11887 | 40                    player.s    257 | Code        | 11 |         |    2 | 00/6BDF : A5 76       |                          LDA     {$76}                
11888 | 40                    player.s    258 | Code        | 11 |         |    2 | 00/6BE1 : 29 08       |                          AND     #{$08}               
11889 | 40                    player.s    259 | Code        | 11 |         |    2 | 00/6BE3 : F0 0D       |                          BEQ     _notDown             
11890 | 40                    player.s    260 | Code        | 11 |         |    3 | 00/6BE5 : 20 8D 71    |                          JSR     CanClimbDown         
11891 | 40                    player.s    261 | Code        | 11 |         |    2 | 00/6BE8 : F0 08       |                          BEQ     _notDown             
11892 | 40                    player.s    262 | Code        | 11 |         |    3 | 00/6BEA : 20 B0 71    |                          JSR     CenterOnLadder       
11893 | 40                    player.s    263 | Code        | 11 |         |    2 | 00/6BED : A9 02       |                          LDA     #{2}                 
11894 | 40                    player.s    264 | Code        | 11 |         |    2 | 00/6BEF : 85 74       |                          STA     {$74}                
11895 | 40                    player.s    265 | Code        | 11 |         |    1 | 00/6BF1 : 60          |                          RTS                          
11896 | 40                    player.s    266 | Empty       | 11 |         |    0 | 00/6BF2               | _notDown                                              
11897 | 40                    player.s    267 | Empty       | 11 |         |    0 | 00/6BF2               |                                                       
11898 | 40                    player.s    268 | Comment     | 11 |         |    0 | 00/6BF2               | * Check for walk input
11899 | 40                    player.s    269 | Code        | 11 |         |    2 | 00/6BF2 : A5 76       |                          LDA     {$76}                
11900 | 40                    player.s    270 | Code        | 11 |         |    2 | 00/6BF4 : 29 01       |                          AND     #{$01}               
11901 | 40                    player.s    271 | Code        | 11 |         |    2 | 00/6BF6 : F0 07       |                          BEQ     _notRight            
11902 | 40                    player.s    272 | Code        | 11 |         |    2 | 00/6BF8 : 64 73       |                          STZ     {$73}                
11903 | 40                    player.s    273 | Code        | 11 |         |    2 | 00/6BFA : A9 01       |                          LDA     #{1}                 
11904 | 40                    player.s    274 | Code        | 11 |         |    2 | 00/6BFC : 85 74       |                          STA     {$74}                
11905 | 40                    player.s    275 | Code        | 11 |         |    1 | 00/6BFE : 60          |                          RTS                          
11906 | 40                    player.s    276 | Empty       | 11 |         |    0 | 00/6BFF               | _notRight                                             
11907 | 40                    player.s    277 | Code        | 11 |         |    2 | 00/6BFF : A5 76       |                          LDA     {$76}                
11908 | 40                    player.s    278 | Code        | 11 |         |    2 | 00/6C01 : 29 02       |                          AND     #{$02}               
11909 | 40                    player.s    279 | Code        | 11 |         |    2 | 00/6C03 : F0 09       |                          BEQ     _noInput             
11910 | 40                    player.s    280 | Code        | 11 |         |    2 | 00/6C05 : A9 01       |                          LDA     #1                   
11911 | 40                    player.s    281 | Code        | 11 |         |    2 | 00/6C07 : 85 73       |                          STA     {$73}                
11912 | 40                    player.s    282 | Code        | 11 |         |    2 | 00/6C09 : A9 01       |                          LDA     #{1}                 
11913 | 40                    player.s    283 | Code        | 11 |         |    2 | 00/6C0B : 85 74       |                          STA     {$74}                
11914 | 40                    player.s    284 | Code        | 11 |         |    1 | 00/6C0D : 60          |                          RTS                          
11915 | 40                    player.s    285 | Empty       | 11 |         |    0 | 00/6C0E               | _noInput                                              
11916 | 40                    player.s    286 | Empty       | 11 |         |    0 | 00/6C0E               |                                                       
11917 | 40                    player.s    287 | Comment     | 11 |         |    0 | 00/6C0E               | * Check if ground disappeared (walked off edge)
11918 | 40                    player.s    288 | Code        | 11 |         |    3 | 00/6C0E : 20 F7 70    |                          JSR     CheckGround          
11919 | 40                    player.s    289 | Code        | 11 |         |    2 | 00/6C11 : D0 0C       |                          BNE     _standing            
11920 | 40                    player.s    290 | Code        | 11 |         |    2 | 00/6C13 : A9 03       |                          LDA     #{3}                 
11921 | 40                    player.s    291 | Code        | 11 |         |    2 | 00/6C15 : 85 74       |                          STA     {$74}                
11922 | 40                    player.s    292 | Code        | 11 |         |    2 | 00/6C17 : 64 7A       |                          STZ     {$7A}                
11923 | 40                    player.s    293 | Code        | 11 |         |    3 | 00/6C19 : 9C D4 11    |                          STZ     PlayerFallAccLo      
11924 | 40                    player.s    294 | Code        | 11 |         |    3 | 00/6C1C : 9C D5 11    |                          STZ     PlayerFallAccHi      
11925 | 40                    player.s    295 | Empty       | 11 |         |    0 | 00/6C1F               | _standing                                             
11926 | 40                    player.s    296 | Code        | 11 |         |    1 | 00/6C1F : 60          |                          RTS                          
11927 | 40                    player.s    297 | Empty       | 11 |         |    0 | 00/6C20               |                                                       
11928 | 40                    player.s    298 | Comment     | 11 |         |    0 | 00/6C20               | *----------------------------------------------
11929 | 40                    player.s    299 | Comment     | 11 |         |    0 | 00/6C20               | * DoWalk - Walking left or right
11930 | 40                    player.s    300 | Comment     | 11 |         |    0 | 00/6C20               | *
11931 | 40                    player.s    301 | Comment     | 11 |         |    0 | 00/6C20               | * Walk speed is gated by PlayerSpeed (8.8 fixed): 1.0x empty, 0.5x
11932 | 40                    player.s    302 | Comment     | 11 |         |    0 | 00/6C20               | * with yellow bag, 0.333x with blue bag. On "no move" frames the
11933 | 40                    player.s    303 | Comment     | 11 |         |    0 | 00/6C20               | * entire walk body is skipped (no animation tick, no score, no
11934 | 40                    player.s    304 | Comment     | 11 |         |    0 | 00/6C20               | * direction update) - same semantics as guards' fractional system.
11935 | 40                    player.s    305 | Comment     | 11 |         |    0 | 00/6C20               | *----------------------------------------------
11936 | 40                    player.s    306 | Empty       | 11 |         |    0 | 00/6C20               | DoWalk                                                
11937 | 40                    player.s    307 | Comment     | 11 |         |    0 | 00/6C20               | * Advance fractional accumulator. PlayerSpeed is always <= $0100 so
11938 | 40                    player.s    308 | Comment     | 11 |         |    0 | 00/6C20               | * pixels this frame is 0 or 1.
11939 | 40                    player.s    309 | Code        | 11 |         |    1 | 00/6C20 : 18          |                          CLC                          
11940 | 40                    player.s    310 | Code        | 11 |         |    3 | 00/6C21 : AD D0 11    |                          LDA     PlayerWalkAccLo      
11941 | 40                    player.s    311 | Code        | 11 |         |    3 | 00/6C24 : 6D CE 11    |                          ADC     PlayerSpeedLo        
11942 | 40                    player.s    312 | Code        | 11 |         |    3 | 00/6C27 : 8D D0 11    |                          STA     PlayerWalkAccLo      
11943 | 40                    player.s    313 | Code        | 11 |         |    3 | 00/6C2A : AD D1 11    |                          LDA     PlayerWalkAccHi      
11944 | 40                    player.s    314 | Code        | 11 |         |    3 | 00/6C2D : 6D CF 11    |                          ADC     PlayerSpeedHi        
11945 | 40                    player.s    315 | Code        | 11 |         |    3 | 00/6C30 : 9C D1 11    |                          STZ     PlayerWalkAccHi      
11946 | 40                    player.s    316 | Code        | 11 |         |    2 | 00/6C33 : D0 01       |                          BNE     _dwMove              
11947 | 40                    player.s    317 | Code        | 11 |         |    1 | 00/6C35 : 60          |                          RTS                          ; no pixels this frame - pause
11948 | 40                    player.s    318 | Empty       | 11 |         |    0 | 00/6C36               | _dwMove                                               
11949 | 40                    player.s    319 | Comment     | 11 |         |    0 | 00/6C36               | * Remember whether we started on the elevator car so we can reject
11950 | 40                    player.s    320 | Comment     | 11 |         |    0 | 00/6C36               | * exits into empty air (treat like a ladder sideways-exit: only
11951 | 40                    player.s    321 | Comment     | 11 |         |    0 | 00/6C36               | * allowed if the destination actually has something to stand on).
11952 | 40                    player.s    322 | Code        | 11 |         |    2 | 00/6C36 : A5 F2       |                          LDA     {$F2}                
11953 | 40                    player.s    323 | Code        | 11 |         |    2 | 00/6C38 : 85 F5       |                          STA     {$F5}                
11954 | 40                    player.s    324 | Comment     | 11 |         |    0 | 00/6C3A               | * Update direction from current input
11955 | 40                    player.s    325 | Code        | 11 |         |    2 | 00/6C3A : A5 76       |                          LDA     {$76}                
11956 | 40                    player.s    326 | Code        | 11 |         |    2 | 00/6C3C : 29 01       |                          AND     #{$01}               
11957 | 40                    player.s    327 | Code        | 11 |         |    2 | 00/6C3E : F0 04       |                          BEQ     _notPR               
11958 | 40                    player.s    328 | Code        | 11 |         |    2 | 00/6C40 : 64 73       |                          STZ     {$73}                ; 0 = right
11959 | 40                    player.s    329 | Code        | 11 |         |    2 | 00/6C42 : 80 0A       |                          BRA     _dirSet              
11960 | 40                    player.s    330 | Code        | 11 |         |    2 | 00/6C44 : A5 76       | _notPR                   LDA     {$76}                
11961 | 40                    player.s    331 | Code        | 11 |         |    2 | 00/6C46 : 29 02       |                          AND     #{$02}               
11962 | 40                    player.s    332 | Code        | 11 |         |    2 | 00/6C48 : F0 04       |                          BEQ     _dirSet              
11963 | 40                    player.s    333 | Code        | 11 |         |    2 | 00/6C4A : A9 01       |                          LDA     #1                   
11964 | 40                    player.s    334 | Code        | 11 |         |    2 | 00/6C4C : 85 73       |                          STA     {$73}                ; 1 = left
11965 | 40                    player.s    335 | Empty       | 11 |         |    0 | 00/6C4E               | _dirSet                                               
11966 | 40                    player.s    336 | Empty       | 11 |         |    0 | 00/6C4E               |                                                       
11967 | 40                    player.s    337 | Comment     | 11 |         |    0 | 00/6C4E               | * Animate walk cycle (direction-aware)
11968 | 40                    player.s    338 | Code        | 11 |         |    2 | 00/6C4E : E6 75       |                          INC     {$75}                
11969 | 40                    player.s    339 | Code        | 11 |         |    2 | 00/6C50 : A5 75       |                          LDA     {$75}                
11970 | 40                    player.s    340 | Code        | 11 |         |    2 | 00/6C52 : 29 03       |                          AND     #$03                 ; cycle every 4 frames
11971 | 40                    player.s    341 | Code        | 11 |         |    2 | 00/6C54 : D0 20       |                          BNE     _noFlip              
11972 | 40                    player.s    342 | Code        | 11 |         |    2 | 00/6C56 : A5 73       |                          LDA     {$73}                
11973 | 40                    player.s    343 | Code        | 11 |         |    2 | 00/6C58 : D0 0E       |                          BNE     _walkL               
11974 | 40                    player.s    344 | Comment     | 11 |         |    0 | 00/6C5A               | * Walk right frames
11975 | 40                    player.s    345 | Code        | 11 |         |    2 | 00/6C5A : A5 72       |                          LDA     {$72}                
11976 | 40                    player.s    346 | Code        | 11 |         |    2 | 00/6C5C : C9 02       |                          CMP     #{2}                 
11977 | 40                    player.s    347 | Code        | 11 |         |    2 | 00/6C5E : F0 04       |                          BEQ     _setW1R              
11978 | 40                    player.s    348 | Code        | 11 |         |    2 | 00/6C60 : A9 02       |                          LDA     #{2}                 
11979 | 40                    player.s    349 | Code        | 11 |         |    2 | 00/6C62 : 80 10       |                          BRA     _setFr               
11980 | 40                    player.s    350 | Code        | 11 |         |    2 | 00/6C64 : A9 01       | _setW1R                  LDA     #{1}                 
11981 | 40                    player.s    351 | Code        | 11 |         |    2 | 00/6C66 : 80 0C       |                          BRA     _setFr               
11982 | 40                    player.s    352 | Comment     | 11 |         |    0 | 00/6C68               | * Walk left frames
11983 | 40                    player.s    353 | Code        | 11 |         |    2 | 00/6C68 : A5 72       | _walkL                   LDA     {$72}                
11984 | 40                    player.s    354 | Code        | 11 |         |    2 | 00/6C6A : C9 07       |                          CMP     #{7}                 
11985 | 40                    player.s    355 | Code        | 11 |         |    2 | 00/6C6C : F0 04       |                          BEQ     _setW1L              
11986 | 40                    player.s    356 | Code        | 11 |         |    2 | 00/6C6E : A9 07       |                          LDA     #{7}                 
11987 | 40                    player.s    357 | Code        | 11 |         |    2 | 00/6C70 : 80 02       |                          BRA     _setFr               
11988 | 40                    player.s    358 | Code        | 11 |         |    2 | 00/6C72 : A9 05       | _setW1L                  LDA     #{5}                 
11989 | 40                    player.s    359 | Code        | 11 |         |    2 | 00/6C74 : 85 72       | _setFr                   STA     {$72}                
11990 | 40                    player.s    360 | Empty       | 11 |         |    0 | 00/6C76               | _noFlip                                               
11991 | 40                    player.s    361 | Empty       | 11 |         |    0 | 00/6C76               |                                                       
11992 | 40                    player.s    362 | Comment     | 11 |         |    0 | 00/6C76               | * Check direction and try to move
11993 | 40                    player.s    363 | Code        | 11 |         |    2 | 00/6C76 : A5 73       |                          LDA     {$73}                
11994 | 40                    player.s    364 | Code        | 11 |         |    2 | 00/6C78 : D0 55       |                          BNE     _goLeft              
11995 | 40                    player.s    365 | Empty       | 11 |         |    0 | 00/6C7A               |                                                       
11996 | 40                    player.s    366 | Comment     | 11 |         |    0 | 00/6C7A               | * Move right
11997 | 40                    player.s    367 | Code        | 11 |         |    2 | 00/6C7A : A5 70       |                          LDA     {$70}                
11998 | 40                    player.s    368 | Code        | 11 |         |    2 | 00/6C7C : C9 80       |                          CMP     #{128}               
11999 | 40                    player.s    369 | Code        | 11 |         |    2 | 00/6C7E : 90 03       |                          BCC     _moveR               
12000 | 40                    player.s    370 | Code        | 11 |         |    3 | 00/6C80 : 4C B4 6D    |                          JMP     _stopWalk            
12001 | 40                    player.s    371 | Code        | 11 |         |    2 | 00/6C83 : E6 70       | _moveR                   INC     {$70}                
12002 | 40                    player.s    372 | Code        | 11 |         |    3 | 00/6C85 : 20 27 71    |                          JSR     CheckWalkableR       
12003 | 40                    player.s    373 | Code        | 11 |         |    2 | 00/6C88 : F0 03       |                          BEQ     _rBlocked            
12004 | 40                    player.s    374 | Code        | 11 |         |    3 | 00/6C8A : 4C 25 6D    |                          JMP     _checkGnd            
12005 | 40                    player.s    375 | Empty       | 11 |         |    0 | 00/6C8D               | _rBlocked                                             
12006 | 40                    player.s    376 | Comment     | 11 |         |    0 | 00/6C8D               | * While exiting the elevator, forbid the slope step-up: a walkable
12007 | 40                    player.s    377 | Comment     | 11 |         |    0 | 00/6C8D               | * landing must be at the same Y, or the player is snapped back to
12008 | 40                    player.s    378 | Comment     | 11 |         |    0 | 00/6C8D               | * the car by the :checkGnd / AITemp branch below.
12009 | 40                    player.s    379 | Code        | 11 |         |    2 | 00/6C8D : A5 F5       |                          LDA     {$F5}                
12010 | 40                    player.s    380 | Code        | 11 |         |    2 | 00/6C8F : D0 28       |                          BNE     _rFail2              
12011 | 40                    player.s    381 | Comment     | 11 |         |    0 | 00/6C91               | * Blocked at current Y - probe surface at right edge and step up
12012 | 40                    player.s    382 | Comment     | 11 |         |    0 | 00/6C91               | * Only allow small steps (max 2px), reject walls (3px+)
12013 | 40                    player.s    383 | Code        | 11 |         |    2 | 00/6C91 : A5 71       |                          LDA     {$71}                
12014 | 40                    player.s    384 | Code        | 11 |         |    1 | 00/6C93 : 48          |                          PHA                          ; save original Y
12015 | 40                    player.s    385 | Code        | 11 |         |    1 | 00/6C94 : 18          |                          CLC                          
12016 | 40                    player.s    386 | Code        | 11 |         |    2 | 00/6C95 : 69 0B       |                          ADC     #11                  ; feet level
12017 | 40                    player.s    387 | Code        | 11 |         |    2 | 00/6C97 : A6 70       |                          LDX     {$70}                
12018 | 40                    player.s    388 | Code        | 11 |         |    1 | 00/6C99 : E8          |                          INX                          
12019 | 40                    player.s    389 | Code        | 11 |         |    1 | 00/6C9A : E8          |                          INX                          
12020 | 40                    player.s    390 | Code        | 11 |         |    1 | 00/6C9B : E8          |                          INX                          
12021 | 40                    player.s    391 | Code        | 11 |         |    1 | 00/6C9C : E8          |                          INX                          
12022 | 40                    player.s    392 | Code        | 11 |         |    1 | 00/6C9D : E8          |                          INX                          
12023 | 40                    player.s    393 | Code        | 11 |         |    1 | 00/6C9E : E8          |                          INX                          ; right edge X+6
12024 | 40                    player.s    394 | Code        | 11 |         |    3 | 00/6C9F : 20 3C 11    |                          JSR     GetSurfaceY          
12025 | 40                    player.s    395 | Code        | 11 |         |    2 | 00/6CA2 : 90 14       |                          BCC     _rFail               ; no surface, truly blocked
12026 | 40                    player.s    396 | Code        | 11 |         |    1 | 00/6CA4 : 38          |                          SEC                          
12027 | 40                    player.s    397 | Code        | 11 |         |    2 | 00/6CA5 : E9 0C       |                          SBC     #12                  ; convert surface to PlayerY
12028 | 40                    player.s    398 | Code        | 11 |         |    2 | 00/6CA7 : 85 1A       |                          STA     {$1A}                ; new PlayerY candidate
12029 | 40                    player.s    399 | Code        | 11 |         |    1 | 00/6CA9 : 68          |                          PLA                          ; old PlayerY
12030 | 40                    player.s    400 | Code        | 11 |         |    1 | 00/6CAA : 38          |                          SEC                          
12031 | 40                    player.s    401 | Code        | 11 |         |    2 | 00/6CAB : E5 1A       |                          SBC     {$1A}                ; old - new = step up amount
12032 | 40                    player.s    402 | Code        | 11 |         |    2 | 00/6CAD : C9 03       |                          CMP     #3                   ; max 2 pixel step up
12033 | 40                    player.s    403 | Code        | 11 |         |    2 | 00/6CAF : B0 08       |                          BCS     _rFail2              ; too large, it's a wall
12034 | 40                    player.s    404 | Code        | 11 |         |    2 | 00/6CB1 : A5 1A       |                          LDA     {$1A}                
12035 | 40                    player.s    405 | Code        | 11 |         |    2 | 00/6CB3 : 85 71       |                          STA     {$71}                
12036 | 40                    player.s    406 | Code        | 11 |         |    3 | 00/6CB5 : 4C 25 6D    |                          JMP     _checkGnd            
12037 | 40                    player.s    407 | Code        | 11 |         |    1 | 00/6CB8 : 68          | _rFail                   PLA                          
12038 | 40                    player.s    408 | Code        | 11 |         |    2 | 00/6CB9 : C6 70       | _rFail2                  DEC     {$70}                
12039 | 40                    player.s    409 | Comment     | 11 |         |    0 | 00/6CBB               | * Blocked right - check if at right border wall for map transition
12040 | 40                    player.s    410 | Code        | 11 |         |    2 | 00/6CBB : A5 70       |                          LDA     {$70}                
12041 | 40                    player.s    411 | Code        | 11 |         |    2 | 00/6CBD : C9 70       |                          CMP     #{112}               
12042 | 40                    player.s    412 | Code        | 11 |         |    2 | 00/6CBF : 90 0B       |                          BCC     _stopWalkR           
12043 | 40                    player.s    413 | Code        | 11 |         |    2 | 00/6CC1 : A5 1C       |                          LDA     {$1C}                
12044 | 40                    player.s    414 | Code        | 11 |         |    2 | 00/6CC3 : C9 02       |                          CMP     #2                   
12045 | 40                    player.s    415 | Code        | 11 |         |    2 | 00/6CC5 : B0 05       |                          BCS     _stopWalkR           ; rightmost map, no transition
12046 | 40                    player.s    416 | Code        | 11 |         |    2 | 00/6CC7 : A9 01       |                          LDA     #1                   
12047 | 40                    player.s    417 | Code        | 11 |         |    2 | 00/6CC9 : 85 29       |                          STA     {$29}                
12048 | 40                    player.s    418 | Code        | 11 |         |    1 | 00/6CCB : 60          |                          RTS                          
12049 | 40                    player.s    419 | Code        | 11 |         |    3 | 00/6CCC : 4C B4 6D    | _stopWalkR               JMP     _stopWalk            
12050 | 40                    player.s    420 | Empty       | 11 |         |    0 | 00/6CCF               |                                                       
12051 | 40                    player.s    421 | Comment     | 11 |         |    0 | 00/6CCF               | * Move left
12052 | 40                    player.s    422 | Code        | 11 |         |    2 | 00/6CCF : A5 70       | _goLeft                  LDA     {$70}                
12053 | 40                    player.s    423 | Code        | 11 |         |    2 | 00/6CD1 : C9 16       |                          CMP     #{21}+1              
12054 | 40                    player.s    424 | Code        | 11 |         |    2 | 00/6CD3 : B0 0C       |                          BCS     _canLeft             
12055 | 40                    player.s    425 | Comment     | 11 |         |    0 | 00/6CD5               | * At left boundary - request map transition if not leftmost
12056 | 40                    player.s    426 | Code        | 11 |         |    2 | 00/6CD5 : A5 1C       |                          LDA     {$1C}                
12057 | 40                    player.s    427 | Code        | 11 |         |    2 | 00/6CD7 : D0 03       |                          BNE     _transL              
12058 | 40                    player.s    428 | Code        | 11 |         |    3 | 00/6CD9 : 4C B4 6D    |                          JMP     _stopWalk            ; already on map 0 (leftmost)
12059 | 40                    player.s    429 | Code        | 11 |         |    2 | 00/6CDC : A9 02       | _transL                  LDA     #2                   
12060 | 40                    player.s    430 | Code        | 11 |         |    2 | 00/6CDE : 85 29       |                          STA     {$29}                
12061 | 40                    player.s    431 | Code        | 11 |         |    1 | 00/6CE0 : 60          |                          RTS                          
12062 | 40                    player.s    432 | Code        | 11 |         |    2 | 00/6CE1 : C6 70       | _canLeft                 DEC     {$70}                
12063 | 40                    player.s    433 | Code        | 11 |         |    3 | 00/6CE3 : 20 4A 71    |                          JSR     CheckWalkableL       
12064 | 40                    player.s    434 | Code        | 11 |         |    2 | 00/6CE6 : F0 03       |                          BEQ     _lBlocked            
12065 | 40                    player.s    435 | Code        | 11 |         |    3 | 00/6CE8 : 4C 25 6D    |                          JMP     _checkGnd            
12066 | 40                    player.s    436 | Empty       | 11 |         |    0 | 00/6CEB               | _lBlocked                                             
12067 | 40                    player.s    437 | Comment     | 11 |         |    0 | 00/6CEB               | * While exiting the elevator, forbid slope step-up (see :rBlocked).
12068 | 40                    player.s    438 | Code        | 11 |         |    2 | 00/6CEB : A5 F5       |                          LDA     {$F5}                
12069 | 40                    player.s    439 | Code        | 11 |         |    2 | 00/6CED : D0 22       |                          BNE     _lFail2              
12070 | 40                    player.s    440 | Comment     | 11 |         |    0 | 00/6CEF               | * Blocked at current Y - probe surface at left edge and step up
12071 | 40                    player.s    441 | Comment     | 11 |         |    0 | 00/6CEF               | * Only allow small steps on slopes, reject walls and solid columns
12072 | 40                    player.s    442 | Code        | 11 |         |    2 | 00/6CEF : A5 71       |                          LDA     {$71}                
12073 | 40                    player.s    443 | Code        | 11 |         |    1 | 00/6CF1 : 48          |                          PHA                          ; save original Y
12074 | 40                    player.s    444 | Code        | 11 |         |    1 | 00/6CF2 : 18          |                          CLC                          
12075 | 40                    player.s    445 | Code        | 11 |         |    2 | 00/6CF3 : 69 0B       |                          ADC     #11                  ; feet level
12076 | 40                    player.s    446 | Code        | 11 |         |    2 | 00/6CF5 : A6 70       |                          LDX     {$70}                ; left edge X
12077 | 40                    player.s    447 | Code        | 11 |         |    3 | 00/6CF7 : 20 3C 11    |                          JSR     GetSurfaceY          
12078 | 40                    player.s    448 | Code        | 11 |         |    2 | 00/6CFA : 90 14       |                          BCC     _lFail               ; no surface, truly blocked
12079 | 40                    player.s    449 | Code        | 11 |         |    1 | 00/6CFC : 38          |                          SEC                          
12080 | 40                    player.s    450 | Code        | 11 |         |    2 | 00/6CFD : E9 0C       |                          SBC     #12                  ; convert surface to PlayerY
12081 | 40                    player.s    451 | Code        | 11 |         |    2 | 00/6CFF : 85 1A       |                          STA     {$1A}                ; new PlayerY candidate
12082 | 40                    player.s    452 | Code        | 11 |         |    1 | 00/6D01 : 68          |                          PLA                          ; old PlayerY
12083 | 40                    player.s    453 | Code        | 11 |         |    1 | 00/6D02 : 38          |                          SEC                          
12084 | 40                    player.s    454 | Code        | 11 |         |    2 | 00/6D03 : E5 1A       |                          SBC     {$1A}                ; old - new = step up amount
12085 | 40                    player.s    455 | Code        | 11 |         |    2 | 00/6D05 : C9 03       |                          CMP     #3                   ; max 2 pixel step up
12086 | 40                    player.s    456 | Code        | 11 |         |    2 | 00/6D07 : B0 08       |                          BCS     _lFail2              ; too large, it's a wall
12087 | 40                    player.s    457 | Code        | 11 |         |    2 | 00/6D09 : A5 1A       |                          LDA     {$1A}                
12088 | 40                    player.s    458 | Code        | 11 |         |    2 | 00/6D0B : 85 71       |                          STA     {$71}                
12089 | 40                    player.s    459 | Code        | 11 |         |    3 | 00/6D0D : 4C 25 6D    |                          JMP     _checkGnd            
12090 | 40                    player.s    460 | Code        | 11 |         |    1 | 00/6D10 : 68          | _lFail                   PLA                          
12091 | 40                    player.s    461 | Code        | 11 |         |    2 | 00/6D11 : E6 70       | _lFail2                  INC     {$70}                
12092 | 40                    player.s    462 | Comment     | 11 |         |    0 | 00/6D13               | * Blocked left - check if at left border wall for map transition
12093 | 40                    player.s    463 | Code        | 11 |         |    2 | 00/6D13 : A5 70       |                          LDA     {$70}                
12094 | 40                    player.s    464 | Code        | 11 |         |    2 | 00/6D15 : C9 17       |                          CMP     #{22}+1              
12095 | 40                    player.s    465 | Code        | 11 |         |    2 | 00/6D17 : B0 09       |                          BCS     _stopWalkL           
12096 | 40                    player.s    466 | Code        | 11 |         |    2 | 00/6D19 : A5 1C       |                          LDA     {$1C}                
12097 | 40                    player.s    467 | Code        | 11 |         |    2 | 00/6D1B : F0 05       |                          BEQ     _stopWalkL           ; leftmost map, no transition
12098 | 40                    player.s    468 | Code        | 11 |         |    2 | 00/6D1D : A9 02       |                          LDA     #2                   
12099 | 40                    player.s    469 | Code        | 11 |         |    2 | 00/6D1F : 85 29       |                          STA     {$29}                
12100 | 40                    player.s    470 | Code        | 11 |         |    1 | 00/6D21 : 60          |                          RTS                          
12101 | 40                    player.s    471 | Code        | 11 |         |    3 | 00/6D22 : 4C B4 6D    | _stopWalkL               JMP     _stopWalk            
12102 | 40                    player.s    472 | Empty       | 11 |         |    0 | 00/6D25               |                                                       
12103 | 40                    player.s    473 | Comment     | 11 |         |    0 | 00/6D25               | * Check if still on ground
12104 | 40                    player.s    474 | Empty       | 11 |         |    0 | 00/6D25               | _checkGnd                                             
12105 | 40                    player.s    475 | Code        | 11 |         |    3 | 00/6D25 : 20 F7 70    |                          JSR     CheckGround          
12106 | 40                    player.s    476 | Code        | 11 |         |    2 | 00/6D28 : D0 29       |                          BNE     _stillWalk           
12107 | 40                    player.s    477 | Empty       | 11 |         |    0 | 00/6D2A               |                                                       
12108 | 40                    player.s    478 | Comment     | 11 |         |    0 | 00/6D2A               | * No ground at destination. If we stepped off the elevator car,
12109 | 40                    player.s    479 | Comment     | 11 |         |    0 | 00/6D2A               | * reject the exit and put the player back on the car (like a
12110 | 40                    player.s    480 | Comment     | 11 |         |    0 | 00/6D2A               | * ladder sideways-exit refusing to drop into air).
12111 | 40                    player.s    481 | Code        | 11 |         |    2 | 00/6D2A : A5 F5       |                          LDA     {$F5}                
12112 | 40                    player.s    482 | Code        | 11 |         |    2 | 00/6D2C : F0 18       |                          BEQ     _doFall              
12113 | 40                    player.s    483 | Comment     | 11 |         |    0 | 00/6D2E               | * Was on elevator - undo the horizontal step
12114 | 40                    player.s    484 | Code        | 11 |         |    2 | 00/6D2E : A5 73       |                          LDA     {$73}                
12115 | 40                    player.s    485 | Code        | 11 |         |    2 | 00/6D30 : F0 04       |                          BEQ     _undoR               
12116 | 40                    player.s    486 | Code        | 11 |         |    2 | 00/6D32 : E6 70       |                          INC     {$70}                ; undo DEC from :goLeft/:canLeft
12117 | 40                    player.s    487 | Code        | 11 |         |    2 | 00/6D34 : 80 02       |                          BRA     _backOnCar           
12118 | 40                    player.s    488 | Code        | 11 |         |    2 | 00/6D36 : C6 70       | _undoR                   DEC     {$70}                ; undo INC from :moveR
12119 | 40                    player.s    489 | Empty       | 11 |         |    0 | 00/6D38               | _backOnCar                                            
12120 | 40                    player.s    490 | Code        | 11 |         |    2 | 00/6D38 : A9 01       |                          LDA     #1                   
12121 | 40                    player.s    491 | Code        | 11 |         |    2 | 00/6D3A : 85 F2       |                          STA     {$F2}                
12122 | 40                    player.s    492 | Code        | 11 |         |    2 | 00/6D3C : A5 EF       |                          LDA     {$EF}                
12123 | 40                    player.s    493 | Code        | 11 |         |    1 | 00/6D3E : 38          |                          SEC                          
12124 | 40                    player.s    494 | Code        | 11 |         |    2 | 00/6D3F : E9 0C       |                          SBC     #12                  
12125 | 40                    player.s    495 | Code        | 11 |         |    2 | 00/6D41 : 85 71       |                          STA     {$71}                
12126 | 40                    player.s    496 | Code        | 11 |         |    3 | 00/6D43 : 4C B4 6D    |                          JMP     _stopWalk            
12127 | 40                    player.s    497 | Empty       | 11 |         |    0 | 00/6D46               | _doFall                                               
12128 | 40                    player.s    498 | Code        | 11 |         |    2 | 00/6D46 : A9 03       |                          LDA     #{3}                 
12129 | 40                    player.s    499 | Code        | 11 |         |    2 | 00/6D48 : 85 74       |                          STA     {$74}                
12130 | 40                    player.s    500 | Code        | 11 |         |    2 | 00/6D4A : 64 7A       |                          STZ     {$7A}                
12131 | 40                    player.s    501 | Code        | 11 |         |    3 | 00/6D4C : 9C D4 11    |                          STZ     PlayerFallAccLo      
12132 | 40                    player.s    502 | Code        | 11 |         |    3 | 00/6D4F : 9C D5 11    |                          STZ     PlayerFallAccHi      
12133 | 40                    player.s    503 | Code        | 11 |         |    1 | 00/6D52 : 60          |                          RTS                          
12134 | 40                    player.s    504 | Empty       | 11 |         |    0 | 00/6D53               |                                                       
12135 | 40                    player.s    505 | Empty       | 11 |         |    0 | 00/6D53               | _stillWalk                                            
12136 | 40                    player.s    506 | Code        | 11 |         |    3 | 00/6D53 : 20 CC 67    |                          JSR     Add10Step            ; +10/step; flags ScoreDirty every step
12137 | 40                    player.s    507 | Code        | 11 |         |    2 | 00/6D56 : A5 F2       |                          LDA     {$F2}                
12138 | 40                    player.s    508 | Code        | 11 |         |    2 | 00/6D58 : D0 05       |                          BNE     _elevSnap            
12139 | 40                    player.s    509 | Code        | 11 |         |    3 | 00/6D5A : 20 8B 70    |                          JSR     SnapToGround         
12140 | 40                    player.s    510 | Code        | 11 |         |    2 | 00/6D5D : 80 07       |                          BRA     _afterSnap           
12141 | 40                    player.s    511 | Empty       | 11 |         |    0 | 00/6D5F               | _elevSnap                                             
12142 | 40                    player.s    512 | Code        | 11 |         |    2 | 00/6D5F : A5 EF       |                          LDA     {$EF}                
12143 | 40                    player.s    513 | Code        | 11 |         |    1 | 00/6D61 : 38          |                          SEC                          
12144 | 40                    player.s    514 | Code        | 11 |         |    2 | 00/6D62 : E9 0C       |                          SBC     #12                  
12145 | 40                    player.s    515 | Code        | 11 |         |    2 | 00/6D64 : 85 71       |                          STA     {$71}                
12146 | 40                    player.s    516 | Empty       | 11 |         |    0 | 00/6D66               | _afterSnap                                            
12147 | 40                    player.s    517 | Comment     | 11 |         |    0 | 00/6D66               | * Check if input still held
12148 | 40                    player.s    518 | Code        | 11 |         |    2 | 00/6D66 : A5 76       |                          LDA     {$76}                
12149 | 40                    player.s    519 | Code        | 11 |         |    2 | 00/6D68 : 29 03       |                          AND     #{$01}+{$02}         
12150 | 40                    player.s    520 | Code        | 11 |         |    2 | 00/6D6A : D0 50       |                          BNE     _cont                
12151 | 40                    player.s    521 | Empty       | 11 |         |    0 | 00/6D6C               |                                                       
12152 | 40                    player.s    522 | Comment     | 11 |         |    0 | 00/6D6C               | * Check for grab bar / climb
12153 | 40                    player.s    523 | Code        | 11 |         |    2 | 00/6D6C : A5 76       |                          LDA     {$76}                
12154 | 40                    player.s    524 | Code        | 11 |         |    2 | 00/6D6E : 29 04       |                          AND     #{$04}               
12155 | 40                    player.s    525 | Code        | 11 |         |    2 | 00/6D70 : F0 2F       |                          BEQ     _notUpW              
12156 | 40                    player.s    526 | Comment     | 11 |         |    0 | 00/6D72               | * Check for handle above
12157 | 40                    player.s    527 | Code        | 11 |         |    2 | 00/6D72 : A5 70       |                          LDA     {$70}                
12158 | 40                    player.s    528 | Code        | 11 |         |    1 | 00/6D74 : 18          |                          CLC                          
12159 | 40                    player.s    529 | Code        | 11 |         |    2 | 00/6D75 : 69 03       |                          ADC     #3                   
12160 | 40                    player.s    530 | Code        | 11 |         |    1 | 00/6D77 : AA          |                          TAX                          
12161 | 40                    player.s    531 | Code        | 11 |         |    2 | 00/6D78 : A5 71       |                          LDA     {$71}                
12162 | 40                    player.s    532 | Code        | 11 |         |    1 | 00/6D7A : 38          |                          SEC                          
12163 | 40                    player.s    533 | Code        | 11 |         |    2 | 00/6D7B : E9 07       |                          SBC     #7                   ; check tile row above player head
12164 | 40                    player.s    534 | Code        | 11 |         |    3 | 00/6D7D : 20 40 10    |                          JSR     GetCollType          
12165 | 40                    player.s    535 | Code        | 11 |         |    2 | 00/6D80 : C9 03       |                          CMP     #{3}                 
12166 | 40                    player.s    536 | Code        | 11 |         |    2 | 00/6D82 : D0 10       |                          BNE     _notHandleW          
12167 | 40                    player.s    537 | Comment     | 11 |         |    0 | 00/6D84               | * Grab the bar - move player 2px up
12168 | 40                    player.s    538 | Code        | 11 |         |    2 | 00/6D84 : A5 71       |                          LDA     {$71}                
12169 | 40                    player.s    539 | Code        | 11 |         |    1 | 00/6D86 : 38          |                          SEC                          
12170 | 40                    player.s    540 | Code        | 11 |         |    2 | 00/6D87 : E9 02       |                          SBC     #2                   
12171 | 40                    player.s    541 | Code        | 11 |         |    2 | 00/6D89 : 85 71       |                          STA     {$71}                
12172 | 40                    player.s    542 | Code        | 11 |         |    2 | 00/6D8B : A9 05       |                          LDA     #{5}                 
12173 | 40                    player.s    543 | Code        | 11 |         |    2 | 00/6D8D : 85 74       |                          STA     {$74}                
12174 | 40                    player.s    544 | Code        | 11 |         |    2 | 00/6D8F : A9 09       |                          LDA     #{9}                 
12175 | 40                    player.s    545 | Code        | 11 |         |    2 | 00/6D91 : 85 72       |                          STA     {$72}                
12176 | 40                    player.s    546 | Code        | 11 |         |    1 | 00/6D93 : 60          |                          RTS                          
12177 | 40                    player.s    547 | Empty       | 11 |         |    0 | 00/6D94               | _notHandleW                                           
12178 | 40                    player.s    548 | Code        | 11 |         |    3 | 00/6D94 : 20 6E 71    |                          JSR     CanClimbUp           
12179 | 40                    player.s    549 | Code        | 11 |         |    2 | 00/6D97 : F0 08       |                          BEQ     _notUpW              
12180 | 40                    player.s    550 | Code        | 11 |         |    3 | 00/6D99 : 20 B0 71    |                          JSR     CenterOnLadder       
12181 | 40                    player.s    551 | Code        | 11 |         |    2 | 00/6D9C : A9 02       |                          LDA     #{2}                 
12182 | 40                    player.s    552 | Code        | 11 |         |    2 | 00/6D9E : 85 74       |                          STA     {$74}                
12183 | 40                    player.s    553 | Code        | 11 |         |    1 | 00/6DA0 : 60          |                          RTS                          
12184 | 40                    player.s    554 | Empty       | 11 |         |    0 | 00/6DA1               | _notUpW                                               
12185 | 40                    player.s    555 | Code        | 11 |         |    2 | 00/6DA1 : A5 76       |                          LDA     {$76}                
12186 | 40                    player.s    556 | Code        | 11 |         |    2 | 00/6DA3 : 29 08       |                          AND     #{$08}               
12187 | 40                    player.s    557 | Code        | 11 |         |    2 | 00/6DA5 : F0 0D       |                          BEQ     _stopWalk            
12188 | 40                    player.s    558 | Code        | 11 |         |    3 | 00/6DA7 : 20 8D 71    |                          JSR     CanClimbDown         
12189 | 40                    player.s    559 | Code        | 11 |         |    2 | 00/6DAA : F0 08       |                          BEQ     _stopWalk            
12190 | 40                    player.s    560 | Code        | 11 |         |    3 | 00/6DAC : 20 B0 71    |                          JSR     CenterOnLadder       
12191 | 40                    player.s    561 | Code        | 11 |         |    2 | 00/6DAF : A9 02       |                          LDA     #{2}                 
12192 | 40                    player.s    562 | Code        | 11 |         |    2 | 00/6DB1 : 85 74       |                          STA     {$74}                
12193 | 40                    player.s    563 | Code        | 11 |         |    1 | 00/6DB3 : 60          |                          RTS                          
12194 | 40                    player.s    564 | Empty       | 11 |         |    0 | 00/6DB4               |                                                       
12195 | 40                    player.s    565 | Empty       | 11 |         |    0 | 00/6DB4               | _stopWalk                                             
12196 | 40                    player.s    566 | Code        | 11 |         |    2 | 00/6DB4 : A9 00       |                          LDA     #{0}                 
12197 | 40                    player.s    567 | Code        | 11 |         |    2 | 00/6DB6 : 85 74       |                          STA     {$74}                
12198 | 40                    player.s    568 | Code        | 11 |         |    2 | 00/6DB8 : A9 00       |                          LDA     #{0}                 
12199 | 40                    player.s    569 | Code        | 11 |         |    2 | 00/6DBA : 85 72       |                          STA     {$72}                
12200 | 40                    player.s    570 | Code        | 11 |         |    1 | 00/6DBC : 60          | _cont                    RTS                          
12201 | 40                    player.s    571 | Empty       | 11 |         |    0 | 00/6DBD               |                                                       
12202 | 40                    player.s    572 | Comment     | 11 |         |    0 | 00/6DBD               | *----------------------------------------------
12203 | 40                    player.s    573 | Comment     | 11 |         |    0 | 00/6DBD               | * DoClimb - Climbing ladder up or down
12204 | 40                    player.s    574 | Comment     | 11 |         |    0 | 00/6DBD               | *
12205 | 40                    player.s    575 | Comment     | 11 |         |    0 | 00/6DBD               | * Climb speed gated by PlayerSpeed (same multiplier as DoWalk).
12206 | 40                    player.s    576 | Comment     | 11 |         |    0 | 00/6DBD               | * On "no move" frames the entire climb body is skipped including
12207 | 40                    player.s    577 | Comment     | 11 |         |    0 | 00/6DBD               | * ladder-exit checks; the worst-case latency is one frame.
12208 | 40                    player.s    578 | Comment     | 11 |         |    0 | 00/6DBD               | *----------------------------------------------
12209 | 40                    player.s    579 | Empty       | 11 |         |    0 | 00/6DBD               | DoClimb                                               
12210 | 40                    player.s    580 | Code        | 11 |         |    1 | 00/6DBD : 18          |                          CLC                          
12211 | 40                    player.s    581 | Code        | 11 |         |    3 | 00/6DBE : AD D2 11    |                          LDA     PlayerClimbAccLo     
12212 | 40                    player.s    582 | Code        | 11 |         |    3 | 00/6DC1 : 6D CE 11    |                          ADC     PlayerSpeedLo        
12213 | 40                    player.s    583 | Code        | 11 |         |    3 | 00/6DC4 : 8D D2 11    |                          STA     PlayerClimbAccLo     
12214 | 40                    player.s    584 | Code        | 11 |         |    3 | 00/6DC7 : AD D3 11    |                          LDA     PlayerClimbAccHi     
12215 | 40                    player.s    585 | Code        | 11 |         |    3 | 00/6DCA : 6D CF 11    |                          ADC     PlayerSpeedHi        
12216 | 40                    player.s    586 | Code        | 11 |         |    3 | 00/6DCD : 9C D3 11    |                          STZ     PlayerClimbAccHi     
12217 | 40                    player.s    587 | Code        | 11 |         |    2 | 00/6DD0 : D0 01       |                          BNE     _dcMove              
12218 | 40                    player.s    588 | Code        | 11 |         |    1 | 00/6DD2 : 60          |                          RTS                          
12219 | 40                    player.s    589 | Empty       | 11 |         |    0 | 00/6DD3               | _dcMove                                               
12220 | 40                    player.s    590 | Code        | 11 |         |    2 | 00/6DD3 : A5 76       |                          LDA     {$76}                
12221 | 40                    player.s    591 | Code        | 11 |         |    2 | 00/6DD5 : 29 04       |                          AND     #{$04}               
12222 | 40                    player.s    592 | Code        | 11 |         |    2 | 00/6DD7 : F0 15       |                          BEQ     ozunid_68            
12223 | 40                    player.s    593 | Empty       | 11 |         |    0 | 00/6DD9               |                                                       
12224 | 40                    player.s    594 | Comment     | 11 |         |    0 | 00/6DD9               | * Climb up
12225 | 40                    player.s    595 | Code        | 11 |         |    2 | 00/6DD9 : A5 71       |                          LDA     {$71}                
12226 | 40                    player.s    596 | Code        | 11 |         |    2 | 00/6DDB : C9 01       |                          CMP     #{0}+1               
12227 | 40                    player.s    597 | Code        | 11 |         |    2 | 00/6DDD : B0 03       |                          BCS     _upOk                
12228 | 40                    player.s    598 | Code        | 11 |         |    3 | 00/6DDF : 4C E1 6E    |                          JMP     _stopClimb           
12229 | 40                    player.s    599 | Empty       | 11 |         |    0 | 00/6DE2               | _upOk                                                 
12230 | 40                    player.s    600 | Code        | 11 |         |    2 | 00/6DE2 : C6 71       |                          DEC     {$71}                
12231 | 40                    player.s    601 | Code        | 11 |         |    3 | 00/6DE4 : 20 61 71    |                          JSR     CheckOnLadder        
12232 | 40                    player.s    602 | Code        | 11 |         |    2 | 00/6DE7 : D0 46       |                          BNE     _climbMoved          
12233 | 40                    player.s    603 | Code        | 11 |         |    2 | 00/6DE9 : E6 71       |                          INC     {$71}                ; not on ladder, undo
12234 | 40                    player.s    604 | Code        | 11 |         |    3 | 00/6DEB : 4C E1 6E    |                          JMP     _stopClimb           
12235 | 40                    player.s    605 | Empty       | 11 |         |    0 | 00/6DEE               |                                                       
12236 | 40                    player.s    606 | Code        | 11 |         |    2 | 00/6DEE : A5 76       | ozunid_68                LDA     {$76}                
12237 | 40                    player.s    607 | Code        | 11 |         |    2 | 00/6DF0 : 29 08       |                          AND     #{$08}               
12238 | 40                    player.s    608 | Code        | 11 |         |    2 | 00/6DF2 : F0 52       |                          BEQ     _noVert              
12239 | 40                    player.s    609 | Empty       | 11 |         |    0 | 00/6DF4               |                                                       
12240 | 40                    player.s    610 | Comment     | 11 |         |    0 | 00/6DF4               | * Climb down
12241 | 40                    player.s    611 | Code        | 11 |         |    2 | 00/6DF4 : A5 71       |                          LDA     {$71}                
12242 | 40                    player.s    612 | Code        | 11 |         |    2 | 00/6DF6 : C9 BA       |                          CMP     #{186}               
12243 | 40                    player.s    613 | Code        | 11 |         |    2 | 00/6DF8 : 90 03       |                          BCC     _downOk              
12244 | 40                    player.s    614 | Code        | 11 |         |    3 | 00/6DFA : 4C E1 6E    |                          JMP     _stopClimb           
12245 | 40                    player.s    615 | Code        | 11 |         |    2 | 00/6DFD : E6 71       | _downOk                  INC     {$71}                
12246 | 40                    player.s    616 | Code        | 11 |         |    3 | 00/6DFF : 20 61 71    |                          JSR     CheckOnLadder        
12247 | 40                    player.s    617 | Code        | 11 |         |    2 | 00/6E02 : D0 17       |                          BNE     _chkFeet             
12248 | 40                    player.s    618 | Comment     | 11 |         |    0 | 00/6E04               | * No longer on ladder - fall or land
12249 | 40                    player.s    619 | Code        | 11 |         |    3 | 00/6E04 : 20 F7 70    |                          JSR     CheckGround          
12250 | 40                    player.s    620 | Code        | 11 |         |    2 | 00/6E07 : D0 0D       |                          BNE     _climbLand           ; ground below, land normally
12251 | 40                    player.s    621 | Comment     | 11 |         |    0 | 00/6E09               | * No ground - start falling
12252 | 40                    player.s    622 | Code        | 11 |         |    2 | 00/6E09 : A9 03       |                          LDA     #{3}                 
12253 | 40                    player.s    623 | Code        | 11 |         |    2 | 00/6E0B : 85 74       |                          STA     {$74}                
12254 | 40                    player.s    624 | Code        | 11 |         |    2 | 00/6E0D : 64 7A       |                          STZ     {$7A}                
12255 | 40                    player.s    625 | Code        | 11 |         |    3 | 00/6E0F : 9C D4 11    |                          STZ     PlayerFallAccLo      
12256 | 40                    player.s    626 | Code        | 11 |         |    3 | 00/6E12 : 9C D5 11    |                          STZ     PlayerFallAccHi      
12257 | 40                    player.s    627 | Code        | 11 |         |    1 | 00/6E15 : 60          |                          RTS                          
12258 | 40                    player.s    628 | Empty       | 11 |         |    0 | 00/6E16               | _climbLand                                            
12259 | 40                    player.s    629 | Code        | 11 |         |    2 | 00/6E16 : C6 71       |                          DEC     {$71}                ; undo, let stopClimb handle landing
12260 | 40                    player.s    630 | Code        | 11 |         |    3 | 00/6E18 : 4C E1 6E    |                          JMP     _stopClimb           
12261 | 40                    player.s    631 | Comment     | 11 |         |    0 | 00/6E1B               | * Verify feet don't enter solid ground
12262 | 40                    player.s    632 | Code        | 11 |         |    2 | 00/6E1B : A5 71       | _chkFeet                 LDA     {$71}                
12263 | 40                    player.s    633 | Code        | 11 |         |    1 | 00/6E1D : 18          |                          CLC                          
12264 | 40                    player.s    634 | Code        | 11 |         |    2 | 00/6E1E : 69 0C       |                          ADC     #12                  ; ground level (matches CheckGround)
12265 | 40                    player.s    635 | Code        | 11 |         |    2 | 00/6E20 : A6 70       |                          LDX     {$70}                
12266 | 40                    player.s    636 | Code        | 11 |         |    1 | 00/6E22 : E8          |                          INX                          
12267 | 40                    player.s    637 | Code        | 11 |         |    1 | 00/6E23 : E8          |                          INX                          
12268 | 40                    player.s    638 | Code        | 11 |         |    1 | 00/6E24 : E8          |                          INX                          ; center X
12269 | 40                    player.s    639 | Code        | 11 |         |    3 | 00/6E25 : 20 0E 11    |                          JSR     CheckWalkableAt      
12270 | 40                    player.s    640 | Code        | 11 |         |    2 | 00/6E28 : D0 05       |                          BNE     _climbMoved          ; feet clear
12271 | 40                    player.s    641 | Code        | 11 |         |    2 | 00/6E2A : C6 71       |                          DEC     {$71}                ; feet blocked, undo
12272 | 40                    player.s    642 | Code        | 11 |         |    3 | 00/6E2C : 4C E1 6E    |                          JMP     _stopClimb           
12273 | 40                    player.s    643 | Empty       | 11 |         |    0 | 00/6E2F               |                                                       
12274 | 40                    player.s    644 | Comment     | 11 |         |    0 | 00/6E2F               | * Successfully moved - animate climb cycle
12275 | 40                    player.s    645 | Empty       | 11 |         |    0 | 00/6E2F               | _climbMoved                                           
12276 | 40                    player.s    646 | Code        | 11 |         |    2 | 00/6E2F : E6 75       |                          INC     {$75}                
12277 | 40                    player.s    647 | Code        | 11 |         |    2 | 00/6E31 : A5 75       |                          LDA     {$75}                
12278 | 40                    player.s    648 | Code        | 11 |         |    2 | 00/6E33 : 29 03       |                          AND     #$03                 
12279 | 40                    player.s    649 | Code        | 11 |         |    2 | 00/6E35 : D0 0E       |                          BNE     _climbOk             
12280 | 40                    player.s    650 | Code        | 11 |         |    2 | 00/6E37 : A5 72       |                          LDA     {$72}                
12281 | 40                    player.s    651 | Code        | 11 |         |    2 | 00/6E39 : C9 04       |                          CMP     #{4}                 
12282 | 40                    player.s    652 | Code        | 11 |         |    2 | 00/6E3B : F0 04       |                          BEQ     _setC1               
12283 | 40                    player.s    653 | Code        | 11 |         |    2 | 00/6E3D : A9 04       |                          LDA     #{4}                 
12284 | 40                    player.s    654 | Code        | 11 |         |    2 | 00/6E3F : 80 02       |                          BRA     _setCFr              
12285 | 40                    player.s    655 | Code        | 11 |         |    2 | 00/6E41 : A9 03       | _setC1                   LDA     #{3}                 
12286 | 40                    player.s    656 | Code        | 11 |         |    2 | 00/6E43 : 85 72       | _setCFr                  STA     {$72}                
12287 | 40                    player.s    657 | Code        | 11 |         |    1 | 00/6E45 : 60          | _climbOk                 RTS                          
12288 | 40                    player.s    658 | Empty       | 11 |         |    0 | 00/6E46               |                                                       
12289 | 40                    player.s    659 | Empty       | 11 |         |    0 | 00/6E46               | _noVert                                               
12290 | 40                    player.s    660 | Comment     | 11 |         |    0 | 00/6E46               | * No vertical input - check for walk off ladder
12291 | 40                    player.s    661 | Comment     | 11 |         |    0 | 00/6E46               | * Step 1 pixel toward destination, check, then undo.
12292 | 40                    player.s    662 | Comment     | 11 |         |    0 | 00/6E46               | * This ensures we test the ADJACENT tile, not the ladder tile.
12293 | 40                    player.s    663 | Code        | 11 |         |    2 | 00/6E46 : A5 76       |                          LDA     {$76}                
12294 | 40                    player.s    664 | Code        | 11 |         |    2 | 00/6E48 : 29 03       |                          AND     #{$02}+{$01}         
12295 | 40                    player.s    665 | Code        | 11 |         |    2 | 00/6E4A : D0 03       |                          BNE     _tryExit             
12296 | 40                    player.s    666 | Code        | 11 |         |    3 | 00/6E4C : 4C E1 6E    |                          JMP     _stopClimb           
12297 | 40                    player.s    667 | Code        | 11 |         |    3 | 00/6E4F : 20 F7 70    | _tryExit                 JSR     CheckGround          
12298 | 40                    player.s    668 | Code        | 11 |         |    2 | 00/6E52 : D0 14       |                          BNE     _hasGround           
12299 | 40                    player.s    669 | Comment     | 11 |         |    0 | 00/6E54               | * CheckGround skips rails - check for rail as valid exit ground
12300 | 40                    player.s    670 | Code        | 11 |         |    2 | 00/6E54 : A5 71       |                          LDA     {$71}                
12301 | 40                    player.s    671 | Code        | 11 |         |    1 | 00/6E56 : 18          |                          CLC                          
12302 | 40                    player.s    672 | Code        | 11 |         |    2 | 00/6E57 : 69 0C       |                          ADC     #12                  
12303 | 40                    player.s    673 | Code        | 11 |         |    2 | 00/6E59 : A6 70       |                          LDX     {$70}                
12304 | 40                    player.s    674 | Code        | 11 |         |    1 | 00/6E5B : E8          |                          INX                          
12305 | 40                    player.s    675 | Code        | 11 |         |    1 | 00/6E5C : E8          |                          INX                          
12306 | 40                    player.s    676 | Code        | 11 |         |    1 | 00/6E5D : E8          |                          INX                          ; center X
12307 | 40                    player.s    677 | Code        | 11 |         |    3 | 00/6E5E : 20 40 10    |                          JSR     GetCollType          
12308 | 40                    player.s    678 | Code        | 11 |         |    2 | 00/6E61 : C9 04       |                          CMP     #{4}                 
12309 | 40                    player.s    679 | Code        | 11 |         |    2 | 00/6E63 : F0 03       |                          BEQ     _hasGround           
12310 | 40                    player.s    680 | Code        | 11 |         |    3 | 00/6E65 : 4C F3 6E    |                          JMP     _stayClimb           ; no ground, stay on ladder
12311 | 40                    player.s    681 | Empty       | 11 |         |    0 | 00/6E68               | _hasGround                                            
12312 | 40                    player.s    682 | Empty       | 11 |         |    0 | 00/6E68               |                                                       
12313 | 40                    player.s    683 | Code        | 11 |         |    2 | 00/6E68 : A5 76       |                          LDA     {$76}                
12314 | 40                    player.s    684 | Code        | 11 |         |    2 | 00/6E6A : 29 01       |                          AND     #{$01}               
12315 | 40                    player.s    685 | Code        | 11 |         |    2 | 00/6E6C : F0 3C       |                          BEQ     _tryLeft             
12316 | 40                    player.s    686 | Empty       | 11 |         |    0 | 00/6E6E               |                                                       
12317 | 40                    player.s    687 | Comment     | 11 |         |    0 | 00/6E6E               | * Try exit right: block if feet on slope with rail above
12318 | 40                    player.s    688 | Code        | 11 |         |    2 | 00/6E6E : E6 70       |                          INC     {$70}                
12319 | 40                    player.s    689 | Code        | 11 |         |    2 | 00/6E70 : A5 71       |                          LDA     {$71}                
12320 | 40                    player.s    690 | Code        | 11 |         |    1 | 00/6E72 : 18          |                          CLC                          
12321 | 40                    player.s    691 | Code        | 11 |         |    2 | 00/6E73 : 69 0B       |                          ADC     #11                  ; feet level
12322 | 40                    player.s    692 | Code        | 11 |         |    2 | 00/6E75 : A6 70       |                          LDX     {$70}                
12323 | 40                    player.s    693 | Code        | 11 |         |    1 | 00/6E77 : E8          |                          INX                          
12324 | 40                    player.s    694 | Code        | 11 |         |    1 | 00/6E78 : E8          |                          INX                          
12325 | 40                    player.s    695 | Code        | 11 |         |    1 | 00/6E79 : E8          |                          INX                          
12326 | 40                    player.s    696 | Code        | 11 |         |    1 | 00/6E7A : E8          |                          INX                          
12327 | 40                    player.s    697 | Code        | 11 |         |    1 | 00/6E7B : E8          |                          INX                          
12328 | 40                    player.s    698 | Code        | 11 |         |    1 | 00/6E7C : E8          |                          INX                          ; right edge X+6
12329 | 40                    player.s    699 | Code        | 11 |         |    3 | 00/6E7D : 20 40 10    |                          JSR     GetCollType          
12330 | 40                    player.s    700 | Code        | 11 |         |    2 | 00/6E80 : C9 06       |                          CMP     #{6}                 
12331 | 40                    player.s    701 | Code        | 11 |         |    2 | 00/6E82 : D0 14       |                          BNE     _exitRChk            ; not slope, just check walkability
12332 | 40                    player.s    702 | Comment     | 11 |         |    0 | 00/6E84               | * Feet on slope - block only if rail tile one row above
12333 | 40                    player.s    703 | Code        | 11 |         |    2 | 00/6E84 : A5 71       |                          LDA     {$71}                
12334 | 40                    player.s    704 | Code        | 11 |         |    1 | 00/6E86 : 18          |                          CLC                          
12335 | 40                    player.s    705 | Code        | 11 |         |    2 | 00/6E87 : 69 05       |                          ADC     #5                   ; feet - 6 (one tile row up)
12336 | 40                    player.s    706 | Code        | 11 |         |    2 | 00/6E89 : A6 70       |                          LDX     {$70}                
12337 | 40                    player.s    707 | Code        | 11 |         |    1 | 00/6E8B : E8          |                          INX                          
12338 | 40                    player.s    708 | Code        | 11 |         |    1 | 00/6E8C : E8          |                          INX                          
12339 | 40                    player.s    709 | Code        | 11 |         |    1 | 00/6E8D : E8          |                          INX                          
12340 | 40                    player.s    710 | Code        | 11 |         |    1 | 00/6E8E : E8          |                          INX                          
12341 | 40                    player.s    711 | Code        | 11 |         |    1 | 00/6E8F : E8          |                          INX                          
12342 | 40                    player.s    712 | Code        | 11 |         |    1 | 00/6E90 : E8          |                          INX                          
12343 | 40                    player.s    713 | Code        | 11 |         |    3 | 00/6E91 : 20 40 10    |                          JSR     GetCollType          
12344 | 40                    player.s    714 | Code        | 11 |         |    2 | 00/6E94 : C9 04       |                          CMP     #{4}                 
12345 | 40                    player.s    715 | Code        | 11 |         |    2 | 00/6E96 : F0 0D       |                          BEQ     _exitRBlk            ; rail above slope = block
12346 | 40                    player.s    716 | Code        | 11 |         |    3 | 00/6E98 : 20 27 71    | _exitRChk                JSR     CheckWalkableR       
12347 | 40                    player.s    717 | Code        | 11 |         |    1 | 00/6E9B : 48          |                          PHA                          
12348 | 40                    player.s    718 | Code        | 11 |         |    2 | 00/6E9C : C6 70       |                          DEC     {$70}                
12349 | 40                    player.s    719 | Code        | 11 |         |    1 | 00/6E9E : 68          |                          PLA                          
12350 | 40                    player.s    720 | Code        | 11 |         |    2 | 00/6E9F : F0 52       |                          BEQ     _stayClimb           ; blocked
12351 | 40                    player.s    721 | Code        | 11 |         |    2 | 00/6EA1 : 64 73       |                          STZ     {$73}                
12352 | 40                    player.s    722 | Code        | 11 |         |    2 | 00/6EA3 : 80 37       |                          BRA     _climbWalk           
12353 | 40                    player.s    723 | Code        | 11 |         |    2 | 00/6EA5 : C6 70       | _exitRBlk                DEC     {$70}                
12354 | 40                    player.s    724 | Code        | 11 |         |    3 | 00/6EA7 : 4C F3 6E    |                          JMP     _stayClimb           
12355 | 40                    player.s    725 | Empty       | 11 |         |    0 | 00/6EAA               |                                                       
12356 | 40                    player.s    726 | Empty       | 11 |         |    0 | 00/6EAA               | _tryLeft                                              
12357 | 40                    player.s    727 | Comment     | 11 |         |    0 | 00/6EAA               | * Try exit left: block if feet on slope with rail above
12358 | 40                    player.s    728 | Code        | 11 |         |    2 | 00/6EAA : C6 70       |                          DEC     {$70}                
12359 | 40                    player.s    729 | Code        | 11 |         |    2 | 00/6EAC : A5 71       |                          LDA     {$71}                
12360 | 40                    player.s    730 | Code        | 11 |         |    1 | 00/6EAE : 18          |                          CLC                          
12361 | 40                    player.s    731 | Code        | 11 |         |    2 | 00/6EAF : 69 0B       |                          ADC     #11                  ; feet level
12362 | 40                    player.s    732 | Code        | 11 |         |    2 | 00/6EB1 : A6 70       |                          LDX     {$70}                ; left edge X
12363 | 40                    player.s    733 | Code        | 11 |         |    3 | 00/6EB3 : 20 40 10    |                          JSR     GetCollType          
12364 | 40                    player.s    734 | Code        | 11 |         |    2 | 00/6EB6 : C9 06       |                          CMP     #{6}                 
12365 | 40                    player.s    735 | Code        | 11 |         |    2 | 00/6EB8 : D0 0E       |                          BNE     _exitLChk            
12366 | 40                    player.s    736 | Comment     | 11 |         |    0 | 00/6EBA               | * Feet on slope - block only if rail tile one row above
12367 | 40                    player.s    737 | Code        | 11 |         |    2 | 00/6EBA : A5 71       |                          LDA     {$71}                
12368 | 40                    player.s    738 | Code        | 11 |         |    1 | 00/6EBC : 18          |                          CLC                          
12369 | 40                    player.s    739 | Code        | 11 |         |    2 | 00/6EBD : 69 05       |                          ADC     #5                   ; feet - 6
12370 | 40                    player.s    740 | Code        | 11 |         |    2 | 00/6EBF : A6 70       |                          LDX     {$70}                
12371 | 40                    player.s    741 | Code        | 11 |         |    3 | 00/6EC1 : 20 40 10    |                          JSR     GetCollType          
12372 | 40                    player.s    742 | Code        | 11 |         |    2 | 00/6EC4 : C9 04       |                          CMP     #{4}                 
12373 | 40                    player.s    743 | Code        | 11 |         |    2 | 00/6EC6 : F0 0F       |                          BEQ     _exitLBlk            
12374 | 40                    player.s    744 | Code        | 11 |         |    3 | 00/6EC8 : 20 4A 71    | _exitLChk                JSR     CheckWalkableL       
12375 | 40                    player.s    745 | Code        | 11 |         |    1 | 00/6ECB : 48          |                          PHA                          
12376 | 40                    player.s    746 | Code        | 11 |         |    2 | 00/6ECC : E6 70       |                          INC     {$70}                
12377 | 40                    player.s    747 | Code        | 11 |         |    1 | 00/6ECE : 68          |                          PLA                          
12378 | 40                    player.s    748 | Code        | 11 |         |    2 | 00/6ECF : F0 22       |                          BEQ     _stayClimb           ; blocked
12379 | 40                    player.s    749 | Code        | 11 |         |    2 | 00/6ED1 : A9 01       |                          LDA     #1                   
12380 | 40                    player.s    750 | Code        | 11 |         |    2 | 00/6ED3 : 85 73       |                          STA     {$73}                
12381 | 40                    player.s    751 | Code        | 11 |         |    2 | 00/6ED5 : 80 05       |                          BRA     _climbWalk           
12382 | 40                    player.s    752 | Code        | 11 |         |    2 | 00/6ED7 : E6 70       | _exitLBlk                INC     {$70}                
12383 | 40                    player.s    753 | Code        | 11 |         |    3 | 00/6ED9 : 4C F3 6E    |                          JMP     _stayClimb           
12384 | 40                    player.s    754 | Empty       | 11 |         |    0 | 00/6EDC               |                                                       
12385 | 40                    player.s    755 | Empty       | 11 |         |    0 | 00/6EDC               | _climbWalk                                            
12386 | 40                    player.s    756 | Code        | 11 |         |    2 | 00/6EDC : A9 01       |                          LDA     #{1}                 
12387 | 40                    player.s    757 | Code        | 11 |         |    2 | 00/6EDE : 85 74       |                          STA     {$74}                
12388 | 40                    player.s    758 | Code        | 11 |         |    1 | 00/6EE0 : 60          |                          RTS                          
12389 | 40                    player.s    759 | Empty       | 11 |         |    0 | 00/6EE1               |                                                       
12390 | 40                    player.s    760 | Empty       | 11 |         |    0 | 00/6EE1               | _stopClimb                                            
12391 | 40                    player.s    761 | Comment     | 11 |         |    0 | 00/6EE1               | * Check if on ground (reached bottom of ladder)
12392 | 40                    player.s    762 | Code        | 11 |         |    3 | 00/6EE1 : 20 F7 70    |                          JSR     CheckGround          
12393 | 40                    player.s    763 | Code        | 11 |         |    2 | 00/6EE4 : F0 0D       |                          BEQ     _stayClimb           
12394 | 40                    player.s    764 | Code        | 11 |         |    3 | 00/6EE6 : 20 61 71    |                          JSR     CheckOnLadder        
12395 | 40                    player.s    765 | Code        | 11 |         |    2 | 00/6EE9 : D0 08       |                          BNE     _stayClimb           
12396 | 40                    player.s    766 | Comment     | 11 |         |    0 | 00/6EEB               | * On ground but not on ladder anymore
12397 | 40                    player.s    767 | Code        | 11 |         |    2 | 00/6EEB : A9 00       |                          LDA     #{0}                 
12398 | 40                    player.s    768 | Code        | 11 |         |    2 | 00/6EED : 85 74       |                          STA     {$74}                
12399 | 40                    player.s    769 | Code        | 11 |         |    2 | 00/6EEF : A9 00       |                          LDA     #{0}                 
12400 | 40                    player.s    770 | Code        | 11 |         |    2 | 00/6EF1 : 85 72       |                          STA     {$72}                
12401 | 40                    player.s    771 | Empty       | 11 |         |    0 | 00/6EF3               | _stayClimb                                            
12402 | 40                    player.s    772 | Code        | 11 |         |    1 | 00/6EF3 : 60          |                          RTS                          
12403 | 40                    player.s    773 | Empty       | 11 |         |    0 | 00/6EF4               |                                                       
12404 | 40                    player.s    774 | Comment     | 11 |         |    0 | 00/6EF4               | *----------------------------------------------
12405 | 40                    player.s    775 | Comment     | 11 |         |    0 | 00/6EF4               | * DoFall - Falling down (1.5x gravity via fractional accumulator)
12406 | 40                    player.s    776 | Comment     | 11 |         |    0 | 00/6EF4               | *
12407 | 40                    player.s    777 | Comment     | 11 |         |    0 | 00/6EF4               | * Pixels-to-fall per frame alternate 1, 2, 1, 2, ... (avg 1.5).
12408 | 40                    player.s    778 | Comment     | 11 |         |    0 | 00/6EF4               | * CheckGround / PLAYER_YMAX / fatal-fall are evaluated per sub-step
12409 | 40                    player.s    779 | Comment     | 11 |         |    0 | 00/6EF4               | * so a 2-pixel frame lands correctly.
12410 | 40                    player.s    780 | Comment     | 11 |         |    0 | 00/6EF4               | *----------------------------------------------
12411 | 40                    player.s    781 | Empty       | 11 |         |    0 | 00/6EF4               | DoFall                                                
12412 | 40                    player.s    782 | Code        | 11 |         |    2 | 00/6EF4 : A9 0C       |                          LDA     #{12}                
12413 | 40                    player.s    783 | Code        | 11 |         |    2 | 00/6EF6 : 85 72       |                          STA     {$72}                
12414 | 40                    player.s    784 | Comment     | 11 |         |    0 | 00/6EF8               | * Advance fractional accumulator. Temp4 = pixels to move this frame.
12415 | 40                    player.s    785 | Code        | 11 |         |    1 | 00/6EF8 : 18          |                          CLC                          
12416 | 40                    player.s    786 | Code        | 11 |         |    3 | 00/6EF9 : AD D4 11    |                          LDA     PlayerFallAccLo      
12417 | 40                    player.s    787 | Code        | 11 |         |    2 | 00/6EFC : 69 80       |                          ADC     #{$80}               
12418 | 40                    player.s    788 | Code        | 11 |         |    3 | 00/6EFE : 8D D4 11    |                          STA     PlayerFallAccLo      
12419 | 40                    player.s    789 | Code        | 11 |         |    3 | 00/6F01 : AD D5 11    |                          LDA     PlayerFallAccHi      
12420 | 40                    player.s    790 | Code        | 11 |         |    2 | 00/6F04 : 69 01       |                          ADC     #{$01}               
12421 | 40                    player.s    791 | Code        | 11 |         |    2 | 00/6F06 : 85 1B       |                          STA     {$1B}                
12422 | 40                    player.s    792 | Code        | 11 |         |    3 | 00/6F08 : 9C D5 11    |                          STZ     PlayerFallAccHi      
12423 | 40                    player.s    793 | Empty       | 11 |         |    0 | 00/6F0B               | _fStepLoop                                            
12424 | 40                    player.s    794 | Code        | 11 |         |    2 | 00/6F0B : A5 1B       |                          LDA     {$1B}                
12425 | 40                    player.s    795 | Code        | 11 |         |    2 | 00/6F0D : D0 01       |                          BNE     _fStepGo             
12426 | 40                    player.s    796 | Code        | 11 |         |    1 | 00/6F0F : 60          |                          RTS                          
12427 | 40                    player.s    797 | Code        | 11 |         |    2 | 00/6F10 : C6 1B       | _fStepGo                 DEC     {$1B}                
12428 | 40                    player.s    798 | Empty       | 11 |         |    0 | 00/6F12               |                                                       
12429 | 40                    player.s    799 | Code        | 11 |         |    2 | 00/6F12 : E6 7A       |                          INC     {$7A}                
12430 | 40                    player.s    800 | Code        | 11 |         |    2 | 00/6F14 : E6 71       |                          INC     {$71}                
12431 | 40                    player.s    801 | Empty       | 11 |         |    0 | 00/6F16               |                                                       
12432 | 40                    player.s    802 | Code        | 11 |         |    2 | 00/6F16 : A5 71       |                          LDA     {$71}                
12433 | 40                    player.s    803 | Code        | 11 |         |    2 | 00/6F18 : C9 BA       |                          CMP     #{186}               
12434 | 40                    player.s    804 | Code        | 11 |         |    2 | 00/6F1A : B0 2A       |                          BCS     _hitBottom           
12435 | 40                    player.s    805 | Empty       | 11 |         |    0 | 00/6F1C               |                                                       
12436 | 40                    player.s    806 | Code        | 11 |         |    3 | 00/6F1C : 20 F7 70    |                          JSR     CheckGround          
12437 | 40                    player.s    807 | Code        | 11 |         |    2 | 00/6F1F : F0 EA       |                          BEQ     _fStepLoop           ; still falling - take next sub-step if any
12438 | 40                    player.s    808 | Empty       | 11 |         |    0 | 00/6F21               |                                                       
12439 | 40                    player.s    809 | Comment     | 11 |         |    0 | 00/6F21               | * Landed
12440 | 40                    player.s    810 | Code        | 11 |         |    3 | 00/6F21 : 20 8B 70    |                          JSR     SnapToGround         
12441 | 40                    player.s    811 | Code        | 11 |         |    2 | 00/6F24 : A5 7A       |                          LDA     {$7A}                
12442 | 40                    player.s    812 | Code        | 11 |         |    2 | 00/6F26 : C9 14       |                          CMP     #{20}                
12443 | 40                    player.s    813 | Code        | 11 |         |    2 | 00/6F28 : B0 11       |                          BCS     _fatalLand           ; fatal fall - die at landing spot
12444 | 40                    player.s    814 | Code        | 11 |         |    2 | 00/6F2A : A9 00       |                          LDA     #{0}                 
12445 | 40                    player.s    815 | Code        | 11 |         |    2 | 00/6F2C : 85 74       |                          STA     {$74}                
12446 | 40                    player.s    816 | Code        | 11 |         |    2 | 00/6F2E : A9 00       |                          LDA     #{0}                 
12447 | 40                    player.s    817 | Code        | 11 |         |    2 | 00/6F30 : 85 72       |                          STA     {$72}                
12448 | 40                    player.s    818 | Code        | 11 |         |    2 | 00/6F32 : 64 7A       |                          STZ     {$7A}                
12449 | 40                    player.s    819 | Code        | 11 |         |    3 | 00/6F34 : 9C D4 11    |                          STZ     PlayerFallAccLo      
12450 | 40                    player.s    820 | Code        | 11 |         |    3 | 00/6F37 : 9C D5 11    |                          STZ     PlayerFallAccHi      
12451 | 40                    player.s    821 | Code        | 11 |         |    1 | 00/6F3A : 60          |                          RTS                          
12452 | 40                    player.s    822 | Empty       | 11 |         |    0 | 00/6F3B               |                                                       
12453 | 40                    player.s    823 | Empty       | 11 |         |    0 | 00/6F3B               | _fatalLand                                            
12454 | 40                    player.s    824 | Comment     | 11 |         |    0 | 00/6F3B               | * Fatal fall - PlayerY already snapped to ground by SnapToGround
12455 | 40                    player.s    825 | Code        | 11 |         |    2 | 00/6F3B : 64 7A       |                          STZ     {$7A}                
12456 | 40                    player.s    826 | Code        | 11 |         |    3 | 00/6F3D : 9C D4 11    |                          STZ     PlayerFallAccLo      
12457 | 40                    player.s    827 | Code        | 11 |         |    3 | 00/6F40 : 9C D5 11    |                          STZ     PlayerFallAccHi      
12458 | 40                    player.s    828 | Code        | 11 |         |    3 | 00/6F43 : 4C 13 68    |                          JMP     LoseLife             
12459 | 40                    player.s    829 | Empty       | 11 |         |    0 | 00/6F46               |                                                       
12460 | 40                    player.s    830 | Empty       | 11 |         |    0 | 00/6F46               | _hitBottom                                            
12461 | 40                    player.s    831 | Comment     | 11 |         |    0 | 00/6F46               | * Fell off bottom of screen
12462 | 40                    player.s    832 | Code        | 11 |         |    2 | 00/6F46 : A9 BA       |                          LDA     #{186}               
12463 | 40                    player.s    833 | Code        | 11 |         |    2 | 00/6F48 : 85 71       |                          STA     {$71}                
12464 | 40                    player.s    834 | Code        | 11 |         |    2 | 00/6F4A : 64 7A       |                          STZ     {$7A}                
12465 | 40                    player.s    835 | Code        | 11 |         |    3 | 00/6F4C : 9C D4 11    |                          STZ     PlayerFallAccLo      
12466 | 40                    player.s    836 | Code        | 11 |         |    3 | 00/6F4F : 9C D5 11    |                          STZ     PlayerFallAccHi      
12467 | 40                    player.s    837 | Code        | 11 |         |    3 | 00/6F52 : 4C 13 68    |                          JMP     LoseLife             
12468 | 40                    player.s    838 | Empty       | 11 |         |    0 | 00/6F55               |                                                       
12469 | 40                    player.s    839 | Comment     | 11 |         |    0 | 00/6F55               | *----------------------------------------------
12470 | 40                    player.s    840 | Comment     | 11 |         |    0 | 00/6F55               | * CheckCartHit - Check if any cart on this map overlaps player
12471 | 40                    player.s    841 | Comment     | 11 |         |    0 | 00/6F55               | *
12472 | 40                    player.s    842 | Comment     | 11 |         |    0 | 00/6F55               | * Called each frame from game loop (after UpdateCarts).
12473 | 40                    player.s    843 | Comment     | 11 |         |    0 | 00/6F55               | * Skips if player is hanging or riding.
12474 | 40                    player.s    844 | Comment     | 11 |         |    0 | 00/6F55               | * On hit: sets ST_STUN, starts stun timer.
12475 | 40                    player.s    845 | Comment     | 11 |         |    0 | 00/6F55               | *----------------------------------------------
12476 | 40                    player.s    846 | Equivalence | 11 |         |    0 | 00/6F55               | STUN_FRAMES              =       60                   ; ~2 seconds at 30fps
12477 | 40                    player.s    847 | Empty       | 11 |         |    0 | 00/6F55               |                                                       
12478 | 40                    player.s    848 | Empty       | 11 |         |    0 | 00/6F55               | CheckCartHit                                          
12479 | 40                    player.s    849 | Code        | 11 |         |    2 | 00/6F55 : A5 74       |                          LDA     {$74}                
12480 | 40                    player.s    850 | Code        | 11 |         |    2 | 00/6F57 : C9 05       |                          CMP     #{5}                 
12481 | 40                    player.s    851 | Code        | 11 |         |    2 | 00/6F59 : F0 3F       |                          BEQ     _noHit               
12482 | 40                    player.s    852 | Code        | 11 |         |    2 | 00/6F5B : C9 06       |                          CMP     #{6}                 
12483 | 40                    player.s    853 | Code        | 11 |         |    2 | 00/6F5D : F0 3B       |                          BEQ     _noHit               
12484 | 40                    player.s    854 | Code        | 11 |         |    2 | 00/6F5F : C9 04       |                          CMP     #{4}                 
12485 | 40                    player.s    855 | Code        | 11 |         |    2 | 00/6F61 : F0 37       |                          BEQ     _noHit               
12486 | 40                    player.s    856 | Code        | 11 |         |    2 | 00/6F63 : C9 07       |                          CMP     #{7}                 
12487 | 40                    player.s    857 | Code        | 11 |         |    2 | 00/6F65 : F0 33       |                          BEQ     _noHit               
12488 | 40                    player.s    858 | Empty       | 11 |         |    0 | 00/6F67               |                                                       
12489 | 40                    player.s    859 | Code        | 11 |         |    2 | 00/6F67 : A2 00       |                          LDX     #0                   
12490 | 40                    player.s    860 | Code        | 11 |         |    2 | 00/6F69 : E0 03       | _chkLoop                 CPX     #{3}                 
12491 | 40                    player.s    861 | Code        | 11 |         |    2 | 00/6F6B : B0 2D       |                          BCS     _noHit               
12492 | 40                    player.s    862 | Code        | 11 |         |    3 | 00/6F6D : BD C3 77    |                          LDA     CartTblMap,X         
12493 | 40                    player.s    863 | Code        | 11 |         |    2 | 00/6F70 : C5 1C       |                          CMP     {$1C}                
12494 | 40                    player.s    864 | Code        | 11 |         |    2 | 00/6F72 : D0 23       |                          BNE     _chkNext             ; cart not on this map
12495 | 40                    player.s    865 | Comment     | 11 |         |    0 | 00/6F74               | * Check Y overlap: cart and player on same rail row
12496 | 40                    player.s    866 | Comment     | 11 |         |    0 | 00/6F74               | * Cart feet = CartY + 11, Player feet = PlayerY + 11
12497 | 40                    player.s    867 | Comment     | 11 |         |    0 | 00/6F74               | * Same row if |CartY - PlayerY| < 6
12498 | 40                    player.s    868 | Code        | 11 |         |    3 | 00/6F74 : BD BD 77    |                          LDA     CartTblY,X           
12499 | 40                    player.s    869 | Code        | 11 |         |    1 | 00/6F77 : 38          |                          SEC                          
12500 | 40                    player.s    870 | Code        | 11 |         |    2 | 00/6F78 : E5 71       |                          SBC     {$71}                
12501 | 40                    player.s    871 | Code        | 11 |         |    2 | 00/6F7A : 10 03       |                          BPL     _chkYPos             
12502 | 40                    player.s    872 | Code        | 11 |         |    2 | 00/6F7C : 49 FF       |                          EOR     #$FF                 
12503 | 40                    player.s    873 | Code        | 11 |         |    1 | 00/6F7E : 1A          |                          INC                          ; absolute value
12504 | 40                    player.s    874 | Code        | 11 |         |    2 | 00/6F7F : C9 06       | _chkYPos                 CMP     #6                   
12505 | 40                    player.s    875 | Code        | 11 |         |    2 | 00/6F81 : B0 14       |                          BCS     _chkNext             ; Y too far apart
12506 | 40                    player.s    876 | Comment     | 11 |         |    0 | 00/6F83               | * Check X overlap: |CartX - PlayerX| < 7
12507 | 40                    player.s    877 | Code        | 11 |         |    3 | 00/6F83 : BD BA 77    |                          LDA     CartTblX,X           
12508 | 40                    player.s    878 | Code        | 11 |         |    1 | 00/6F86 : 38          |                          SEC                          
12509 | 40                    player.s    879 | Code        | 11 |         |    2 | 00/6F87 : E5 70       |                          SBC     {$70}                
12510 | 40                    player.s    880 | Code        | 11 |         |    2 | 00/6F89 : 10 03       |                          BPL     _chkXPos             
12511 | 40                    player.s    881 | Code        | 11 |         |    2 | 00/6F8B : 49 FF       |                          EOR     #$FF                 
12512 | 40                    player.s    882 | Code        | 11 |         |    1 | 00/6F8D : 1A          |                          INC                          
12513 | 40                    player.s    883 | Code        | 11 |         |    2 | 00/6F8E : C9 07       | _chkXPos                 CMP     #7                   
12514 | 40                    player.s    884 | Code        | 11 |         |    2 | 00/6F90 : B0 05       |                          BCS     _chkNext             
12515 | 40                    player.s    885 | Comment     | 11 |         |    0 | 00/6F92               | * Hit! Kill the player
12516 | 40                    player.s    886 | Code        | 11 |         |    2 | 00/6F92 : 64 7A       |                          STZ     {$7A}                
12517 | 40                    player.s    887 | Code        | 11 |         |    3 | 00/6F94 : 4C 13 68    |                          JMP     LoseLife             
12518 | 40                    player.s    888 | Code        | 11 |         |    1 | 00/6F97 : E8          | _chkNext                 INX                          
12519 | 40                    player.s    889 | Code        | 11 |         |    2 | 00/6F98 : 80 CF       |                          BRA     _chkLoop             
12520 | 40                    player.s    890 | Code        | 11 |         |    1 | 00/6F9A : 60          | _noHit                   RTS                          
12521 | 40                    player.s    891 | Empty       | 11 |         |    0 | 00/6F9B               |                                                       
12522 | 40                    player.s    892 | Comment     | 11 |         |    0 | 00/6F9B               | *----------------------------------------------
12523 | 40                    player.s    893 | Comment     | 11 |         |    0 | 00/6F9B               | * DoStun - Player is stunned (hit by cart)
12524 | 40                    player.s    894 | Comment     | 11 |         |    0 | 00/6F9B               | *
12525 | 40                    player.s    895 | Comment     | 11 |         |    0 | 00/6F9B               | * FR_FALL for first few frames, then loop FR_STUN1/FR_STUN2.
12526 | 40                    player.s    896 | Comment     | 11 |         |    0 | 00/6F9B               | * Ignores all input. Returns to ST_STAND when timer expires.
12527 | 40                    player.s    897 | Comment     | 11 |         |    0 | 00/6F9B               | *----------------------------------------------
12528 | 40                    player.s    898 | Empty       | 11 |         |    0 | 00/6F9B               | DoStun                                                
12529 | 40                    player.s    899 | Code        | 11 |         |    2 | 00/6F9B : C6 EA       |                          DEC     {$EA}                
12530 | 40                    player.s    900 | Code        | 11 |         |    2 | 00/6F9D : D0 09       |                          BNE     _stunAnim            
12531 | 40                    player.s    901 | Comment     | 11 |         |    0 | 00/6F9F               | * Timer expired - recover
12532 | 40                    player.s    902 | Code        | 11 |         |    2 | 00/6F9F : A9 00       |                          LDA     #{0}                 
12533 | 40                    player.s    903 | Code        | 11 |         |    2 | 00/6FA1 : 85 74       |                          STA     {$74}                
12534 | 40                    player.s    904 | Code        | 11 |         |    2 | 00/6FA3 : A9 00       |                          LDA     #{0}                 
12535 | 40                    player.s    905 | Code        | 11 |         |    2 | 00/6FA5 : 85 72       |                          STA     {$72}                
12536 | 40                    player.s    906 | Code        | 11 |         |    1 | 00/6FA7 : 60          |                          RTS                          
12537 | 40                    player.s    907 | Empty       | 11 |         |    0 | 00/6FA8               | _stunAnim                                             
12538 | 40                    player.s    908 | Comment     | 11 |         |    0 | 00/6FA8               | * Frames 60-53: play fall sequence 12,13,14 (each ~3 frames)
12539 | 40                    player.s    909 | Comment     | 11 |         |    0 | 00/6FA8               | * Frames 52-1: loop stun frames 15,16
12540 | 40                    player.s    910 | Code        | 11 |         |    2 | 00/6FA8 : A5 EA       |                          LDA     {$EA}                
12541 | 40                    player.s    911 | Code        | 11 |         |    2 | 00/6FAA : C9 39       |                          CMP     #{60}-3              
12542 | 40                    player.s    912 | Code        | 11 |         |    2 | 00/6FAC : B0 18       |                          BCS     _stunFr12            ; 60-58: frame 12
12543 | 40                    player.s    913 | Code        | 11 |         |    2 | 00/6FAE : C9 36       |                          CMP     #{60}-6              
12544 | 40                    player.s    914 | Code        | 11 |         |    2 | 00/6FB0 : B0 19       |                          BCS     _stunFr13            ; 57-55: frame 13
12545 | 40                    player.s    915 | Code        | 11 |         |    2 | 00/6FB2 : C9 33       |                          CMP     #{60}-9              
12546 | 40                    player.s    916 | Code        | 11 |         |    2 | 00/6FB4 : B0 1A       |                          BCS     _stunFr14            ; 54-52: frame 14
12547 | 40                    player.s    917 | Comment     | 11 |         |    0 | 00/6FB6               | * Loop stun frames 15/16 (alternate every 4 frames)
12548 | 40                    player.s    918 | Code        | 11 |         |    2 | 00/6FB6 : 29 07       |                          AND     #$07                 
12549 | 40                    player.s    919 | Code        | 11 |         |    2 | 00/6FB8 : C9 04       |                          CMP     #4                   
12550 | 40                    player.s    920 | Code        | 11 |         |    2 | 00/6FBA : 90 05       |                          BCC     _stun2               
12551 | 40                    player.s    921 | Code        | 11 |         |    2 | 00/6FBC : A9 0F       |                          LDA     #{15}                
12552 | 40                    player.s    922 | Code        | 11 |         |    2 | 00/6FBE : 85 72       |                          STA     {$72}                
12553 | 40                    player.s    923 | Code        | 11 |         |    1 | 00/6FC0 : 60          |                          RTS                          
12554 | 40                    player.s    924 | Code        | 11 |         |    2 | 00/6FC1 : A9 10       | _stun2                   LDA     #{16}                
12555 | 40                    player.s    925 | Code        | 11 |         |    2 | 00/6FC3 : 85 72       |                          STA     {$72}                
12556 | 40                    player.s    926 | Code        | 11 |         |    1 | 00/6FC5 : 60          |                          RTS                          
12557 | 40                    player.s    927 | Code        | 11 |         |    2 | 00/6FC6 : A9 0C       | _stunFr12                LDA     #{12}                
12558 | 40                    player.s    928 | Code        | 11 |         |    2 | 00/6FC8 : 85 72       |                          STA     {$72}                
12559 | 40                    player.s    929 | Code        | 11 |         |    1 | 00/6FCA : 60          |                          RTS                          
12560 | 40                    player.s    930 | Code        | 11 |         |    2 | 00/6FCB : A9 0D       | _stunFr13                LDA     #13                  
12561 | 40                    player.s    931 | Code        | 11 |         |    2 | 00/6FCD : 85 72       |                          STA     {$72}                
12562 | 40                    player.s    932 | Code        | 11 |         |    1 | 00/6FCF : 60          |                          RTS                          
12563 | 40                    player.s    933 | Code        | 11 |         |    2 | 00/6FD0 : A9 0E       | _stunFr14                LDA     #14                  
12564 | 40                    player.s    934 | Code        | 11 |         |    2 | 00/6FD2 : 85 72       |                          STA     {$72}                
12565 | 40                    player.s    935 | Code        | 11 |         |    1 | 00/6FD4 : 60          |                          RTS                          
12566 | 40                    player.s    936 | Empty       | 11 |         |    0 | 00/6FD5               |                                                       
12567 | 40                    player.s    937 | Comment     | 11 |         |    0 | 00/6FD5               | *----------------------------------------------
12568 | 40                    player.s    938 | Comment     | 11 |         |    0 | 00/6FD5               | * DoHang - Player hanging from grab bar (frame 9)
12569 | 40                    player.s    939 | Comment     | 11 |         |    0 | 00/6FD5               | *
12570 | 40                    player.s    940 | Comment     | 11 |         |    0 | 00/6FD5               | * Safe from cart hits. DOWN releases or enters cart.
12571 | 40                    player.s    941 | Comment     | 11 |         |    0 | 00/6FD5               | * UP does nothing (already hanging).
12572 | 40                    player.s    942 | Comment     | 11 |         |    0 | 00/6FD5               | *----------------------------------------------
12573 | 40                    player.s    943 | Empty       | 11 |         |    0 | 00/6FD5               | DoHang                                                
12574 | 40                    player.s    944 | Code        | 11 |         |    2 | 00/6FD5 : A9 09       |                          LDA     #{9}                 
12575 | 40                    player.s    945 | Code        | 11 |         |    2 | 00/6FD7 : 85 72       |                          STA     {$72}                
12576 | 40                    player.s    946 | Comment     | 11 |         |    0 | 00/6FD9               | * Check for DOWN input
12577 | 40                    player.s    947 | Code        | 11 |         |    2 | 00/6FD9 : A5 76       |                          LDA     {$76}                
12578 | 40                    player.s    948 | Code        | 11 |         |    2 | 00/6FDB : 29 08       |                          AND     #{$08}               
12579 | 40                    player.s    949 | Code        | 11 |         |    2 | 00/6FDD : F0 25       |                          BEQ     _hangIdle            
12580 | 40                    player.s    950 | Comment     | 11 |         |    0 | 00/6FDF               | * DOWN pressed - check for cart below
12581 | 40                    player.s    951 | Code        | 11 |         |    3 | 00/6FDF : 20 05 70    |                          JSR     FindCartBelow        
12582 | 40                    player.s    952 | Code        | 11 |         |    2 | 00/6FE2 : 90 0F       |                          BCC     _hangDrop            ; no cart below, just drop
12583 | 40                    player.s    953 | Comment     | 11 |         |    0 | 00/6FE4               | * Cart found (index in X) - enter the cart
12584 | 40                    player.s    954 | Code        | 11 |         |    2 | 00/6FE4 : A9 06       |                          LDA     #{6}                 
12585 | 40                    player.s    955 | Code        | 11 |         |    2 | 00/6FE6 : 85 74       |                          STA     {$74}                
12586 | 40                    player.s    956 | Code        | 11 |         |    2 | 00/6FE8 : 86 EB       |                          STX     {$EB}                
12587 | 40                    player.s    957 | Code        | 11 |         |    2 | 00/6FEA : A9 0B       |                          LDA     #{11}                
12588 | 40                    player.s    958 | Code        | 11 |         |    3 | 00/6FEC : 9D C6 77    |                          STA     CartTblFr,X          ; cart shows player inside
12589 | 40                    player.s    959 | Code        | 11 |         |    3 | 00/6FEF : 20 B7 67    |                          JSR     Add100               ; +100 for landing in a cart
12590 | 40                    player.s    960 | Code        | 11 |         |    1 | 00/6FF2 : 60          |                          RTS                          
12591 | 40                    player.s    961 | Empty       | 11 |         |    0 | 00/6FF3               | _hangDrop                                             
12592 | 40                    player.s    962 | Comment     | 11 |         |    0 | 00/6FF3               | * Release grab bar and fall
12593 | 40                    player.s    963 | Code        | 11 |         |    2 | 00/6FF3 : A9 03       |                          LDA     #{3}                 
12594 | 40                    player.s    964 | Code        | 11 |         |    2 | 00/6FF5 : 85 74       |                          STA     {$74}                
12595 | 40                    player.s    965 | Code        | 11 |         |    2 | 00/6FF7 : 64 7A       |                          STZ     {$7A}                
12596 | 40                    player.s    966 | Code        | 11 |         |    3 | 00/6FF9 : 9C D4 11    |                          STZ     PlayerFallAccLo      
12597 | 40                    player.s    967 | Code        | 11 |         |    3 | 00/6FFC : 9C D5 11    |                          STZ     PlayerFallAccHi      
12598 | 40                    player.s    968 | Code        | 11 |         |    2 | 00/6FFF : A9 0C       |                          LDA     #{12}                
12599 | 40                    player.s    969 | Code        | 11 |         |    2 | 00/7001 : 85 72       |                          STA     {$72}                
12600 | 40                    player.s    970 | Code        | 11 |         |    1 | 00/7003 : 60          |                          RTS                          
12601 | 40                    player.s    971 | Code        | 11 |         |    1 | 00/7004 : 60          | _hangIdle                RTS                          
12602 | 40                    player.s    972 | Empty       | 11 |         |    0 | 00/7005               |                                                       
12603 | 40                    player.s    973 | Comment     | 11 |         |    0 | 00/7005               | *----------------------------------------------
12604 | 40                    player.s    974 | Comment     | 11 |         |    0 | 00/7005               | * FindCartBelow - Find a cart directly below the hanging player
12605 | 40                    player.s    975 | Comment     | 11 |         |    0 | 00/7005               | *
12606 | 40                    player.s    976 | Comment     | 11 |         |    0 | 00/7005               | * Out: C=1 if found (X = cart index), C=0 if not found
12607 | 40                    player.s    977 | Comment     | 11 |         |    0 | 00/7005               | *----------------------------------------------
12608 | 40                    player.s    978 | Empty       | 11 |         |    0 | 00/7005               | FindCartBelow                                         
12609 | 40                    player.s    979 | Code        | 11 |         |    2 | 00/7005 : A2 00       |                          LDX     #0                   
12610 | 40                    player.s    980 | Code        | 11 |         |    2 | 00/7007 : E0 03       | _fcLoop                  CPX     #{3}                 
12611 | 40                    player.s    981 | Code        | 11 |         |    2 | 00/7009 : B0 2A       |                          BCS     _fcNone              
12612 | 40                    player.s    982 | Code        | 11 |         |    3 | 00/700B : BD C3 77    |                          LDA     CartTblMap,X         
12613 | 40                    player.s    983 | Code        | 11 |         |    2 | 00/700E : C5 1C       |                          CMP     {$1C}                
12614 | 40                    player.s    984 | Code        | 11 |         |    2 | 00/7010 : D0 20       |                          BNE     _fcNext              
12615 | 40                    player.s    985 | Comment     | 11 |         |    0 | 00/7012               | * Check X overlap (within 7px)
12616 | 40                    player.s    986 | Code        | 11 |         |    3 | 00/7012 : BD BA 77    |                          LDA     CartTblX,X           
12617 | 40                    player.s    987 | Code        | 11 |         |    1 | 00/7015 : 38          |                          SEC                          
12618 | 40                    player.s    988 | Code        | 11 |         |    2 | 00/7016 : E5 70       |                          SBC     {$70}                
12619 | 40                    player.s    989 | Code        | 11 |         |    2 | 00/7018 : 10 03       |                          BPL     _fcXPos              
12620 | 40                    player.s    990 | Code        | 11 |         |    2 | 00/701A : 49 FF       |                          EOR     #$FF                 
12621 | 40                    player.s    991 | Code        | 11 |         |    1 | 00/701C : 1A          |                          INC                          
12622 | 40                    player.s    992 | Code        | 11 |         |    2 | 00/701D : C9 07       | _fcXPos                  CMP     #7                   
12623 | 40                    player.s    993 | Code        | 11 |         |    2 | 00/701F : B0 11       |                          BCS     _fcNext              
12624 | 40                    player.s    994 | Comment     | 11 |         |    0 | 00/7021               | * Check Y: cart near or below player (within ±6px vertically)
12625 | 40                    player.s    995 | Code        | 11 |         |    3 | 00/7021 : BD BD 77    |                          LDA     CartTblY,X           
12626 | 40                    player.s    996 | Code        | 11 |         |    1 | 00/7024 : 38          |                          SEC                          
12627 | 40                    player.s    997 | Code        | 11 |         |    2 | 00/7025 : E5 71       |                          SBC     {$71}                
12628 | 40                    player.s    998 | Code        | 11 |         |    2 | 00/7027 : 10 03       |                          BPL     _fcYPos              
12629 | 40                    player.s    999 | Code        | 11 |         |    2 | 00/7029 : 49 FF       |                          EOR     #$FF                 
12630 | 40                    player.s   1000 | Code        | 11 |         |    1 | 00/702B : 1A          |                          INC                          ; absolute value
12631 | 40                    player.s   1001 | Code        | 11 |         |    2 | 00/702C : C9 06       | _fcYPos                  CMP     #6                   ; within 6px
12632 | 40                    player.s   1002 | Code        | 11 |         |    2 | 00/702E : B0 02       |                          BCS     _fcNext              
12633 | 40                    player.s   1003 | Code        | 11 |         |    1 | 00/7030 : 38          |                          SEC                          ; found
12634 | 40                    player.s   1004 | Code        | 11 |         |    1 | 00/7031 : 60          |                          RTS                          
12635 | 40                    player.s   1005 | Code        | 11 |         |    1 | 00/7032 : E8          | _fcNext                  INX                          
12636 | 40                    player.s   1006 | Code        | 11 |         |    2 | 00/7033 : 80 D2       |                          BRA     _fcLoop              
12637 | 40                    player.s   1007 | Code        | 11 |         |    1 | 00/7035 : 18          | _fcNone                  CLC                          
12638 | 40                    player.s   1008 | Code        | 11 |         |    1 | 00/7036 : 60          |                          RTS                          
12639 | 40                    player.s   1009 | Empty       | 11 |         |    0 | 00/7037               |                                                       
12640 | 40                    player.s   1010 | Comment     | 11 |         |    0 | 00/7037               | *----------------------------------------------
12641 | 40                    player.s   1011 | Comment     | 11 |         |    0 | 00/7037               | * DoRide - Player riding in a mine cart
12642 | 40                    player.s   1012 | Comment     | 11 |         |    0 | 00/7037               | *
12643 | 40                    player.s   1013 | Comment     | 11 |         |    0 | 00/7037               | * Player is invisible (cart frame 11 shows both).
12644 | 40                    player.s   1014 | Comment     | 11 |         |    0 | 00/7037               | * Player position tracks the cart. Only UP exits
12645 | 40                    player.s   1015 | Comment     | 11 |         |    0 | 00/7037               | * at a grab bar.
12646 | 40                    player.s   1016 | Comment     | 11 |         |    0 | 00/7037               | *----------------------------------------------
12647 | 40                    player.s   1017 | Empty       | 11 |         |    0 | 00/7037               | DoRide                                                
12648 | 40                    player.s   1018 | Code        | 11 |         |    2 | 00/7037 : A6 EB       |                          LDX     {$EB}                
12649 | 40                    player.s   1019 | Comment     | 11 |         |    0 | 00/7039               | * Track cart position and map
12650 | 40                    player.s   1020 | Code        | 11 |         |    3 | 00/7039 : BD BA 77    |                          LDA     CartTblX,X           
12651 | 40                    player.s   1021 | Code        | 11 |         |    2 | 00/703C : 85 70       |                          STA     {$70}                
12652 | 40                    player.s   1022 | Code        | 11 |         |    3 | 00/703E : BD BD 77    |                          LDA     CartTblY,X           
12653 | 40                    player.s   1023 | Code        | 11 |         |    2 | 00/7041 : 85 71       |                          STA     {$71}                
12654 | 40                    player.s   1024 | Comment     | 11 |         |    0 | 00/7043               | * If cart changed maps, trigger map transition for player
12655 | 40                    player.s   1025 | Code        | 11 |         |    3 | 00/7043 : BD C3 77    |                          LDA     CartTblMap,X         
12656 | 40                    player.s   1026 | Code        | 11 |         |    2 | 00/7046 : C5 1C       |                          CMP     {$1C}                
12657 | 40                    player.s   1027 | Code        | 11 |         |    2 | 00/7048 : F0 0F       |                          BEQ     _rideOnMap           
12658 | 40                    player.s   1028 | Comment     | 11 |         |    0 | 00/704A               | * Cart teleported to a different map - request transition
12659 | 40                    player.s   1029 | Code        | 11 |         |    1 | 00/704A : 38          |                          SEC                          
12660 | 40                    player.s   1030 | Code        | 11 |         |    2 | 00/704B : E5 1C       |                          SBC     {$1C}                
12661 | 40                    player.s   1031 | Code        | 11 |         |    2 | 00/704D : 30 06       |                          BMI     _rideLeft            
12662 | 40                    player.s   1032 | Code        | 11 |         |    2 | 00/704F : A9 01       |                          LDA     #1                   ; cart went right
12663 | 40                    player.s   1033 | Code        | 11 |         |    2 | 00/7051 : 85 29       |                          STA     {$29}                
12664 | 40                    player.s   1034 | Code        | 11 |         |    2 | 00/7053 : 80 04       |                          BRA     _rideOnMap           
12665 | 40                    player.s   1035 | Code        | 11 |         |    2 | 00/7055 : A9 02       | _rideLeft                LDA     #2                   ; cart went left
12666 | 40                    player.s   1036 | Code        | 11 |         |    2 | 00/7057 : 85 29       |                          STA     {$29}                
12667 | 40                    player.s   1037 | Empty       | 11 |         |    0 | 00/7059               | _rideOnMap                                            
12668 | 40                    player.s   1038 | Comment     | 11 |         |    0 | 00/7059               | * Check UP input at a grab bar
12669 | 40                    player.s   1039 | Code        | 11 |         |    2 | 00/7059 : A5 76       |                          LDA     {$76}                
12670 | 40                    player.s   1040 | Code        | 11 |         |    2 | 00/705B : 29 04       |                          AND     #{$04}               
12671 | 40                    player.s   1041 | Code        | 11 |         |    2 | 00/705D : F0 2B       |                          BEQ     _rideIdle            
12672 | 40                    player.s   1042 | Comment     | 11 |         |    0 | 00/705F               | * Check tile above cart for COLL_HANDLE
12673 | 40                    player.s   1043 | Code        | 11 |         |    2 | 00/705F : A5 70       |                          LDA     {$70}                
12674 | 40                    player.s   1044 | Code        | 11 |         |    1 | 00/7061 : 18          |                          CLC                          
12675 | 40                    player.s   1045 | Code        | 11 |         |    2 | 00/7062 : 69 03       |                          ADC     #3                   ; center of sprite
12676 | 40                    player.s   1046 | Code        | 11 |         |    1 | 00/7064 : AA          |                          TAX                          
12677 | 40                    player.s   1047 | Code        | 11 |         |    2 | 00/7065 : A5 71       |                          LDA     {$71}                
12678 | 40                    player.s   1048 | Code        | 11 |         |    1 | 00/7067 : 38          |                          SEC                          
12679 | 40                    player.s   1049 | Code        | 11 |         |    2 | 00/7068 : E9 07       |                          SBC     #7                   ; check tile row above cart
12680 | 40                    player.s   1050 | Code        | 11 |         |    3 | 00/706A : 20 40 10    |                          JSR     GetCollType          
12681 | 40                    player.s   1051 | Code        | 11 |         |    2 | 00/706D : C9 03       |                          CMP     #{3}                 
12682 | 40                    player.s   1052 | Code        | 11 |         |    2 | 00/706F : D0 19       |                          BNE     _rideIdle            
12683 | 40                    player.s   1053 | Comment     | 11 |         |    0 | 00/7071               | * Exit cart at grab bar - go to ST_HANG (safe from cart hit)
12684 | 40                    player.s   1054 | Code        | 11 |         |    2 | 00/7071 : A6 EB       |                          LDX     {$EB}                
12685 | 40                    player.s   1055 | Code        | 11 |         |    2 | 00/7073 : A9 0A       |                          LDA     #{10}                
12686 | 40                    player.s   1056 | Code        | 11 |         |    3 | 00/7075 : 9D C6 77    |                          STA     CartTblFr,X          ; restore empty cart frame
12687 | 40                    player.s   1057 | Comment     | 11 |         |    0 | 00/7078               | * Position: cart Y = hang position (carts are 3px above rail, hang is 2px above rail)
12688 | 40                    player.s   1058 | Code        | 11 |         |    3 | 00/7078 : BD BD 77    |                          LDA     CartTblY,X           
12689 | 40                    player.s   1059 | Code        | 11 |         |    2 | 00/707B : 85 71       |                          STA     {$71}                
12690 | 40                    player.s   1060 | Code        | 11 |         |    2 | 00/707D : A9 05       |                          LDA     #{5}                 
12691 | 40                    player.s   1061 | Code        | 11 |         |    2 | 00/707F : 85 74       |                          STA     {$74}                
12692 | 40                    player.s   1062 | Code        | 11 |         |    2 | 00/7081 : A9 09       |                          LDA     #{9}                 
12693 | 40                    player.s   1063 | Code        | 11 |         |    2 | 00/7083 : 85 72       |                          STA     {$72}                
12694 | 40                    player.s   1064 | Code        | 11 |         |    2 | 00/7085 : A9 FF       |                          LDA     #$FF                 
12695 | 40                    player.s   1065 | Code        | 11 |         |    2 | 00/7087 : 85 EB       |                          STA     {$EB}                
12696 | 40                    player.s   1066 | Code        | 11 |         |    1 | 00/7089 : 60          |                          RTS                          
12697 | 40                    player.s   1067 | Code        | 11 |         |    1 | 00/708A : 60          | _rideIdle                RTS                          
12698 | 40                    player.s   1068 | Empty       | 11 |         |    0 | 00/708B               |                                                       
12699 | 40                    player.s   1069 | Comment     | 11 |         |    0 | 00/708B               | *----------------------------------------------
12700 | 40                    player.s   1070 | Comment     | 11 |         |    0 | 00/708B               | * SnapToGround - Adjust PlayerY so feet rest on surface
12701 | 40                    player.s   1071 | Comment     | 11 |         |    0 | 00/708B               | *
12702 | 40                    player.s   1072 | Comment     | 11 |         |    0 | 00/708B               | * Computes the exact surface scanline under the player's
12703 | 40                    player.s   1073 | Comment     | 11 |         |    0 | 00/708B               | * center and snaps PlayerY up so feet don't penetrate.
12704 | 40                    player.s   1074 | Comment     | 11 |         |    0 | 00/708B               | * Call after CheckGround confirms ground is present.
12705 | 40                    player.s   1075 | Comment     | 11 |         |    0 | 00/708B               | *----------------------------------------------
12706 | 40                    player.s   1076 | Empty       | 11 |         |    0 | 00/708B               | SnapToGround                                          
12707 | 40                    player.s   1077 | Comment     | 11 |         |    0 | 00/708B               | * Check at feet level (Y+11) first
12708 | 40                    player.s   1078 | Code        | 11 |         |    2 | 00/708B : A5 71       |                          LDA     {$71}                
12709 | 40                    player.s   1079 | Code        | 11 |         |    1 | 00/708D : 18          |                          CLC                          
12710 | 40                    player.s   1080 | Code        | 11 |         |    2 | 00/708E : 69 0B       |                          ADC     #11                  ; feet level
12711 | 40                    player.s   1081 | Code        | 11 |         |    2 | 00/7090 : A6 70       |                          LDX     {$70}                
12712 | 40                    player.s   1082 | Code        | 11 |         |    1 | 00/7092 : E8          |                          INX                          
12713 | 40                    player.s   1083 | Code        | 11 |         |    1 | 00/7093 : E8          |                          INX                          
12714 | 40                    player.s   1084 | Code        | 11 |         |    1 | 00/7094 : E8          |                          INX                          ; center X
12715 | 40                    player.s   1085 | Code        | 11 |         |    3 | 00/7095 : 20 40 10    |                          JSR     GetCollType          
12716 | 40                    player.s   1086 | Code        | 11 |         |    2 | 00/7098 : C9 06       |                          CMP     #{6}                 
12717 | 40                    player.s   1087 | Code        | 11 |         |    2 | 00/709A : F0 3E       |                          BEQ     _sgSlope             
12718 | 40                    player.s   1088 | Code        | 11 |         |    2 | 00/709C : C9 01       |                          CMP     #{1}                 
12719 | 40                    player.s   1089 | Code        | 11 |         |    2 | 00/709E : F0 22       |                          BEQ     _sgSolid             
12720 | 40                    player.s   1090 | Code        | 11 |         |    2 | 00/70A0 : C9 04       |                          CMP     #{4}                 
12721 | 40                    player.s   1091 | Code        | 11 |         |    2 | 00/70A2 : F0 2A       |                          BEQ     _sgRail              
12722 | 40                    player.s   1092 | Code        | 11 |         |    2 | 00/70A4 : C9 00       |                          CMP     #{0}                 
12723 | 40                    player.s   1093 | Code        | 11 |         |    2 | 00/70A6 : D0 4E       |                          BNE     _sgDone              ; feet on passable tile (ladder etc), no snap
12724 | 40                    player.s   1094 | Comment     | 11 |         |    0 | 00/70A8               | * Feet in empty space - check one below (Y+12) for ground
12725 | 40                    player.s   1095 | Code        | 11 |         |    2 | 00/70A8 : A5 71       |                          LDA     {$71}                
12726 | 40                    player.s   1096 | Code        | 11 |         |    1 | 00/70AA : 18          |                          CLC                          
12727 | 40                    player.s   1097 | Code        | 11 |         |    2 | 00/70AB : 69 0C       |                          ADC     #12                  
12728 | 40                    player.s   1098 | Code        | 11 |         |    2 | 00/70AD : A6 70       |                          LDX     {$70}                
12729 | 40                    player.s   1099 | Code        | 11 |         |    1 | 00/70AF : E8          |                          INX                          
12730 | 40                    player.s   1100 | Code        | 11 |         |    1 | 00/70B0 : E8          |                          INX                          
12731 | 40                    player.s   1101 | Code        | 11 |         |    1 | 00/70B1 : E8          |                          INX                          
12732 | 40                    player.s   1102 | Code        | 11 |         |    3 | 00/70B2 : 20 40 10    |                          JSR     GetCollType          
12733 | 40                    player.s   1103 | Code        | 11 |         |    2 | 00/70B5 : C9 01       |                          CMP     #{1}                 
12734 | 40                    player.s   1104 | Code        | 11 |         |    2 | 00/70B7 : F0 09       |                          BEQ     _sgSolid             
12735 | 40                    player.s   1105 | Code        | 11 |         |    2 | 00/70B9 : C9 04       |                          CMP     #{4}                 
12736 | 40                    player.s   1106 | Code        | 11 |         |    2 | 00/70BB : F0 11       |                          BEQ     _sgRail              
12737 | 40                    player.s   1107 | Code        | 11 |         |    2 | 00/70BD : C9 06       |                          CMP     #{6}                 
12738 | 40                    player.s   1108 | Code        | 11 |         |    2 | 00/70BF : F0 19       |                          BEQ     _sgSlope             
12739 | 40                    player.s   1109 | Code        | 11 |         |    1 | 00/70C1 : 60          |                          RTS                          ; other type, no snap
12740 | 40                    player.s   1110 | Empty       | 11 |         |    0 | 00/70C2               |                                                       
12741 | 40                    player.s   1111 | Empty       | 11 |         |    0 | 00/70C2               | _sgSolid                                              
12742 | 40                    player.s   1112 | Comment     | 11 |         |    0 | 00/70C2               | * Surface = tile_row * 6 (top of tile)
12743 | 40                    player.s   1113 | Code        | 11 |         |    2 | 00/70C2 : A5 19       |                          LDA     {$19}                
12744 | 40                    player.s   1114 | Code        | 11 |         |    1 | 00/70C4 : 0A          |                          ASL                          
12745 | 40                    player.s   1115 | Code        | 11 |         |    2 | 00/70C5 : 65 19       |                          ADC     {$19}                ; *3 (C clear)
12746 | 40                    player.s   1116 | Code        | 11 |         |    1 | 00/70C7 : 0A          |                          ASL                          ; *6
12747 | 40                    player.s   1117 | Code        | 11 |         |    1 | 00/70C8 : 38          |                          SEC                          
12748 | 40                    player.s   1118 | Code        | 11 |         |    2 | 00/70C9 : E9 0C       |                          SBC     #12                  
12749 | 40                    player.s   1119 | Code        | 11 |         |    2 | 00/70CB : 85 71       |                          STA     {$71}                
12750 | 40                    player.s   1120 | Code        | 11 |         |    1 | 00/70CD : 60          |                          RTS                          
12751 | 40                    player.s   1121 | Empty       | 11 |         |    0 | 00/70CE               |                                                       
12752 | 40                    player.s   1122 | Empty       | 11 |         |    0 | 00/70CE               | _sgRail                                               
12753 | 40                    player.s   1123 | Comment     | 11 |         |    0 | 00/70CE               | * Surface = 1px at bottom of tile (tile_row * 6 + 5)
12754 | 40                    player.s   1124 | Code        | 11 |         |    2 | 00/70CE : A5 19       |                          LDA     {$19}                
12755 | 40                    player.s   1125 | Code        | 11 |         |    1 | 00/70D0 : 0A          |                          ASL                          
12756 | 40                    player.s   1126 | Code        | 11 |         |    2 | 00/70D1 : 65 19       |                          ADC     {$19}                ; *3 (C clear)
12757 | 40                    player.s   1127 | Code        | 11 |         |    1 | 00/70D3 : 0A          |                          ASL                          ; *6
12758 | 40                    player.s   1128 | Code        | 11 |         |    1 | 00/70D4 : 38          |                          SEC                          
12759 | 40                    player.s   1129 | Code        | 11 |         |    2 | 00/70D5 : E9 07       |                          SBC     #7                   
12760 | 40                    player.s   1130 | Code        | 11 |         |    2 | 00/70D7 : 85 71       |                          STA     {$71}                
12761 | 40                    player.s   1131 | Code        | 11 |         |    1 | 00/70D9 : 60          |                          RTS                          
12762 | 40                    player.s   1132 | Empty       | 11 |         |    0 | 00/70DA               |                                                       
12763 | 40                    player.s   1133 | Empty       | 11 |         |    0 | 00/70DA               | _sgSlope                                              
12764 | 40                    player.s   1134 | Comment     | 11 |         |    0 | 00/70DA               | * Surface = tile_row*6 + (6 - height)
12765 | 40                    player.s   1135 | Code        | 11 |         |    2 | 00/70DA : A5 19       |                          LDA     {$19}                
12766 | 40                    player.s   1136 | Code        | 11 |         |    2 | 00/70DC : 85 1A       |                          STA     {$1A}                ; save tile row (safe from GetSlopeHeight)
12767 | 40                    player.s   1137 | Code        | 11 |         |    3 | 00/70DE : 20 82 10    |                          JSR     GetSlopeHeight       ; A = height (0-6)
12768 | 40                    player.s   1138 | Code        | 11 |         |    2 | 00/70E1 : F0 13       |                          BEQ     _sgDone              ; height 0, no solid
12769 | 40                    player.s   1139 | Code        | 11 |         |    2 | 00/70E3 : 85 1B       |                          STA     {$1B}                ; height
12770 | 40                    player.s   1140 | Code        | 11 |         |    2 | 00/70E5 : A5 1A       |                          LDA     {$1A}                ; tile row
12771 | 40                    player.s   1141 | Code        | 11 |         |    1 | 00/70E7 : 0A          |                          ASL                          
12772 | 40                    player.s   1142 | Code        | 11 |         |    2 | 00/70E8 : 65 1A       |                          ADC     {$1A}                ; *3
12773 | 40                    player.s   1143 | Code        | 11 |         |    1 | 00/70EA : 0A          |                          ASL                          ; *6 = tile top scanline
12774 | 40                    player.s   1144 | Code        | 11 |         |    1 | 00/70EB : 18          |                          CLC                          
12775 | 40                    player.s   1145 | Code        | 11 |         |    2 | 00/70EC : 69 06       |                          ADC     #6                   
12776 | 40                    player.s   1146 | Code        | 11 |         |    1 | 00/70EE : 38          |                          SEC                          
12777 | 40                    player.s   1147 | Code        | 11 |         |    2 | 00/70EF : E5 1B       |                          SBC     {$1B}                ; + (6 - height) = surface scanline
12778 | 40                    player.s   1148 | Code        | 11 |         |    1 | 00/70F1 : 38          |                          SEC                          
12779 | 40                    player.s   1149 | Code        | 11 |         |    2 | 00/70F2 : E9 0C       |                          SBC     #12                  
12780 | 40                    player.s   1150 | Code        | 11 |         |    2 | 00/70F4 : 85 71       |                          STA     {$71}                
12781 | 40                    player.s   1151 | Code        | 11 |         |    1 | 00/70F6 : 60          | _sgDone                  RTS                          
12782 | 40                    player.s   1152 | Empty       | 11 |         |    0 | 00/70F7               |                                                       
12783 | 40                    player.s   1153 | Comment     | 11 |         |    0 | 00/70F7               | *----------------------------------------------
12784 | 40                    player.s   1154 | Comment     | 11 |         |    0 | 00/70F7               | * CheckGround - Is there solid ground below player's feet?
12785 | 40                    player.s   1155 | Comment     | 11 |         |    0 | 00/70F7               | *
12786 | 40                    player.s   1156 | Comment     | 11 |         |    0 | 00/70F7               | * Out: Z=0 (BNE) if ground present, Z=1 (BEQ) if no ground
12787 | 40                    player.s   1157 | Comment     | 11 |         |    0 | 00/70F7               | *----------------------------------------------
12788 | 40                    player.s   1158 | Empty       | 11 |         |    0 | 00/70F7               | CheckGround                                           
12789 | 40                    player.s   1159 | Code        | 11 |         |    2 | 00/70F7 : A5 71       |                          LDA     {$71}                
12790 | 40                    player.s   1160 | Code        | 11 |         |    1 | 00/70F9 : 18          |                          CLC                          
12791 | 40                    player.s   1161 | Code        | 11 |         |    2 | 00/70FA : 69 0C       |                          ADC     #12                  ; one pixel below feet
12792 | 40                    player.s   1162 | Code        | 11 |         |    2 | 00/70FC : A6 70       |                          LDX     {$70}                
12793 | 40                    player.s   1163 | Code        | 11 |         |    1 | 00/70FE : E8          |                          INX                          
12794 | 40                    player.s   1164 | Code        | 11 |         |    1 | 00/70FF : E8          |                          INX                          
12795 | 40                    player.s   1165 | Code        | 11 |         |    1 | 00/7100 : E8          |                          INX                          ; center of sprite (X+3)
12796 | 40                    player.s   1166 | Code        | 11 |         |    3 | 00/7101 : 20 EA 10    |                          JSR     CheckGroundAt        
12797 | 40                    player.s   1167 | Code        | 11 |         |    1 | 00/7104 : 48          |                          PHA                          ; save tile result (0=none, or type)
12798 | 40                    player.s   1168 | Comment     | 11 |         |    0 | 00/7105               | * Always check elevator car (takes priority over tile ground)
12799 | 40                    player.s   1169 | Code        | 11 |         |    2 | 00/7105 : A5 71       |                          LDA     {$71}                
12800 | 40                    player.s   1170 | Code        | 11 |         |    1 | 00/7107 : 18          |                          CLC                          
12801 | 40                    player.s   1171 | Code        | 11 |         |    2 | 00/7108 : 69 0C       |                          ADC     #12                  
12802 | 40                    player.s   1172 | Code        | 11 |         |    3 | 00/710A : 20 66 0B    |                          JSR     CheckElevGround      
12803 | 40                    player.s   1173 | Code        | 11 |         |    2 | 00/710D : 90 0F       |                          BCC     _cgNoElev            
12804 | 40                    player.s   1174 | Comment     | 11 |         |    0 | 00/710F               | * Elevator car is here - board it
12805 | 40                    player.s   1175 | Code        | 11 |         |    1 | 00/710F : 68          |                          PLA                          ; discard tile result
12806 | 40                    player.s   1176 | Code        | 11 |         |    2 | 00/7110 : A9 01       |                          LDA     #1                   
12807 | 40                    player.s   1177 | Code        | 11 |         |    2 | 00/7112 : 85 F2       |                          STA     {$F2}                
12808 | 40                    player.s   1178 | Code        | 11 |         |    2 | 00/7114 : A5 EF       |                          LDA     {$EF}                
12809 | 40                    player.s   1179 | Code        | 11 |         |    1 | 00/7116 : 38          |                          SEC                          
12810 | 40                    player.s   1180 | Code        | 11 |         |    2 | 00/7117 : E9 0C       |                          SBC     #12                  ; snap player to car surface
12811 | 40                    player.s   1181 | Code        | 11 |         |    2 | 00/7119 : 85 71       |                          STA     {$71}                
12812 | 40                    player.s   1182 | Code        | 11 |         |    2 | 00/711B : A9 05       |                          LDA     #{5}                 ; Z=0 (ground found)
12813 | 40                    player.s   1183 | Code        | 11 |         |    1 | 00/711D : 60          |                          RTS                          
12814 | 40                    player.s   1184 | Empty       | 11 |         |    0 | 00/711E               | _cgNoElev                                             
12815 | 40                    player.s   1185 | Code        | 11 |         |    1 | 00/711E : 68          |                          PLA                          ; restore tile result
12816 | 40                    player.s   1186 | Code        | 11 |         |    2 | 00/711F : D0 03       |                          BNE     _cgTileGnd           ; tile provides ground
12817 | 40                    player.s   1187 | Code        | 11 |         |    2 | 00/7121 : 64 F2       |                          STZ     {$F2}                ; no ground at all
12818 | 40                    player.s   1188 | Code        | 11 |         |    1 | 00/7123 : 60          |                          RTS                          ; Z=1 (A=0)
12819 | 40                    player.s   1189 | Empty       | 11 |         |    0 | 00/7124               | _cgTileGnd                                            
12820 | 40                    player.s   1190 | Code        | 11 |         |    2 | 00/7124 : 64 F2       |                          STZ     {$F2}                ; on solid tile, not elevator
12821 | 40                    player.s   1191 | Code        | 11 |         |    1 | 00/7126 : 60          |                          RTS                          ; Z=0 (A=type)
12822 | 40                    player.s   1192 | Empty       | 11 |         |    0 | 00/7127               |                                                       
12823 | 40                    player.s   1193 | Comment     | 11 |         |    0 | 00/7127               | *----------------------------------------------
12824 | 40                    player.s   1194 | Comment     | 11 |         |    0 | 00/7127               | * CheckWalkableR - Can player move right?
12825 | 40                    player.s   1195 | Comment     | 11 |         |    0 | 00/7127               | * Checks right edge (X+6) at mid-sprite AND feet level.
12826 | 40                    player.s   1196 | Comment     | 11 |         |    0 | 00/7127               | * Out: Z=0 (BNE) if walkable, Z=1 (BEQ) if blocked
12827 | 40                    player.s   1197 | Comment     | 11 |         |    0 | 00/7127               | *----------------------------------------------
12828 | 40                    player.s   1198 | Empty       | 11 |         |    0 | 00/7127               | CheckWalkableR                                        
12829 | 40                    player.s   1199 | Code        | 11 |         |    2 | 00/7127 : A5 71       |                          LDA     {$71}                
12830 | 40                    player.s   1200 | Code        | 11 |         |    1 | 00/7129 : 18          |                          CLC                          
12831 | 40                    player.s   1201 | Code        | 11 |         |    2 | 00/712A : 69 06       |                          ADC     #6                   ; mid sprite
12832 | 40                    player.s   1202 | Code        | 11 |         |    2 | 00/712C : A6 70       |                          LDX     {$70}                
12833 | 40                    player.s   1203 | Code        | 11 |         |    1 | 00/712E : E8          |                          INX                          
12834 | 40                    player.s   1204 | Code        | 11 |         |    1 | 00/712F : E8          |                          INX                          
12835 | 40                    player.s   1205 | Code        | 11 |         |    1 | 00/7130 : E8          |                          INX                          
12836 | 40                    player.s   1206 | Code        | 11 |         |    1 | 00/7131 : E8          |                          INX                          
12837 | 40                    player.s   1207 | Code        | 11 |         |    1 | 00/7132 : E8          |                          INX                          
12838 | 40                    player.s   1208 | Code        | 11 |         |    1 | 00/7133 : E8          |                          INX                          ; right edge X+6
12839 | 40                    player.s   1209 | Code        | 11 |         |    3 | 00/7134 : 20 0E 11    |                          JSR     CheckWalkableAt      
12840 | 40                    player.s   1210 | Code        | 11 |         |    2 | 00/7137 : F0 10       |                          BEQ     _wrBlk               
12841 | 40                    player.s   1211 | Code        | 11 |         |    2 | 00/7139 : A5 71       |                          LDA     {$71}                
12842 | 40                    player.s   1212 | Code        | 11 |         |    1 | 00/713B : 18          |                          CLC                          
12843 | 40                    player.s   1213 | Code        | 11 |         |    2 | 00/713C : 69 0B       |                          ADC     #11                  ; feet level
12844 | 40                    player.s   1214 | Code        | 11 |         |    2 | 00/713E : A6 70       |                          LDX     {$70}                
12845 | 40                    player.s   1215 | Code        | 11 |         |    1 | 00/7140 : E8          |                          INX                          
12846 | 40                    player.s   1216 | Code        | 11 |         |    1 | 00/7141 : E8          |                          INX                          
12847 | 40                    player.s   1217 | Code        | 11 |         |    1 | 00/7142 : E8          |                          INX                          
12848 | 40                    player.s   1218 | Code        | 11 |         |    1 | 00/7143 : E8          |                          INX                          
12849 | 40                    player.s   1219 | Code        | 11 |         |    1 | 00/7144 : E8          |                          INX                          
12850 | 40                    player.s   1220 | Code        | 11 |         |    1 | 00/7145 : E8          |                          INX                          
12851 | 40                    player.s   1221 | Code        | 11 |         |    3 | 00/7146 : 20 0E 11    |                          JSR     CheckWalkableAt      
12852 | 40                    player.s   1222 | Code        | 11 |         |    1 | 00/7149 : 60          | _wrBlk                   RTS                          
12853 | 40                    player.s   1223 | Empty       | 11 |         |    0 | 00/714A               |                                                       
12854 | 40                    player.s   1224 | Comment     | 11 |         |    0 | 00/714A               | *----------------------------------------------
12855 | 40                    player.s   1225 | Comment     | 11 |         |    0 | 00/714A               | * CheckWalkableL - Can player move left?
12856 | 40                    player.s   1226 | Comment     | 11 |         |    0 | 00/714A               | * Checks left edge (X) at mid-sprite AND feet level.
12857 | 40                    player.s   1227 | Comment     | 11 |         |    0 | 00/714A               | * Out: Z=0 (BNE) if walkable, Z=1 (BEQ) if blocked
12858 | 40                    player.s   1228 | Comment     | 11 |         |    0 | 00/714A               | *----------------------------------------------
12859 | 40                    player.s   1229 | Empty       | 11 |         |    0 | 00/714A               | CheckWalkableL                                        
12860 | 40                    player.s   1230 | Code        | 11 |         |    2 | 00/714A : A5 71       |                          LDA     {$71}                
12861 | 40                    player.s   1231 | Code        | 11 |         |    1 | 00/714C : 18          |                          CLC                          
12862 | 40                    player.s   1232 | Code        | 11 |         |    2 | 00/714D : 69 06       |                          ADC     #6                   ; mid sprite
12863 | 40                    player.s   1233 | Code        | 11 |         |    2 | 00/714F : A6 70       |                          LDX     {$70}                ; left edge X
12864 | 40                    player.s   1234 | Code        | 11 |         |    3 | 00/7151 : 20 0E 11    |                          JSR     CheckWalkableAt      
12865 | 40                    player.s   1235 | Code        | 11 |         |    2 | 00/7154 : F0 0A       |                          BEQ     _wlBlk               
12866 | 40                    player.s   1236 | Code        | 11 |         |    2 | 00/7156 : A5 71       |                          LDA     {$71}                
12867 | 40                    player.s   1237 | Code        | 11 |         |    1 | 00/7158 : 18          |                          CLC                          
12868 | 40                    player.s   1238 | Code        | 11 |         |    2 | 00/7159 : 69 0B       |                          ADC     #11                  ; feet level
12869 | 40                    player.s   1239 | Code        | 11 |         |    2 | 00/715B : A6 70       |                          LDX     {$70}                
12870 | 40                    player.s   1240 | Code        | 11 |         |    3 | 00/715D : 20 0E 11    |                          JSR     CheckWalkableAt      
12871 | 40                    player.s   1241 | Code        | 11 |         |    1 | 00/7160 : 60          | _wlBlk                   RTS                          
12872 | 40                    player.s   1242 | Empty       | 11 |         |    0 | 00/7161               |                                                       
12873 | 40                    player.s   1243 | Comment     | 11 |         |    0 | 00/7161               | *----------------------------------------------
12874 | 40                    player.s   1244 | Comment     | 11 |         |    0 | 00/7161               | * CheckOnLadder - Is player on a ladder?
12875 | 40                    player.s   1245 | Comment     | 11 |         |    0 | 00/7161               | *
12876 | 40                    player.s   1246 | Comment     | 11 |         |    0 | 00/7161               | * Out: Z=0 (BNE) if on ladder, Z=1 (BEQ) if not
12877 | 40                    player.s   1247 | Comment     | 11 |         |    0 | 00/7161               | *----------------------------------------------
12878 | 40                    player.s   1248 | Empty       | 11 |         |    0 | 00/7161               | CheckOnLadder                                         
12879 | 40                    player.s   1249 | Code        | 11 |         |    2 | 00/7161 : A5 71       |                          LDA     {$71}                
12880 | 40                    player.s   1250 | Code        | 11 |         |    1 | 00/7163 : 18          |                          CLC                          
12881 | 40                    player.s   1251 | Code        | 11 |         |    2 | 00/7164 : 69 06       |                          ADC     #6                   ; mid sprite
12882 | 40                    player.s   1252 | Code        | 11 |         |    2 | 00/7166 : A6 70       |                          LDX     {$70}                
12883 | 40                    player.s   1253 | Code        | 11 |         |    1 | 00/7168 : E8          |                          INX                          
12884 | 40                    player.s   1254 | Code        | 11 |         |    1 | 00/7169 : E8          |                          INX                          
12885 | 40                    player.s   1255 | Code        | 11 |         |    1 | 00/716A : E8          |                          INX                          ; center X
12886 | 40                    player.s   1256 | Code        | 11 |         |    3 | 00/716B : 4C 7B 11    |                          JMP     CheckLadderAt        
12887 | 40                    player.s   1257 | Empty       | 11 |         |    0 | 00/716E               |                                                       
12888 | 40                    player.s   1258 | Comment     | 11 |         |    0 | 00/716E               | *----------------------------------------------
12889 | 40                    player.s   1259 | Comment     | 11 |         |    0 | 00/716E               | * CanClimbUp - Is there a ladder above to climb?
12890 | 40                    player.s   1260 | Comment     | 11 |         |    0 | 00/716E               | * Only succeeds if sprite center is on center 3 pixels of tile
12891 | 40                    player.s   1261 | Comment     | 11 |         |    0 | 00/716E               | *----------------------------------------------
12892 | 40                    player.s   1262 | Empty       | 11 |         |    0 | 00/716E               | CanClimbUp                                            
12893 | 40                    player.s   1263 | Code        | 11 |         |    2 | 00/716E : A5 71       |                          LDA     {$71}                
12894 | 40                    player.s   1264 | Code        | 11 |         |    1 | 00/7170 : 18          |                          CLC                          
12895 | 40                    player.s   1265 | Code        | 11 |         |    2 | 00/7171 : 69 02       |                          ADC     #2                   ; check near top of sprite
12896 | 40                    player.s   1266 | Code        | 11 |         |    2 | 00/7173 : A6 70       |                          LDX     {$70}                
12897 | 40                    player.s   1267 | Code        | 11 |         |    1 | 00/7175 : E8          |                          INX                          
12898 | 40                    player.s   1268 | Code        | 11 |         |    1 | 00/7176 : E8          |                          INX                          
12899 | 40                    player.s   1269 | Code        | 11 |         |    1 | 00/7177 : E8          |                          INX                          
12900 | 40                    player.s   1270 | Code        | 11 |         |    3 | 00/7178 : 20 7B 11    |                          JSR     CheckLadderAt        
12901 | 40                    player.s   1271 | Code        | 11 |         |    2 | 00/717B : F0 0D       |                          BEQ     _noUp                
12902 | 40                    player.s   1272 | Comment     | 11 |         |    0 | 00/717D               | * Check that we're on center 3 pixels (CollOff 2-4)
12903 | 40                    player.s   1273 | Code        | 11 |         |    2 | 00/717D : A5 24       |                          LDA     {$24}                
12904 | 40                    player.s   1274 | Code        | 11 |         |    2 | 00/717F : C9 02       |                          CMP     #2                   
12905 | 40                    player.s   1275 | Code        | 11 |         |    2 | 00/7181 : 90 07       |                          BCC     _noUp                
12906 | 40                    player.s   1276 | Code        | 11 |         |    2 | 00/7183 : C9 05       |                          CMP     #5                   
12907 | 40                    player.s   1277 | Code        | 11 |         |    2 | 00/7185 : B0 03       |                          BCS     _noUp                
12908 | 40                    player.s   1278 | Code        | 11 |         |    2 | 00/7187 : A9 01       |                          LDA     #1                   ; success (Z=0)
12909 | 40                    player.s   1279 | Code        | 11 |         |    1 | 00/7189 : 60          |                          RTS                          
12910 | 40                    player.s   1280 | Code        | 11 |         |    2 | 00/718A : A9 00       | _noUp                    LDA     #0                   
12911 | 40                    player.s   1281 | Code        | 11 |         |    1 | 00/718C : 60          |                          RTS                          
12912 | 40                    player.s   1282 | Empty       | 11 |         |    0 | 00/718D               |                                                       
12913 | 40                    player.s   1283 | Comment     | 11 |         |    0 | 00/718D               | *----------------------------------------------
12914 | 40                    player.s   1284 | Comment     | 11 |         |    0 | 00/718D               | * CanClimbDown - Is there a ladder below to climb?
12915 | 40                    player.s   1285 | Comment     | 11 |         |    0 | 00/718D               | * Only succeeds if sprite center is on center 3 pixels of tile
12916 | 40                    player.s   1286 | Comment     | 11 |         |    0 | 00/718D               | *----------------------------------------------
12917 | 40                    player.s   1287 | Empty       | 11 |         |    0 | 00/718D               | CanClimbDown                                          
12918 | 40                    player.s   1288 | Code        | 11 |         |    2 | 00/718D : A5 71       |                          LDA     {$71}                
12919 | 40                    player.s   1289 | Code        | 11 |         |    1 | 00/718F : 18          |                          CLC                          
12920 | 40                    player.s   1290 | Code        | 11 |         |    2 | 00/7190 : 69 0C       |                          ADC     #12                  ; just below feet
12921 | 40                    player.s   1291 | Code        | 11 |         |    2 | 00/7192 : C9 C0       |                          CMP     #192                 
12922 | 40                    player.s   1292 | Code        | 11 |         |    2 | 00/7194 : B0 17       |                          BCS     _no                  
12923 | 40                    player.s   1293 | Code        | 11 |         |    2 | 00/7196 : A6 70       |                          LDX     {$70}                
12924 | 40                    player.s   1294 | Code        | 11 |         |    1 | 00/7198 : E8          |                          INX                          
12925 | 40                    player.s   1295 | Code        | 11 |         |    1 | 00/7199 : E8          |                          INX                          
12926 | 40                    player.s   1296 | Code        | 11 |         |    1 | 00/719A : E8          |                          INX                          
12927 | 40                    player.s   1297 | Code        | 11 |         |    3 | 00/719B : 20 7B 11    |                          JSR     CheckLadderAt        
12928 | 40                    player.s   1298 | Code        | 11 |         |    2 | 00/719E : F0 0D       |                          BEQ     _no                  
12929 | 40                    player.s   1299 | Comment     | 11 |         |    0 | 00/71A0               | * Check center 3 pixels (CollOff 2-4)
12930 | 40                    player.s   1300 | Code        | 11 |         |    2 | 00/71A0 : A5 24       |                          LDA     {$24}                
12931 | 40                    player.s   1301 | Code        | 11 |         |    2 | 00/71A2 : C9 02       |                          CMP     #2                   
12932 | 40                    player.s   1302 | Code        | 11 |         |    2 | 00/71A4 : 90 07       |                          BCC     _no                  
12933 | 40                    player.s   1303 | Code        | 11 |         |    2 | 00/71A6 : C9 05       |                          CMP     #5                   
12934 | 40                    player.s   1304 | Code        | 11 |         |    2 | 00/71A8 : B0 03       |                          BCS     _no                  
12935 | 40                    player.s   1305 | Code        | 11 |         |    2 | 00/71AA : A9 01       |                          LDA     #1                   ; success (Z=0)
12936 | 40                    player.s   1306 | Code        | 11 |         |    1 | 00/71AC : 60          |                          RTS                          
12937 | 40                    player.s   1307 | Code        | 11 |         |    2 | 00/71AD : A9 00       | _no                      LDA     #0                   
12938 | 40                    player.s   1308 | Code        | 11 |         |    1 | 00/71AF : 60          |                          RTS                          
12939 | 40                    player.s   1309 | Empty       | 11 |         |    0 | 00/71B0               |                                                       
12940 | 40                    player.s   1310 | Comment     | 11 |         |    0 | 00/71B0               | *----------------------------------------------
12941 | 40                    player.s   1311 | Comment     | 11 |         |    0 | 00/71B0               | * CenterOnLadder - Snap sprite X to ladder tile center
12942 | 40                    player.s   1312 | Comment     | 11 |         |    0 | 00/71B0               | * Call after CanClimbUp/Down sets Temp1 (tile column)
12943 | 40                    player.s   1313 | Comment     | 11 |         |    0 | 00/71B0               | *----------------------------------------------
12944 | 40                    player.s   1314 | Empty       | 11 |         |    0 | 00/71B0               | CenterOnLadder                                        
12945 | 40                    player.s   1315 | Comment     | 11 |         |    0 | 00/71B0               | * PlayerX = tile_col * 7, so sprite center (X+3) = tile center (col*7+3)
12946 | 40                    player.s   1316 | Code        | 11 |         |    2 | 00/71B0 : A5 18       |                          LDA     {$18}                
12947 | 40                    player.s   1317 | Code        | 11 |         |    1 | 00/71B2 : 0A          |                          ASL                          ; *2
12948 | 40                    player.s   1318 | Code        | 11 |         |    2 | 00/71B3 : 85 19       |                          STA     {$19}                
12949 | 40                    player.s   1319 | Code        | 11 |         |    1 | 00/71B5 : 0A          |                          ASL                          ; *4
12950 | 40                    player.s   1320 | Code        | 11 |         |    2 | 00/71B6 : 65 19       |                          ADC     {$19}                ; *4 + *2 = *6 (carry clear from ASL)
12951 | 40                    player.s   1321 | Code        | 11 |         |    2 | 00/71B8 : 65 18       |                          ADC     {$18}                ; *6 + *1 = *7
12952 | 40                    player.s   1322 | Code        | 11 |         |    2 | 00/71BA : 85 70       |                          STA     {$70}                
12953 | 40                    player.s   1323 | Code        | 11 |         |    1 | 00/71BC : 60          |                          RTS                          
12954 | 40                    player.s   1324 | Empty       | 11 |         |    0 | 00/71BD               |                                                       
12955 | 40                    player.s   1325 | Comment     | 11 |         |    0 | 00/71BD               | *----------------------------------------------
12956 | 40                    player.s   1326 | Comment     | 11 |         |    0 | 00/71BD               | * _LadderCenterSnap - Shared tail for guard ladder checks
12957 | 40                    player.s   1327 | Comment     | 11 |         |    0 | 00/71BD               | *
12958 | 40                    player.s   1328 | Comment     | 11 |         |    0 | 00/71BD               | * Probes (X,A) for a ladder via CheckLadderAt. On success, requires
12959 | 40                    player.s   1329 | Comment     | 11 |         |    0 | 00/71BD               | * CollOff 2-4 (sprite center on center 3 pixels of tile) matching
12960 | 40                    player.s   1330 | Comment     | 11 |         |    0 | 00/71BD               | * the player's CanClimbUp rule, then snaps EntX to Temp1*7.
12961 | 40                    player.s   1331 | Comment     | 11 |         |    0 | 00/71BD               | * Lives in main RAM so it can be shared with LC-bank-2 guard code
12962 | 40                    player.s   1332 | Comment     | 11 |         |    0 | 00/71BD               | * without consuming the tight LC budget.
12963 | 40                    player.s   1333 | Comment     | 11 |         |    0 | 00/71BD               | * Out: Z=0 (BNE) climbable, EntX snapped; Z=1 (BEQ) otherwise.
12964 | 40                    player.s   1334 | Comment     | 11 |         |    0 | 00/71BD               | *----------------------------------------------
12965 | 40                    player.s   1335 | Empty       | 11 |         |    0 | 00/71BD               | _LadderCenterSnap                                     
12966 | 40                    player.s   1336 | Code        | 11 |         |    3 | 00/71BD : 20 7B 11    |                          JSR     CheckLadderAt        
12967 | 40                    player.s   1337 | Code        | 11 |         |    2 | 00/71C0 : F0 19       |                          BEQ     _lcsNo               
12968 | 40                    player.s   1338 | Code        | 11 |         |    2 | 00/71C2 : A5 24       |                          LDA     {$24}                
12969 | 40                    player.s   1339 | Code        | 11 |         |    2 | 00/71C4 : C9 02       |                          CMP     #2                   
12970 | 40                    player.s   1340 | Code        | 11 |         |    2 | 00/71C6 : 90 13       |                          BCC     _lcsNo               
12971 | 40                    player.s   1341 | Code        | 11 |         |    2 | 00/71C8 : C9 05       |                          CMP     #5                   
12972 | 40                    player.s   1342 | Code        | 11 |         |    2 | 00/71CA : B0 0F       |                          BCS     _lcsNo               
12973 | 40                    player.s   1343 | Code        | 11 |         |    2 | 00/71CC : A5 18       |                          LDA     {$18}                
12974 | 40                    player.s   1344 | Code        | 11 |         |    1 | 00/71CE : 0A          |                          ASL                          ; *2
12975 | 40                    player.s   1345 | Code        | 11 |         |    2 | 00/71CF : 85 19       |                          STA     {$19}                
12976 | 40                    player.s   1346 | Code        | 11 |         |    1 | 00/71D1 : 0A          |                          ASL                          ; *4
12977 | 40                    player.s   1347 | Code        | 11 |         |    2 | 00/71D2 : 65 19       |                          ADC     {$19}                ; *6
12978 | 40                    player.s   1348 | Code        | 11 |         |    2 | 00/71D4 : 65 18       |                          ADC     {$18}                ; *7
12979 | 40                    player.s   1349 | Code        | 11 |         |    2 | 00/71D6 : 85 F6       |                          STA     {$F6}                
12980 | 40                    player.s   1350 | Code        | 11 |         |    2 | 00/71D8 : A9 01       |                          LDA     #1                   
12981 | 40                    player.s   1351 | Code        | 11 |         |    1 | 00/71DA : 60          |                          RTS                          
12982 | 40                    player.s   1352 | Code        | 11 |         |    2 | 00/71DB : A9 00       | _lcsNo                   LDA     #0                   
12983 | 40                    player.s   1353 | Code        | 11 |         |    1 | 00/71DD : 60          |                          RTS                          
12984 | 40                    player.s   1354 | Empty       | 11 |         |    0 | 00/71DE               |                                                       
12985 | 40                    player.s   1355 | Comment     | 11 |         |    0 | 00/71DE               | *----------------------------------------------
12986 | 40                    player.s   1356 | Comment     | 11 |         |    0 | 00/71DE               | * _EntHorizLoS - Horizontal line-of-sight from guard to player
12987 | 40                    player.s   1357 | Comment     | 11 |         |    0 | 00/71DE               | *
12988 | 40                    player.s   1358 | Comment     | 11 |         |    0 | 00/71DE               | * Shared with guard AI (LC bank 2). Returns "LoS" only when the
12989 | 40                    player.s   1359 | Comment     | 11 |         |    0 | 00/71DE               | * two sprites are on the same platform row (|dy| <= 2) and no
12990 | 40                    player.s   1360 | Comment     | 11 |         |    0 | 00/71DE               | * SOLID/SLOPE tiles block the mid-sprite scanline between them.
12991 | 40                    player.s   1361 | Comment     | 11 |         |    0 | 00/71DE               | * Rails, ladders, handles, and elevator shafts do NOT block.
12992 | 40                    player.s   1362 | Comment     | 11 |         |    0 | 00/71DE               | *
12993 | 40                    player.s   1363 | Comment     | 11 |         |    0 | 00/71DE               | * In:  EntX/EntY = guard position; PlayerX/PlayerY
12994 | 40                    player.s   1364 | Comment     | 11 |         |    0 | 00/71DE               | * Out: Z=0 (BNE) LoS present; Z=1 (BEQ) blocked or too far vertically
12995 | 40                    player.s   1365 | Comment     | 11 |         |    0 | 00/71DE               | * Clobbers: A, X, Y, Temp1-Temp4, CollOff, CollRow
12996 | 40                    player.s   1366 | Comment     | 11 |         |    0 | 00/71DE               | *----------------------------------------------
12997 | 40                    player.s   1367 | Empty       | 11 |         |    0 | 00/71DE               | _EntHorizLoS                                          
12998 | 40                    player.s   1368 | Comment     | 11 |         |    0 | 00/71DE               | * |dy| must be <= 2
12999 | 40                    player.s   1369 | Code        | 11 |         |    2 | 00/71DE : A5 F7       |                          LDA     {$F7}                
13000 | 40                    player.s   1370 | Code        | 11 |         |    1 | 00/71E0 : 38          |                          SEC                          
13001 | 40                    player.s   1371 | Code        | 11 |         |    2 | 00/71E1 : E5 71       |                          SBC     {$71}                
13002 | 40                    player.s   1372 | Code        | 11 |         |    2 | 00/71E3 : 10 03       |                          BPL     _hlsDyP              
13003 | 40                    player.s   1373 | Code        | 11 |         |    2 | 00/71E5 : 49 FF       |                          EOR     #$FF                 
13004 | 40                    player.s   1374 | Code        | 11 |         |    1 | 00/71E7 : 1A          |                          INC                          
13005 | 40                    player.s   1375 | Code        | 11 |         |    2 | 00/71E8 : C9 03       | _hlsDyP                  CMP     #3                   
13006 | 40                    player.s   1376 | Code        | 11 |         |    2 | 00/71EA : B0 3E       |                          BCS     _hlsNo               
13007 | 40                    player.s   1377 | Comment     | 11 |         |    0 | 00/71EC               | * Order X values: Temp3 = low center, Temp4 = high center
13008 | 40                    player.s   1378 | Code        | 11 |         |    2 | 00/71EC : A5 F6       |                          LDA     {$F6}                
13009 | 40                    player.s   1379 | Code        | 11 |         |    1 | 00/71EE : 18          |                          CLC                          
13010 | 40                    player.s   1380 | Code        | 11 |         |    2 | 00/71EF : 69 03       |                          ADC     #3                   
13011 | 40                    player.s   1381 | Code        | 11 |         |    2 | 00/71F1 : 85 1A       |                          STA     {$1A}                
13012 | 40                    player.s   1382 | Code        | 11 |         |    2 | 00/71F3 : A5 70       |                          LDA     {$70}                
13013 | 40                    player.s   1383 | Code        | 11 |         |    1 | 00/71F5 : 18          |                          CLC                          
13014 | 40                    player.s   1384 | Code        | 11 |         |    2 | 00/71F6 : 69 03       |                          ADC     #3                   
13015 | 40                    player.s   1385 | Code        | 11 |         |    2 | 00/71F8 : 85 1B       |                          STA     {$1B}                
13016 | 40                    player.s   1386 | Code        | 11 |         |    2 | 00/71FA : A5 1A       |                          LDA     {$1A}                
13017 | 40                    player.s   1387 | Code        | 11 |         |    2 | 00/71FC : C5 1B       |                          CMP     {$1B}                
13018 | 40                    player.s   1388 | Code        | 11 |         |    2 | 00/71FE : 90 08       |                          BCC     _hlsOrd              
13019 | 40                    player.s   1389 | Comment     | 11 |         |    0 | 00/7200               | * swap
13020 | 40                    player.s   1390 | Code        | 11 |         |    2 | 00/7200 : A5 1B       |                          LDA     {$1B}                
13021 | 40                    player.s   1391 | Code        | 11 |         |    2 | 00/7202 : A6 1A       |                          LDX     {$1A}                
13022 | 40                    player.s   1392 | Code        | 11 |         |    2 | 00/7204 : 86 1B       |                          STX     {$1B}                
13023 | 40                    player.s   1393 | Code        | 11 |         |    2 | 00/7206 : 85 1A       |                          STA     {$1A}                
13024 | 40                    player.s   1394 | Empty       | 11 |         |    0 | 00/7208               | _hlsOrd                                               
13025 | 40                    player.s   1395 | Comment     | 11 |         |    0 | 00/7208               | * Scan pos = Temp3 + 7, step 7, stop when >= Temp4
13026 | 40                    player.s   1396 | Code        | 11 |         |    2 | 00/7208 : A5 1A       |                          LDA     {$1A}                
13027 | 40                    player.s   1397 | Code        | 11 |         |    1 | 00/720A : 18          |                          CLC                          
13028 | 40                    player.s   1398 | Code        | 11 |         |    2 | 00/720B : 69 07       |                          ADC     #7                   
13029 | 40                    player.s   1399 | Code        | 11 |         |    2 | 00/720D : C5 1B       | _hlsLoop                 CMP     {$1B}                
13030 | 40                    player.s   1400 | Code        | 11 |         |    2 | 00/720F : B0 1C       |                          BCS     _hlsYes              
13031 | 40                    player.s   1401 | Code        | 11 |         |    1 | 00/7211 : 48          |                          PHA                          
13032 | 40                    player.s   1402 | Code        | 11 |         |    1 | 00/7212 : AA          |                          TAX                          
13033 | 40                    player.s   1403 | Code        | 11 |         |    2 | 00/7213 : A5 F7       |                          LDA     {$F7}                
13034 | 40                    player.s   1404 | Code        | 11 |         |    1 | 00/7215 : 18          |                          CLC                          
13035 | 40                    player.s   1405 | Code        | 11 |         |    2 | 00/7216 : 69 06       |                          ADC     #6                   ; mid-sprite row
13036 | 40                    player.s   1406 | Code        | 11 |         |    3 | 00/7218 : 20 40 10    |                          JSR     GetCollType          
13037 | 40                    player.s   1407 | Code        | 11 |         |    2 | 00/721B : C9 01       |                          CMP     #{1}                 
13038 | 40                    player.s   1408 | Code        | 11 |         |    2 | 00/721D : F0 0A       |                          BEQ     _hlsPopNo            
13039 | 40                    player.s   1409 | Code        | 11 |         |    2 | 00/721F : C9 06       |                          CMP     #{6}                 
13040 | 40                    player.s   1410 | Code        | 11 |         |    2 | 00/7221 : F0 06       |                          BEQ     _hlsPopNo            
13041 | 40                    player.s   1411 | Code        | 11 |         |    1 | 00/7223 : 68          |                          PLA                          
13042 | 40                    player.s   1412 | Code        | 11 |         |    1 | 00/7224 : 18          |                          CLC                          
13043 | 40                    player.s   1413 | Code        | 11 |         |    2 | 00/7225 : 69 07       |                          ADC     #7                   
13044 | 40                    player.s   1414 | Code        | 11 |         |    2 | 00/7227 : 80 E4       |                          BRA     _hlsLoop             
13045 | 40                    player.s   1415 | Code        | 11 |         |    1 | 00/7229 : 68          | _hlsPopNo                PLA                          
13046 | 40                    player.s   1416 | Code        | 11 |         |    2 | 00/722A : A9 00       | _hlsNo                   LDA     #0                   
13047 | 40                    player.s   1417 | Code        | 11 |         |    1 | 00/722C : 60          |                          RTS                          
13048 | 40                    player.s   1418 | Code        | 11 |         |    2 | 00/722D : A9 01       | _hlsYes                  LDA     #1                   
13049 | 40                    player.s   1419 | Code        | 11 |         |    1 | 00/722F : 60          |                          RTS                          
13050 | 40                    player.s   1420 | Empty       | 11 |         |    0 | 00/7230               |                                                       
13051 | 40                    player.s   1421 | Comment     | 11 |         |    0 | 00/7230               | * _EntVertLoS is the vertical counterpart and lives in guard_data.s
13052 | 40                    player.s   1422 | Comment     | 11 |         |    0 | 00/7230               | * ($1800 block) to keep the main RAM game code under the $B000
13053 | 40                    player.s   1423 | Comment     | 11 |         |    0 | 00/7230               | * ceiling (TileMap1 sits at $B000).
13054 | 40                    player.s   1424 | Empty       | 11 |         |    0 | 00/7230               |                                                       
13055 | 40                    player.s   1425 | Comment     | 11 |         |    0 | 00/7230               | *----------------------------------------------
13056 | 40                    player.s   1426 | Comment     | 11 |         |    0 | 00/7230               | * ErasePlayer - Erase sprite at old position
13057 | 40                    player.s   1427 | Comment     | 11 |         |    0 | 00/7230               | * Only erases if PlayerDirty is set
13058 | 40                    player.s   1428 | Comment     | 11 |         |    0 | 00/7230               | *----------------------------------------------
13059 | 40                    player.s   1429 | Empty       | 11 |         |    0 | 00/7230               | ErasePlayer                                           
13060 | 40                    player.s   1430 | Code        | 11 |         |    2 | 00/7230 : A5 7C       |                          LDA     {$7C}                
13061 | 40                    player.s   1431 | Code        | 11 |         |    2 | 00/7232 : F0 0F       |                          BEQ     ozunid_69            
13062 | 40                    player.s   1432 | Code        | 11 |         |    2 | 00/7234 : A5 77       |                          LDA     {$77}                
13063 | 40                    player.s   1433 | Code        | 11 |         |    2 | 00/7236 : 85 14       |                          STA     {$14}                
13064 | 40                    player.s   1434 | Code        | 11 |         |    2 | 00/7238 : A5 78       |                          LDA     {$78}                
13065 | 40                    player.s   1435 | Code        | 11 |         |    2 | 00/723A : 85 15       |                          STA     {$15}                
13066 | 40                    player.s   1436 | Code        | 11 |         |    2 | 00/723C : A5 79       |                          LDA     {$79}                
13067 | 40                    player.s   1437 | Code        | 11 |         |    2 | 00/723E : 85 16       |                          STA     {$16}                
13068 | 40                    player.s   1438 | Code        | 11 |         |    3 | 00/7240 : 4C 08 65    |                          JMP     EraseSpriteArea      
13069 | 40                    player.s   1439 | Code        | 11 |         |    1 | 00/7243 : 60          | ozunid_69                RTS                          
13070 | 40                    player.s   1440 | Empty       | 11 |         |    0 | 00/7244               |                                                       
13071 | 40                    player.s   1441 | Comment     | 11 |         |    0 | 00/7244               | *----------------------------------------------
13072 | 40                    player.s   1442 | Comment     | 11 |         |    0 | 00/7244               | * DrawPlayer - Draw sprite at current position
13073 | 40                    player.s   1443 | Comment     | 11 |         |    0 | 00/7244               | * Only draws if PlayerDirty is set
13074 | 40                    player.s   1444 | Comment     | 11 |         |    0 | 00/7244               | *----------------------------------------------
13075 | 40                    player.s   1445 | Empty       | 11 |         |    0 | 00/7244               | DrawPlayer                                            
13076 | 40                    player.s   1446 | Code        | 11 |         |    2 | 00/7244 : A5 7C       |                          LDA     {$7C}                
13077 | 40                    player.s   1447 | Code        | 11 |         |    2 | 00/7246 : F0 15       |                          BEQ     ozunid_70            
13078 | 40                    player.s   1448 | Code        | 11 |         |    2 | 00/7248 : A5 74       |                          LDA     {$74}                
13079 | 40                    player.s   1449 | Code        | 11 |         |    2 | 00/724A : C9 06       |                          CMP     #{6}                 
13080 | 40                    player.s   1450 | Code        | 11 |         |    2 | 00/724C : F0 0F       |                          BEQ     ozunid_70            ; player invisible while riding cart
13081 | 40                    player.s   1451 | Code        | 11 |         |    2 | 00/724E : A5 70       |                          LDA     {$70}                
13082 | 40                    player.s   1452 | Code        | 11 |         |    2 | 00/7250 : 85 14       |                          STA     {$14}                
13083 | 40                    player.s   1453 | Code        | 11 |         |    2 | 00/7252 : A5 71       |                          LDA     {$71}                
13084 | 40                    player.s   1454 | Code        | 11 |         |    2 | 00/7254 : 85 15       |                          STA     {$15}                
13085 | 40                    player.s   1455 | Code        | 11 |         |    2 | 00/7256 : A5 72       |                          LDA     {$72}                
13086 | 40                    player.s   1456 | Code        | 11 |         |    2 | 00/7258 : 85 16       |                          STA     {$16}                
13087 | 40                    player.s   1457 | Code        | 11 |         |    3 | 00/725A : 4C AB 7E    |                          JMP     DrawSprite           
13088 | 40                    player.s   1458 | Code        | 11 |         |    1 | 00/725D : 60          | ozunid_70                RTS                          
13089 | 40                    player.s   1459 | Empty       | 11 |         |    0 | 00/725E               |                                                       
13090 | 40                    player.s   1460 | Comment     | 11 |         |    0 | 00/725E               | *----------------------------------------------
13091 | 40                    player.s   1461 | Comment     | 11 |         |    0 | 00/725E               | * Wheelbarrow Init, Update, Draw/Erase
13092 | 40                    player.s   1462 | Comment     | 11 |         |    0 | 00/725E               | *----------------------------------------------
13093 | 40                    player.s   1463 | Empty       | 11 |         |    0 | 00/725E               |                                                       
13094 | 40                    player.s   1464 | Comment     | 11 |         |    0 | 00/725E               | * Per-page "last drawn" WB positions (main RAM, $0300 page)
13095 | 40                    player.s   1465 | Equivalence | 11 |         |    0 | 00/725E               | WBOldP0                  =       $0316                ; page 0: X, Y, Fr (3 bytes)
13096 | 40                    player.s   1466 | Equivalence | 11 |         |    0 | 00/725E               | WBOldP1                  =       $0319                ; page 1: X, Y, Fr (3 bytes)
13097 | 40                    player.s   1467 | Empty       | 11 |         |    0 | 00/725E               |                                                       
13098 | 40                    player.s   1468 | Comment     | 11 |         |    0 | 00/725E               | * Open Apple button
13099 | 40                    player.s   1469 | Equivalence | 11 |         |    0 | 00/725E               | OPNAPPLE                 =       $C061                
13100 | 40                    player.s   1470 | Empty       | 11 |         |    0 | 00/725E               |                                                       
13101 | 40                    player.s   1471 | Comment     | 11 |         |    0 | 00/725E               | * Grab: player must be 5-7 px left of WB; snaps to 7 px offset
13102 | 40                    player.s   1472 | Equivalence | 11 |         |    0 | 00/725E               | WB_GRAB_MIN              =       5                    
13103 | 40                    player.s   1473 | Equivalence | 11 |         |    0 | 00/725E               | WB_GRAB_MAX              =       7                    
13104 | 40                    player.s   1474 | Equivalence | 11 |         |    0 | 00/725E               | WB_SNAP_OFS              =       6                    ; WB snaps this many px right of player
13105 | 40                    player.s   1475 | Empty       | 11 |         |    0 | 00/725E               |                                                       
13106 | 40                    player.s   1476 | Comment     | 11 |         |    0 | 00/725E               | *----------------------------------------------
13107 | 40                    player.s   1477 | Comment     | 11 |         |    0 | 00/725E               | * WBInit - Set wheelbarrow starting position
13108 | 40                    player.s   1478 | Comment     | 11 |         |    0 | 00/725E               | *----------------------------------------------
13109 | 40                    player.s   1479 | Empty       | 11 |         |    0 | 00/725E               | WBInit                                                
13110 | 40                    player.s   1480 | Code        | 11 |         |    2 | 00/725E : A9 54       |                          LDA     #84                  ; surface X (center-right)
13111 | 40                    player.s   1481 | Code        | 11 |         |    2 | 00/7260 : 85 33       |                          STA     {$33}                
13112 | 40                    player.s   1482 | Code        | 11 |         |    2 | 00/7262 : 85 69       |                          STA     {$69}                
13113 | 40                    player.s   1483 | Code        | 11 |         |    2 | 00/7264 : A5 71       |                          LDA     {$71}                ; match snapped player ground level
13114 | 40                    player.s   1484 | Code        | 11 |         |    2 | 00/7266 : 85 34       |                          STA     {$34}                
13115 | 40                    player.s   1485 | Code        | 11 |         |    2 | 00/7268 : 85 6A       |                          STA     {$6A}                
13116 | 40                    player.s   1486 | Code        | 11 |         |    2 | 00/726A : A9 15       |                          LDA     #{21}                ; parked frame
13117 | 40                    player.s   1487 | Code        | 11 |         |    2 | 00/726C : 85 35       |                          STA     {$35}                
13118 | 40                    player.s   1488 | Code        | 11 |         |    2 | 00/726E : 85 6B       |                          STA     {$6B}                
13119 | 40                    player.s   1489 | Code        | 11 |         |    2 | 00/7270 : 64 36       |                          STZ     {$36}                
13120 | 40                    player.s   1490 | Code        | 11 |         |    2 | 00/7272 : A5 1C       |                          LDA     {$1C}                
13121 | 40                    player.s   1491 | Code        | 11 |         |    2 | 00/7274 : 85 6D       |                          STA     {$6D}                
13122 | 40                    player.s   1492 | Code        | 11 |         |    2 | 00/7276 : A9 01       |                          LDA     #1                   
13123 | 40                    player.s   1493 | Code        | 11 |         |    2 | 00/7278 : 85 37       |                          STA     {$37}                
13124 | 40                    player.s   1494 | Code        | 11 |         |    1 | 00/727A : 60          |                          RTS                          
13125 | 40                    player.s   1495 | Empty       | 11 |         |    0 | 00/727B               |                                                       
13126 | 40                    player.s   1496 | Comment     | 11 |         |    0 | 00/727B               | *----------------------------------------------
13127 | 40                    player.s   1497 | Comment     | 11 |         |    0 | 00/727B               | * InitWBOldPos - Copy WB pos to both page slots
13128 | 40                    player.s   1498 | Comment     | 11 |         |    0 | 00/727B               | *----------------------------------------------
13129 | 40                    player.s   1499 | Empty       | 11 |         |    0 | 00/727B               | InitWBOldPos                                          
13130 | 40                    player.s   1500 | Code        | 11 |         |    2 | 00/727B : A0 02       |                          LDY     #2                   
13131 | 40                    player.s   1501 | Code        | 11 |         |    3 | 00/727D : B9 33 00    | _iwLoop                  LDA     {$33},Y              
13132 | 40                    player.s   1502 | Code        | 11 |         |    3 | 00/7280 : 99 16 03    |                          STA     {$0316},Y            
13133 | 40                    player.s   1503 | Code        | 11 |         |    3 | 00/7283 : 99 19 03    |                          STA     {$0319},Y            
13134 | 40                    player.s   1504 | Code        | 11 |         |    1 | 00/7286 : 88          |                          DEY                          
13135 | 40                    player.s   1505 | Code        | 11 |         |    2 | 00/7287 : 10 F4       |                          BPL     _iwLoop              
13136 | 40                    player.s   1506 | Code        | 11 |         |    1 | 00/7289 : 60          |                          RTS                          
13137 | 40                    player.s   1507 | Empty       | 11 |         |    0 | 00/728A               |                                                       
13138 | 40                    player.s   1508 | Comment     | 11 |         |    0 | 00/728A               | *----------------------------------------------
13139 | 40                    player.s   1509 | Comment     | 11 |         |    0 | 00/728A               | * LoadWBOldPos - Load this page's old WB pos
13140 | 40                    player.s   1510 | Comment     | 11 |         |    0 | 00/728A               | *----------------------------------------------
13141 | 40                    player.s   1511 | Empty       | 11 |         |    0 | 00/728A               | LoadWBOldPos                                          
13142 | 40                    player.s   1512 | Code        | 11 |         |    3 | 00/728A : 20 17 66    |                          JSR     _PageY               
13143 | 40                    player.s   1513 | Code        | 11 |         |    3 | 00/728D : B9 16 03    |                          LDA     {$0316},Y            
13144 | 40                    player.s   1514 | Code        | 11 |         |    2 | 00/7290 : 85 69       |                          STA     {$69}                
13145 | 40                    player.s   1515 | Code        | 11 |         |    1 | 00/7292 : C8          |                          INY                          
13146 | 40                    player.s   1516 | Code        | 11 |         |    3 | 00/7293 : B9 16 03    |                          LDA     {$0316},Y            
13147 | 40                    player.s   1517 | Code        | 11 |         |    2 | 00/7296 : 85 6A       |                          STA     {$6A}                
13148 | 40                    player.s   1518 | Code        | 11 |         |    1 | 00/7298 : C8          |                          INY                          
13149 | 40                    player.s   1519 | Code        | 11 |         |    3 | 00/7299 : B9 16 03    |                          LDA     {$0316},Y            
13150 | 40                    player.s   1520 | Code        | 11 |         |    2 | 00/729C : 85 6B       |                          STA     {$6B}                
13151 | 40                    player.s   1521 | Code        | 11 |         |    1 | 00/729E : 60          |                          RTS                          
13152 | 40                    player.s   1522 | Empty       | 11 |         |    0 | 00/729F               |                                                       
13153 | 40                    player.s   1523 | Comment     | 11 |         |    0 | 00/729F               | *----------------------------------------------
13154 | 40                    player.s   1524 | Comment     | 11 |         |    0 | 00/729F               | * SaveWBOldPos - Save current WB pos for this page
13155 | 40                    player.s   1525 | Comment     | 11 |         |    0 | 00/729F               | *----------------------------------------------
13156 | 40                    player.s   1526 | Empty       | 11 |         |    0 | 00/729F               | SaveWBOldPos                                          
13157 | 40                    player.s   1527 | Code        | 11 |         |    3 | 00/729F : 20 17 66    |                          JSR     _PageY               
13158 | 40                    player.s   1528 | Code        | 11 |         |    2 | 00/72A2 : A5 33       |                          LDA     {$33}                
13159 | 40                    player.s   1529 | Code        | 11 |         |    3 | 00/72A4 : 99 16 03    |                          STA     {$0316},Y            
13160 | 40                    player.s   1530 | Code        | 11 |         |    1 | 00/72A7 : C8          |                          INY                          
13161 | 40                    player.s   1531 | Code        | 11 |         |    2 | 00/72A8 : A5 34       |                          LDA     {$34}                
13162 | 40                    player.s   1532 | Code        | 11 |         |    3 | 00/72AA : 99 16 03    |                          STA     {$0316},Y            
13163 | 40                    player.s   1533 | Code        | 11 |         |    1 | 00/72AD : C8          |                          INY                          
13164 | 40                    player.s   1534 | Code        | 11 |         |    2 | 00/72AE : A5 35       |                          LDA     {$35}                
13165 | 40                    player.s   1535 | Code        | 11 |         |    3 | 00/72B0 : 99 16 03    |                          STA     {$0316},Y            
13166 | 40                    player.s   1536 | Code        | 11 |         |    1 | 00/72B3 : 60          |                          RTS                          
13167 | 40                    player.s   1537 | Empty       | 11 |         |    0 | 00/72B4               |                                                       
13168 | 40                    player.s   1538 | Comment     | 11 |         |    0 | 00/72B4               | *----------------------------------------------
13169 | 40                    player.s   1539 | Comment     | 11 |         |    0 | 00/72B4               | * UpdateWB - Handle wheelbarrow grab/push logic
13170 | 40                    player.s   1540 | Comment     | 11 |         |    0 | 00/72B4               | * Called each frame after UpdatePlayer
13171 | 40                    player.s   1541 | Comment     | 11 |         |    0 | 00/72B4               | *----------------------------------------------
13172 | 40                    player.s   1542 | Empty       | 11 |         |    0 | 00/72B4               | UpdateWB                                              
13173 | 40                    player.s   1543 | Comment     | 11 |         |    0 | 00/72B4               | * Save old position
13174 | 40                    player.s   1544 | Code        | 11 |         |    2 | 00/72B4 : A5 33       |                          LDA     {$33}                
13175 | 40                    player.s   1545 | Code        | 11 |         |    2 | 00/72B6 : 85 69       |                          STA     {$69}                
13176 | 40                    player.s   1546 | Code        | 11 |         |    2 | 00/72B8 : A5 34       |                          LDA     {$34}                
13177 | 40                    player.s   1547 | Code        | 11 |         |    2 | 00/72BA : 85 6A       |                          STA     {$6A}                
13178 | 40                    player.s   1548 | Code        | 11 |         |    2 | 00/72BC : A5 35       |                          LDA     {$35}                
13179 | 40                    player.s   1549 | Code        | 11 |         |    2 | 00/72BE : 85 6B       |                          STA     {$6B}                
13180 | 40                    player.s   1550 | Code        | 11 |         |    2 | 00/72C0 : 64 37       |                          STZ     {$37}                
13181 | 40                    player.s   1551 | Empty       | 11 |         |    0 | 00/72C2               |                                                       
13182 | 40                    player.s   1552 | Comment     | 11 |         |    0 | 00/72C2               | * Auto-release if player is climbing or falling
13183 | 40                    player.s   1553 | Code        | 11 |         |    2 | 00/72C2 : A5 36       |                          LDA     {$36}                
13184 | 40                    player.s   1554 | Code        | 11 |         |    2 | 00/72C4 : F0 14       |                          BEQ     _checkBtn            
13185 | 40                    player.s   1555 | Code        | 11 |         |    2 | 00/72C6 : A5 74       |                          LDA     {$74}                
13186 | 40                    player.s   1556 | Code        | 11 |         |    2 | 00/72C8 : C9 02       |                          CMP     #{2}                 
13187 | 40                    player.s   1557 | Code        | 11 |         |    2 | 00/72CA : F0 06       |                          BEQ     _doRelease           
13188 | 40                    player.s   1558 | Code        | 11 |         |    2 | 00/72CC : C9 03       |                          CMP     #{3}                 
13189 | 40                    player.s   1559 | Code        | 11 |         |    2 | 00/72CE : F0 02       |                          BEQ     _doRelease           
13190 | 40                    player.s   1560 | Code        | 11 |         |    2 | 00/72D0 : 80 08       |                          BRA     _checkBtn            
13191 | 40                    player.s   1561 | Empty       | 11 |         |    0 | 00/72D2               |                                                       
13192 | 40                    player.s   1562 | Empty       | 11 |         |    0 | 00/72D2               | _doRelease                                            
13193 | 40                    player.s   1563 | Code        | 11 |         |    2 | 00/72D2 : 64 36       |                          STZ     {$36}                
13194 | 40                    player.s   1564 | Code        | 11 |         |    2 | 00/72D4 : A9 15       |                          LDA     #{21}                ; parked frame
13195 | 40                    player.s   1565 | Code        | 11 |         |    2 | 00/72D6 : 85 35       |                          STA     {$35}                
13196 | 40                    player.s   1566 | Code        | 11 |         |    2 | 00/72D8 : 80 57       |                          BRA     _checkDirtyWB        
13197 | 40                    player.s   1567 | Empty       | 11 |         |    0 | 00/72DA               |                                                       
13198 | 40                    player.s   1568 | Comment     | 11 |         |    0 | 00/72DA               | * Check Open Apple button
13199 | 40                    player.s   1569 | Empty       | 11 |         |    0 | 00/72DA               | _checkBtn                                             
13200 | 40                    player.s   1570 | Code        | 11 |         |    3 | 00/72DA : 20 89 15    |                          JSR     ReadOAPDemo          
13201 | 40                    player.s   1571 | Code        | 11 |         |    2 | 00/72DD : 10 48       |                          BPL     _released            ; bit 7 clear = not pressed
13202 | 40                    player.s   1572 | Empty       | 11 |         |    0 | 00/72DF               |                                                       
13203 | 40                    player.s   1573 | Comment     | 11 |         |    0 | 00/72DF               | * Button pressed - already grabbed?
13204 | 40                    player.s   1574 | Code        | 11 |         |    2 | 00/72DF : A5 36       |                          LDA     {$36}                
13205 | 40                    player.s   1575 | Code        | 11 |         |    2 | 00/72E1 : D0 38       |                          BNE     _updateGrab          
13206 | 40                    player.s   1576 | Empty       | 11 |         |    0 | 00/72E3               |                                                       
13207 | 40                    player.s   1577 | Comment     | 11 |         |    0 | 00/72E3               | * Cannot grab WB while carrying loot
13208 | 40                    player.s   1578 | Code        | 11 |         |    2 | 00/72E3 : A5 6E       |                          LDA     {$6E}                
13209 | 40                    player.s   1579 | Code        | 11 |         |    2 | 00/72E5 : C9 FF       |                          CMP     #$FF                 
13210 | 40                    player.s   1580 | Code        | 11 |         |    2 | 00/72E7 : D0 48       |                          BNE     _checkDirtyWB        
13211 | 40                    player.s   1581 | Empty       | 11 |         |    0 | 00/72E9               |                                                       
13212 | 40                    player.s   1582 | Comment     | 11 |         |    0 | 00/72E9               | * Try to grab: check Y proximity (within 6 pixels)
13213 | 40                    player.s   1583 | Code        | 11 |         |    2 | 00/72E9 : A5 71       |                          LDA     {$71}                
13214 | 40                    player.s   1584 | Code        | 11 |         |    1 | 00/72EB : 38          |                          SEC                          
13215 | 40                    player.s   1585 | Code        | 11 |         |    2 | 00/72EC : E5 34       |                          SBC     {$34}                
13216 | 40                    player.s   1586 | Code        | 11 |         |    2 | 00/72EE : 10 03       |                          BPL     _absY                
13217 | 40                    player.s   1587 | Code        | 11 |         |    2 | 00/72F0 : 49 FF       |                          EOR     #$FF                 
13218 | 40                    player.s   1588 | Code        | 11 |         |    1 | 00/72F2 : 1A          |                          INC                          
13219 | 40                    player.s   1589 | Code        | 11 |         |    2 | 00/72F3 : C9 07       | _absY                    CMP     #7                   
13220 | 40                    player.s   1590 | Code        | 11 |         |    2 | 00/72F5 : B0 3A       |                          BCS     _checkDirtyWB        ; too far vertically
13221 | 40                    player.s   1591 | Empty       | 11 |         |    0 | 00/72F7               |                                                       
13222 | 40                    player.s   1592 | Comment     | 11 |         |    0 | 00/72F7               | * Check X: player must be 5-7 px to the LEFT of WB
13223 | 40                    player.s   1593 | Code        | 11 |         |    2 | 00/72F7 : A5 33       |                          LDA     {$33}                
13224 | 40                    player.s   1594 | Code        | 11 |         |    1 | 00/72F9 : 38          |                          SEC                          
13225 | 40                    player.s   1595 | Code        | 11 |         |    2 | 00/72FA : E5 70       |                          SBC     {$70}                ; A = WBX - PlayerX (unsigned if positive)
13226 | 40                    player.s   1596 | Code        | 11 |         |    2 | 00/72FC : 30 33       |                          BMI     _checkDirtyWB        ; player is to the right, no grab
13227 | 40                    player.s   1597 | Code        | 11 |         |    2 | 00/72FE : C9 05       |                          CMP     #{5}                 
13228 | 40                    player.s   1598 | Code        | 11 |         |    2 | 00/7300 : 90 2F       |                          BCC     _checkDirtyWB        ; < 5, too close
13229 | 40                    player.s   1599 | Code        | 11 |         |    2 | 00/7302 : C9 08       |                          CMP     #{7}+1               
13230 | 40                    player.s   1600 | Code        | 11 |         |    2 | 00/7304 : B0 2B       |                          BCS     _checkDirtyWB        ; > 7, too far
13231 | 40                    player.s   1601 | Empty       | 11 |         |    0 | 00/7306               |                                                       
13232 | 40                    player.s   1602 | Comment     | 11 |         |    0 | 00/7306               | * Grab - snap WB to exactly 7 px right of player
13233 | 40                    player.s   1603 | Code        | 11 |         |    2 | 00/7306 : A9 01       |                          LDA     #1                   
13234 | 40                    player.s   1604 | Code        | 11 |         |    2 | 00/7308 : 85 36       |                          STA     {$36}                
13235 | 40                    player.s   1605 | Code        | 11 |         |    2 | 00/730A : A9 06       |                          LDA     #{6}                 
13236 | 40                    player.s   1606 | Code        | 11 |         |    2 | 00/730C : 85 6C       |                          STA     {$6C}                ; fixed offset = 6
13237 | 40                    player.s   1607 | Code        | 11 |         |    2 | 00/730E : A5 70       |                          LDA     {$70}                
13238 | 40                    player.s   1608 | Code        | 11 |         |    1 | 00/7310 : 18          |                          CLC                          
13239 | 40                    player.s   1609 | Code        | 11 |         |    2 | 00/7311 : 69 06       |                          ADC     #{6}                 
13240 | 40                    player.s   1610 | Code        | 11 |         |    2 | 00/7313 : 85 33       |                          STA     {$33}                
13241 | 40                    player.s   1611 | Code        | 11 |         |    2 | 00/7315 : A9 14       |                          LDA     #{20}                ; pushing frame
13242 | 40                    player.s   1612 | Code        | 11 |         |    2 | 00/7317 : 85 35       |                          STA     {$35}                
13243 | 40                    player.s   1613 | Code        | 11 |         |    2 | 00/7319 : 80 16       |                          BRA     _checkDirtyWB        
13244 | 40                    player.s   1614 | Empty       | 11 |         |    0 | 00/731B               |                                                       
13245 | 40                    player.s   1615 | Comment     | 11 |         |    0 | 00/731B               | * Update grabbed position - WBX = PlayerX + 7
13246 | 40                    player.s   1616 | Empty       | 11 |         |    0 | 00/731B               | _updateGrab                                           
13247 | 40                    player.s   1617 | Code        | 11 |         |    2 | 00/731B : A5 70       |                          LDA     {$70}                
13248 | 40                    player.s   1618 | Code        | 11 |         |    1 | 00/731D : 18          |                          CLC                          
13249 | 40                    player.s   1619 | Code        | 11 |         |    2 | 00/731E : 65 6C       |                          ADC     {$6C}                
13250 | 40                    player.s   1620 | Code        | 11 |         |    2 | 00/7320 : 85 33       |                          STA     {$33}                
13251 | 40                    player.s   1621 | Code        | 11 |         |    3 | 00/7322 : 20 04 12    |                          JSR     CheckWBHitGuard      
13252 | 40                    player.s   1622 | Code        | 11 |         |    2 | 00/7325 : 80 0A       |                          BRA     _checkDirtyWB        
13253 | 40                    player.s   1623 | Empty       | 11 |         |    0 | 00/7327               |                                                       
13254 | 40                    player.s   1624 | Comment     | 11 |         |    0 | 00/7327               | * Button released - switch to parked frame
13255 | 40                    player.s   1625 | Empty       | 11 |         |    0 | 00/7327               | _released                                             
13256 | 40                    player.s   1626 | Code        | 11 |         |    2 | 00/7327 : A5 36       |                          LDA     {$36}                
13257 | 40                    player.s   1627 | Code        | 11 |         |    2 | 00/7329 : F0 06       |                          BEQ     _checkDirtyWB        ; already idle, skip frame change
13258 | 40                    player.s   1628 | Code        | 11 |         |    2 | 00/732B : 64 36       |                          STZ     {$36}                
13259 | 40                    player.s   1629 | Code        | 11 |         |    2 | 00/732D : A9 15       |                          LDA     #{21}                ; parked frame
13260 | 40                    player.s   1630 | Code        | 11 |         |    2 | 00/732F : 85 35       |                          STA     {$35}                
13261 | 40                    player.s   1631 | Empty       | 11 |         |    0 | 00/7331               |                                                       
13262 | 40                    player.s   1632 | Comment     | 11 |         |    0 | 00/7331               | * Check if WB position or frame changed
13263 | 40                    player.s   1633 | Empty       | 11 |         |    0 | 00/7331               | _checkDirtyWB                                         
13264 | 40                    player.s   1634 | Code        | 11 |         |    2 | 00/7331 : A5 33       |                          LDA     {$33}                
13265 | 40                    player.s   1635 | Code        | 11 |         |    2 | 00/7333 : C5 69       |                          CMP     {$69}                
13266 | 40                    player.s   1636 | Code        | 11 |         |    2 | 00/7335 : D0 0D       |                          BNE     _wbDirty             
13267 | 40                    player.s   1637 | Code        | 11 |         |    2 | 00/7337 : A5 34       |                          LDA     {$34}                
13268 | 40                    player.s   1638 | Code        | 11 |         |    2 | 00/7339 : C5 6A       |                          CMP     {$6A}                
13269 | 40                    player.s   1639 | Code        | 11 |         |    2 | 00/733B : D0 07       |                          BNE     _wbDirty             
13270 | 40                    player.s   1640 | Code        | 11 |         |    2 | 00/733D : A5 35       |                          LDA     {$35}                
13271 | 40                    player.s   1641 | Code        | 11 |         |    2 | 00/733F : C5 6B       |                          CMP     {$6B}                
13272 | 40                    player.s   1642 | Code        | 11 |         |    2 | 00/7341 : D0 01       |                          BNE     _wbDirty             
13273 | 40                    player.s   1643 | Code        | 11 |         |    1 | 00/7343 : 60          |                          RTS                          
13274 | 40                    player.s   1644 | Code        | 11 |         |    2 | 00/7344 : A9 01       | _wbDirty                 LDA     #1                   
13275 | 40                    player.s   1645 | Code        | 11 |         |    2 | 00/7346 : 85 37       |                          STA     {$37}                
13276 | 40                    player.s   1646 | Code        | 11 |         |    1 | 00/7348 : 60          |                          RTS                          
13277 | 40                    player.s   1647 | Empty       | 11 |         |    0 | 00/7349               |                                                       
13278 | 40                    player.s   1648 | Comment     | 11 |         |    0 | 00/7349               | *----------------------------------------------
13279 | 40                    player.s   1649 | Comment     | 11 |         |    0 | 00/7349               | * EraseWB - Erase sprite at old WB position
13280 | 40                    player.s   1650 | Comment     | 11 |         |    0 | 00/7349               | * Only erases if WBDirty is set
13281 | 40                    player.s   1651 | Comment     | 11 |         |    0 | 00/7349               | *----------------------------------------------
13282 | 40                    player.s   1652 | Empty       | 11 |         |    0 | 00/7349               | EraseWB                                               
13283 | 40                    player.s   1653 | Code        | 11 |         |    2 | 00/7349 : A5 37       |                          LDA     {$37}                
13284 | 40                    player.s   1654 | Code        | 11 |         |    2 | 00/734B : F0 13       |                          BEQ     ozunid_71            
13285 | 40                    player.s   1655 | Code        | 11 |         |    2 | 00/734D : C9 02       |                          CMP     #2                   ; 2 = draw-only wake, skip erase
13286 | 40                    player.s   1656 | Code        | 11 |         |    2 | 00/734F : F0 0F       |                          BEQ     ozunid_71            
13287 | 40                    player.s   1657 | Code        | 11 |         |    2 | 00/7351 : A5 69       |                          LDA     {$69}                
13288 | 40                    player.s   1658 | Code        | 11 |         |    2 | 00/7353 : 85 14       |                          STA     {$14}                
13289 | 40                    player.s   1659 | Code        | 11 |         |    2 | 00/7355 : A5 6A       |                          LDA     {$6A}                
13290 | 40                    player.s   1660 | Code        | 11 |         |    2 | 00/7357 : 85 15       |                          STA     {$15}                
13291 | 40                    player.s   1661 | Code        | 11 |         |    2 | 00/7359 : A5 6B       |                          LDA     {$6B}                
13292 | 40                    player.s   1662 | Code        | 11 |         |    2 | 00/735B : 85 16       |                          STA     {$16}                
13293 | 40                    player.s   1663 | Code        | 11 |         |    3 | 00/735D : 4C 08 65    |                          JMP     EraseSpriteArea      
13294 | 40                    player.s   1664 | Code        | 11 |         |    1 | 00/7360 : 60          | ozunid_71                RTS                          
13295 | 40                    player.s   1665 | Empty       | 11 |         |    0 | 00/7361               |                                                       
13296 | 40                    player.s   1666 | Comment     | 11 |         |    0 | 00/7361               | *----------------------------------------------
13297 | 40                    player.s   1667 | Comment     | 11 |         |    0 | 00/7361               | * DrawWB - Draw sprite at current WB position
13298 | 40                    player.s   1668 | Comment     | 11 |         |    0 | 00/7361               | * Only draws if WBDirty is set
13299 | 40                    player.s   1669 | Comment     | 11 |         |    0 | 00/7361               | *----------------------------------------------
13300 | 40                    player.s   1670 | Empty       | 11 |         |    0 | 00/7361               | DrawWB                                                
13301 | 40                    player.s   1671 | Code        | 11 |         |    2 | 00/7361 : A5 37       |                          LDA     {$37}                
13302 | 40                    player.s   1672 | Code        | 11 |         |    2 | 00/7363 : F0 0F       |                          BEQ     ozunid_72            
13303 | 40                    player.s   1673 | Code        | 11 |         |    2 | 00/7365 : A5 33       |                          LDA     {$33}                
13304 | 40                    player.s   1674 | Code        | 11 |         |    2 | 00/7367 : 85 14       |                          STA     {$14}                
13305 | 40                    player.s   1675 | Code        | 11 |         |    2 | 00/7369 : A5 34       |                          LDA     {$34}                
13306 | 40                    player.s   1676 | Code        | 11 |         |    2 | 00/736B : 85 15       |                          STA     {$15}                
13307 | 40                    player.s   1677 | Code        | 11 |         |    2 | 00/736D : A5 35       |                          LDA     {$35}                
13308 | 40                    player.s   1678 | Code        | 11 |         |    2 | 00/736F : 85 16       |                          STA     {$16}                
13309 | 40                    player.s   1679 | Code        | 11 |         |    3 | 00/7371 : 4C AB 7E    |                          JMP     DrawSprite           
13310 | 40                    player.s   1680 | Code        | 11 |         |    1 | 00/7374 : 60          | ozunid_72                RTS                          
13311 | 40                    player.s   1681 | Empty       | 11 |         |    0 | 00/7375               |                                                       
13312 | 40                    player.s   1682 | Comment     | 11 |         |    0 | 00/7375               | *----------------------------------------------
13313 | 40                    player.s   1683 | Comment     | 11 |         |    0 | 00/7375               | * Loot System - Data, Init, Update, Draw/Erase
13314 | 40                    player.s   1684 | Comment     | 11 |         |    0 | 00/7375               | *----------------------------------------------
13315 | 40                    player.s   1685 | Empty       | 11 |         |    0 | 00/7375               |                                                       
13316 | 40                    player.s   1686 | Equivalence | 11 |         |    0 | 00/7375               | LOOT_COUNT               =       4                    ; 3 bags + pickaxe
13317 | 40                    player.s   1687 | Equivalence | 11 |         |    0 | 00/7375               | LOOT_BAG_COUNT           =       3                    ; real bag count; per-item old-pos buffers are sized for this
13318 | 40                    player.s   1688 | Equivalence | 11 |         |    0 | 00/7375               | LOOT_PICK_IDX            =       3                    ; pickaxe is at LootTbl index 3
13319 | 40                    player.s   1689 | Equivalence | 11 |         |    0 | 00/7375               | LOOT_NONE                =       $FF                  ; CarryIdx when not carrying
13320 | 40                    player.s   1690 | Equivalence | 11 |         |    0 | 00/7375               | LOOT_PICK_RNG            =       1                    ; pickup proximity (±1 px)
13321 | 40                    player.s   1691 | Equivalence | 11 |         |    0 | 00/7375               | LOOT_DROP_RNG            =       3                    ; deposit proximity to WB (±3 px)
13322 | 40                    player.s   1692 | Equivalence | 11 |         |    0 | 00/7375               | LOOT_CARRY_OFS           =       5                    ; carried loot offset from player X
13323 | 40                    player.s   1693 | Equivalence | 11 |         |    0 | 00/7375               | LOOT_FALL_SPD            =       2                    ; pixels per frame when falling
13324 | 40                    player.s   1694 | Empty       | 11 |         |    0 | 00/7375               |                                                       
13325 | 40                    player.s   1695 | Comment     | 11 |         |    0 | 00/7375               | * Loot states
13326 | 40                    player.s   1696 | Equivalence | 11 |         |    0 | 00/7375               | LST_GROUND               =       0                    
13327 | 40                    player.s   1697 | Equivalence | 11 |         |    0 | 00/7375               | LST_CARRIED              =       1                    
13328 | 40                    player.s   1698 | Equivalence | 11 |         |    0 | 00/7375               | LST_COLLECT              =       2                    
13329 | 40                    player.s   1699 | Comment     | 11 |         |    0 | 00/7375               | *LST_FALLING = 3              ; defined in dp.s for cross-file access
13330 | 40                    player.s   1700 | Equivalence | 11 |         |    0 | 00/7375               | LST_HIDDEN               =       4                    ; pickaxe only: consumed, awaiting respawn
13331 | 40                    player.s   1701 | Empty       | 11 |         |    0 | 00/7375               |                                                       
13332 | 40                    player.s   1702 | Comment     | 11 |         |    0 | 00/7375               | * Per-page old positions for carried loot ($0300 page)
13333 | 40                    player.s   1703 | Equivalence | 11 |         |    0 | 00/7375               | LootOldP0                =       $031C                ; page 0: X, Y, Fr (3 bytes)
13334 | 40                    player.s   1704 | Equivalence | 11 |         |    0 | 00/7375               | LootOldP1                =       $031F                ; page 1: X, Y, Fr (3 bytes)
13335 | 40                    player.s   1705 | Empty       | 11 |         |    0 | 00/7375               |                                                       
13336 | 40                    player.s   1706 | Comment     | 11 |         |    0 | 00/7375               | * Per-item, per-page old positions for ground/falling loot
13337 | 40                    player.s   1707 | Comment     | 11 |         |    0 | 00/7375               | * 3 items × 3 bytes (X,Y,Fr) = 9 bytes per page
13338 | 40                    player.s   1708 | Equivalence | 11 |         |    0 | 00/7375               | GLootOldP0               =       $0322                ; page 0: 9 bytes (items 0-2)
13339 | 40                    player.s   1709 | Equivalence | 11 |         |    0 | 00/7375               | GLootOldP1               =       $032B                ; page 1: 9 bytes (items 0-2)
13340 | 40                    player.s   1710 | Empty       | 11 |         |    0 | 00/7375               |                                                       
13341 | 40                    player.s   1711 | Comment     | 11 |         |    0 | 00/7375               | * Spawn data tables (3 bags + pickaxe at index 3).
13342 | 40                    player.s   1712 | Comment     | 11 |         |    0 | 00/7375               | * STEP 2: slot 3 is the pickaxe, on map 0 at (35, 147). Not drawn on
13343 | 40                    player.s   1713 | Comment     | 11 |         |    0 | 00/7375               | * the ground yet (DrawGroundLoot still bounded to LOOT_BAG_COUNT=3),
13344 | 40                    player.s   1714 | Comment     | 11 |         |    0 | 00/7375               | * but the pickup scan (LOOT_COUNT=4) can grab it and DrawCarried
13345 | 40                    player.s   1715 | Comment     | 11 |         |    0 | 00/7375               | * will render the carried sprite.
13346 | 40                    player.s   1716 | Data        | 11 |         |    4 | 00/7375 : 46 2A 31 4D | LootTblX                 DFB     70,42,49,77          ; pixel X  (map0 col10, map1 col6, map2 col7, pickaxe col11)
13347 | 40                    player.s   1717 | Data        | 11 |         |    4 | 00/7379 : 93 4B 81 93 | LootTblY                 DFB     147,75,129,147       ; pixel Y (pickaxe on same platform as bag 0)
13348 | 40                    player.s   1718 | Data        | 11 |         |    4 | 00/737D : 00 01 02 00 | LootTblMap               DFB     0,1,2,0              ; pickaxe lives on map 0
13349 | 40                    player.s   1719 | Data        | 11 |         |    4 | 00/7381 : 00 00 00 00 | LootTblSt                DFB     0,0,0,0              ; state: 0=ground,1=carried,2=collected
13350 | 40                    player.s   1720 | Data        | 11 |         |    4 | 00/7385 : 16 16 1C 1B | LootTblFrG               DFB     {22},{22},{28},{27}  
13351 | 40                    player.s   1721 | Data        | 11 |         |    4 | 00/7389 : 17 17 1D 19 | LootTblFrC               DFB     {23},{23},{29},{25}  
13352 | 40                    player.s   1722 | Data        | 11 |         |    4 | 00/738D : 26 26 27 28 | LootTblFrCL              DFB     {38},{38},{39},{40}  
13353 | 40                    player.s   1723 | Comment     | 11 |         |    0 | 00/7391               | * Per-loot wake counter (0 = sleeping, 1-2 = needs erase+draw for N more frames).
13354 | 40                    player.s   1724 | Comment     | 11 |         |    0 | 00/7391               | * Writers set to 2 when the loot moves; decremented once per rendered frame.
13355 | 40                    player.s   1725 | Data        | 11 |         |    4 | 00/7391 : 00 00 00 00 | LootTblWake              DFB     0,0,0,0              
13356 | 40                    player.s   1726 | Empty       | 11 |         |    0 | 00/7395               |                                                       
13357 | 40                    player.s   1727 | Comment     | 11 |         |    0 | 00/7395               | * Spawn tables (read-only copy, used to restore carried bag on respawn)
13358 | 40                    player.s   1728 | Data        | 11 |         |    4 | 00/7395 : 46 2A 31 4D | LootInitX                DFB     70,42,49,77          
13359 | 40                    player.s   1729 | Data        | 11 |         |    4 | 00/7399 : 93 4B 81 93 | LootInitY                DFB     147,75,129,147       
13360 | 40                    player.s   1730 | Data        | 11 |         |    4 | 00/739D : 00 01 02 00 | LootInitMap              DFB     0,1,2,0              
13361 | 40                    player.s   1731 | Empty       | 11 |         |    0 | 00/73A1               |                                                       
13362 | 40                    player.s   1732 | Comment     | 11 |         |    0 | 00/73A1               | * LootInit moved to guard_1800.s ($1800 block) to shrink the $6000
13363 | 40                    player.s   1733 | Comment     | 11 |         |    0 | 00/73A1               | * block below the $B000 ceiling (MaskExpTbl tail lives there).
13364 | 40                    player.s   1734 | Empty       | 11 |         |    0 | 00/73A1               |                                                       
13365 | 40                    player.s   1735 | Comment     | 11 |         |    0 | 00/73A1               | *----------------------------------------------
13366 | 40                    player.s   1736 | Comment     | 11 |         |    0 | 00/73A1               | * SetPlayerCarrySpeed - Set PlayerSpeed from current carry state.
13367 | 40                    player.s   1737 | Comment     | 11 |         |    0 | 00/73A1               | *
13368 | 40                    player.s   1738 | Comment     | 11 |         |    0 | 00/73A1               | * No loot:        SPEED_NORMAL ($0100, 1.0x)
13369 | 40                    player.s   1739 | Comment     | 11 |         |    0 | 00/73A1               | * Carrying FR_LOOT_Y (yellow bag): SPEED_YELLOW ($0080, 0.5x)
13370 | 40                    player.s   1740 | Comment     | 11 |         |    0 | 00/73A1               | * Carrying FR_LOOT_B (blue bag):   SPEED_BLUE   ($0055, 0.333x)
13371 | 40                    player.s   1741 | Comment     | 11 |         |    0 | 00/73A1               | *
13372 | 40                    player.s   1742 | Comment     | 11 |         |    0 | 00/73A1               | * Called at every carry-state transition (pickup, deposit, drop,
13373 | 40                    player.s   1743 | Comment     | 11 |         |    0 | 00/73A1               | * LootResetCarried on death). Does NOT touch PlayerWalkAcc/ClimbAcc
13374 | 40                    player.s   1744 | Comment     | 11 |         |    0 | 00/73A1               | * so an in-progress walk cycle smoothly transitions.
13375 | 40                    player.s   1745 | Comment     | 11 |         |    0 | 00/73A1               | *----------------------------------------------
13376 | 40                    player.s   1746 | Empty       | 11 |         |    0 | 00/73A1               | SetPlayerCarrySpeed                                   
13377 | 40                    player.s   1747 | Code        | 11 |         |    2 | 00/73A1 : A5 6E       |                          LDA     {$6E}                
13378 | 40                    player.s   1748 | Code        | 11 |         |    2 | 00/73A3 : C9 FF       |                          CMP     #{$FF}               
13379 | 40                    player.s   1749 | Code        | 11 |         |    2 | 00/73A5 : F0 22       |                          BEQ     _spcsNone            
13380 | 40                    player.s   1750 | Code        | 11 |         |    2 | 00/73A7 : C9 03       |                          CMP     #{3}                 
13381 | 40                    player.s   1751 | Code        | 11 |         |    2 | 00/73A9 : F0 1E       |                          BEQ     _spcsNone            ; pickaxe: no speed penalty
13382 | 40                    player.s   1752 | Code        | 11 |         |    1 | 00/73AB : AA          |                          TAX                          
13383 | 40                    player.s   1753 | Code        | 11 |         |    3 | 00/73AC : BD 85 73    |                          LDA     LootTblFrG,X         
13384 | 40                    player.s   1754 | Code        | 11 |         |    2 | 00/73AF : C9 1C       |                          CMP     #{28}                
13385 | 40                    player.s   1755 | Code        | 11 |         |    2 | 00/73B1 : F0 0B       |                          BEQ     _spcsBlue            
13386 | 40                    player.s   1756 | Comment     | 11 |         |    0 | 00/73B3               | * Yellow bag (FR_LOOT_Y or anything non-blue)
13387 | 40                    player.s   1757 | Code        | 11 |         |    2 | 00/73B3 : A9 80       |                          LDA     #{$80}               
13388 | 40                    player.s   1758 | Code        | 11 |         |    3 | 00/73B5 : 8D CE 11    |                          STA     PlayerSpeedLo        
13389 | 40                    player.s   1759 | Code        | 11 |         |    2 | 00/73B8 : A9 00       |                          LDA     #{$00}               
13390 | 40                    player.s   1760 | Code        | 11 |         |    3 | 00/73BA : 8D CF 11    |                          STA     PlayerSpeedHi        
13391 | 40                    player.s   1761 | Code        | 11 |         |    1 | 00/73BD : 60          |                          RTS                          
13392 | 40                    player.s   1762 | Empty       | 11 |         |    0 | 00/73BE               | _spcsBlue                                             
13393 | 40                    player.s   1763 | Code        | 11 |         |    2 | 00/73BE : A9 55       |                          LDA     #{$55}               
13394 | 40                    player.s   1764 | Code        | 11 |         |    3 | 00/73C0 : 8D CE 11    |                          STA     PlayerSpeedLo        
13395 | 40                    player.s   1765 | Code        | 11 |         |    2 | 00/73C3 : A9 00       |                          LDA     #{$00}               
13396 | 40                    player.s   1766 | Code        | 11 |         |    3 | 00/73C5 : 8D CF 11    |                          STA     PlayerSpeedHi        
13397 | 40                    player.s   1767 | Code        | 11 |         |    1 | 00/73C8 : 60          |                          RTS                          
13398 | 40                    player.s   1768 | Empty       | 11 |         |    0 | 00/73C9               | _spcsNone                                             
13399 | 40                    player.s   1769 | Code        | 11 |         |    2 | 00/73C9 : A9 00       |                          LDA     #{$00}               
13400 | 40                    player.s   1770 | Code        | 11 |         |    3 | 00/73CB : 8D CE 11    |                          STA     PlayerSpeedLo        
13401 | 40                    player.s   1771 | Code        | 11 |         |    2 | 00/73CE : A9 01       |                          LDA     #{$01}               
13402 | 40                    player.s   1772 | Code        | 11 |         |    3 | 00/73D0 : 8D CF 11    |                          STA     PlayerSpeedHi        
13403 | 40                    player.s   1773 | Code        | 11 |         |    1 | 00/73D3 : 60          |                          RTS                          
13404 | 40                    player.s   1774 | Empty       | 11 |         |    0 | 00/73D4               |                                                       
13405 | 40                    player.s   1775 | Comment     | 11 |         |    0 | 00/73D4               | *----------------------------------------------
13406 | 40                    player.s   1776 | Comment     | 11 |         |    0 | 00/73D4               | * InitLootOldPos - Set both page slots from current carried pos
13407 | 40                    player.s   1777 | Comment     | 11 |         |    0 | 00/73D4               | *----------------------------------------------
13408 | 40                    player.s   1778 | Empty       | 11 |         |    0 | 00/73D4               | InitLootOldPos                                        
13409 | 40                    player.s   1779 | Code        | 11 |         |    2 | 00/73D4 : A0 02       |                          LDY     #2                   
13410 | 40                    player.s   1780 | Code        | 11 |         |    3 | 00/73D6 : B9 4A 00    | _ilpLoop                 LDA     {$4A},Y              
13411 | 40                    player.s   1781 | Code        | 11 |         |    3 | 00/73D9 : 99 1C 03    |                          STA     {$031C},Y            
13412 | 40                    player.s   1782 | Code        | 11 |         |    3 | 00/73DC : 99 1F 03    |                          STA     {$031F},Y            
13413 | 40                    player.s   1783 | Code        | 11 |         |    1 | 00/73DF : 88          |                          DEY                          
13414 | 40                    player.s   1784 | Code        | 11 |         |    2 | 00/73E0 : 10 F4       |                          BPL     _ilpLoop             
13415 | 40                    player.s   1785 | Code        | 11 |         |    1 | 00/73E2 : 60          |                          RTS                          
13416 | 40                    player.s   1786 | Empty       | 11 |         |    0 | 00/73E3               |                                                       
13417 | 40                    player.s   1787 | Comment     | 11 |         |    0 | 00/73E3               | *----------------------------------------------
13418 | 40                    player.s   1788 | Comment     | 11 |         |    0 | 00/73E3               | * LoadLootOldPos - Load this page's old carried loot pos
13419 | 40                    player.s   1789 | Comment     | 11 |         |    0 | 00/73E3               | *----------------------------------------------
13420 | 40                    player.s   1790 | Empty       | 11 |         |    0 | 00/73E3               | LoadLootOldPos                                        
13421 | 40                    player.s   1791 | Code        | 11 |         |    3 | 00/73E3 : 20 17 66    |                          JSR     _PageY               
13422 | 40                    player.s   1792 | Code        | 11 |         |    3 | 00/73E6 : B9 1C 03    |                          LDA     {$031C},Y            
13423 | 40                    player.s   1793 | Code        | 11 |         |    2 | 00/73E9 : 85 4A       |                          STA     {$4A}                
13424 | 40                    player.s   1794 | Code        | 11 |         |    1 | 00/73EB : C8          |                          INY                          
13425 | 40                    player.s   1795 | Code        | 11 |         |    3 | 00/73EC : B9 1C 03    |                          LDA     {$031C},Y            
13426 | 40                    player.s   1796 | Code        | 11 |         |    2 | 00/73EF : 85 4B       |                          STA     {$4B}                
13427 | 40                    player.s   1797 | Code        | 11 |         |    1 | 00/73F1 : C8          |                          INY                          
13428 | 40                    player.s   1798 | Code        | 11 |         |    3 | 00/73F2 : B9 1C 03    |                          LDA     {$031C},Y            
13429 | 40                    player.s   1799 | Code        | 11 |         |    2 | 00/73F5 : 85 4C       |                          STA     {$4C}                
13430 | 40                    player.s   1800 | Code        | 11 |         |    1 | 00/73F7 : 60          |                          RTS                          
13431 | 40                    player.s   1801 | Empty       | 11 |         |    0 | 00/73F8               |                                                       
13432 | 40                    player.s   1802 | Comment     | 11 |         |    0 | 00/73F8               | *----------------------------------------------
13433 | 40                    player.s   1803 | Comment     | 11 |         |    0 | 00/73F8               | * SaveLootOldPos - Save current carried loot pos for this page
13434 | 40                    player.s   1804 | Comment     | 11 |         |    0 | 00/73F8               | *----------------------------------------------
13435 | 40                    player.s   1805 | Empty       | 11 |         |    0 | 00/73F8               | SaveLootOldPos                                        
13436 | 40                    player.s   1806 | Code        | 11 |         |    3 | 00/73F8 : 20 17 66    |                          JSR     _PageY               
13437 | 40                    player.s   1807 | Code        | 11 |         |    2 | 00/73FB : A5 4A       |                          LDA     {$4A}                
13438 | 40                    player.s   1808 | Code        | 11 |         |    3 | 00/73FD : 99 1C 03    |                          STA     {$031C},Y            
13439 | 40                    player.s   1809 | Code        | 11 |         |    1 | 00/7400 : C8          |                          INY                          
13440 | 40                    player.s   1810 | Code        | 11 |         |    2 | 00/7401 : A5 4B       |                          LDA     {$4B}                
13441 | 40                    player.s   1811 | Code        | 11 |         |    3 | 00/7403 : 99 1C 03    |                          STA     {$031C},Y            
13442 | 40                    player.s   1812 | Code        | 11 |         |    1 | 00/7406 : C8          |                          INY                          
13443 | 40                    player.s   1813 | Code        | 11 |         |    2 | 00/7407 : A5 4C       |                          LDA     {$4C}                
13444 | 40                    player.s   1814 | Code        | 11 |         |    3 | 00/7409 : 99 1C 03    |                          STA     {$031C},Y            
13445 | 40                    player.s   1815 | Code        | 11 |         |    1 | 00/740C : 60          |                          RTS                          
13446 | 40                    player.s   1816 | Empty       | 11 |         |    0 | 00/740D               |                                                       
13447 | 40                    player.s   1817 | Comment     | 11 |         |    0 | 00/740D               | *----------------------------------------------
13448 | 40                    player.s   1818 | Comment     | 11 |         |    0 | 00/740D               | * UpdateLoot - Handle pickup, carry, drop, deposit
13449 | 40                    player.s   1819 | Comment     | 11 |         |    0 | 00/740D               | * Called each frame after UpdateWB
13450 | 40                    player.s   1820 | Comment     | 11 |         |    0 | 00/740D               | *----------------------------------------------
13451 | 40                    player.s   1821 | Empty       | 11 |         |    0 | 00/740D               | UpdateLoot                                            
13452 | 40                    player.s   1822 | Code        | 11 |         |    2 | 00/740D : 64 6F       |                          STZ     {$6F}                
13453 | 40                    player.s   1823 | Empty       | 11 |         |    0 | 00/740F               |                                                       
13454 | 40                    player.s   1824 | Comment     | 11 |         |    0 | 00/740F               | * Update any falling loot items
13455 | 40                    player.s   1825 | Code        | 11 |         |    2 | 00/740F : A2 00       |                          LDX     #0                   
13456 | 40                    player.s   1826 | Empty       | 11 |         |    0 | 00/7411               | _fallLoop                                             
13457 | 40                    player.s   1827 | Code        | 11 |         |    2 | 00/7411 : E0 04       |                          CPX     #{4}                 
13458 | 40                    player.s   1828 | Code        | 11 |         |    2 | 00/7413 : 90 03       |                          BCC     _fallCheck           
13459 | 40                    player.s   1829 | Code        | 11 |         |    3 | 00/7415 : 4C 81 74    |                          JMP     _fallDone            
13460 | 40                    player.s   1830 | Empty       | 11 |         |    0 | 00/7418               | _fallCheck                                            
13461 | 40                    player.s   1831 | Code        | 11 |         |    3 | 00/7418 : BD 81 73    |                          LDA     LootTblSt,X          
13462 | 40                    player.s   1832 | Code        | 11 |         |    2 | 00/741B : C9 03       |                          CMP     #{3}                 
13463 | 40                    player.s   1833 | Code        | 11 |         |    2 | 00/741D : F0 02       |                          BEQ     _fallYes             
13464 | 40                    player.s   1834 | Code        | 11 |         |    2 | 00/741F : 80 07       |                          BRA     _fallSkip            
13465 | 40                    player.s   1835 | Code        | 11 |         |    3 | 00/7421 : BD 7D 73    | _fallYes                 LDA     LootTblMap,X         
13466 | 40                    player.s   1836 | Code        | 11 |         |    2 | 00/7424 : C5 1C       |                          CMP     {$1C}                
13467 | 40                    player.s   1837 | Code        | 11 |         |    2 | 00/7426 : F0 03       |                          BEQ     _fallDo              
13468 | 40                    player.s   1838 | Code        | 11 |         |    3 | 00/7428 : 4C 7D 74    | _fallSkip                JMP     _fallNext            
13469 | 40                    player.s   1839 | Empty       | 11 |         |    0 | 00/742B               | _fallDo                                               
13470 | 40                    player.s   1840 | Comment     | 11 |         |    0 | 00/742B               | * Move loot down
13471 | 40                    player.s   1841 | Code        | 11 |         |    3 | 00/742B : BD 79 73    |                          LDA     LootTblY,X           
13472 | 40                    player.s   1842 | Code        | 11 |         |    1 | 00/742E : 18          |                          CLC                          
13473 | 40                    player.s   1843 | Code        | 11 |         |    2 | 00/742F : 69 02       |                          ADC     #{2}                 
13474 | 40                    player.s   1844 | Code        | 11 |         |    3 | 00/7431 : 9D 79 73    |                          STA     LootTblY,X           
13475 | 40                    player.s   1845 | Code        | 11 |         |    2 | 00/7434 : C9 BA       |                          CMP     #186                 
13476 | 40                    player.s   1846 | Code        | 11 |         |    2 | 00/7436 : B0 32       |                          BCS     _fallBottom          ; off bottom of screen
13477 | 40                    player.s   1847 | Comment     | 11 |         |    0 | 00/7438               | * Check if falling loot hits a guard
13478 | 40                    player.s   1848 | Code        | 11 |         |    3 | 00/7438 : 20 EF 11    |                          JSR     CheckLootHitGuard    
13479 | 40                    player.s   1849 | Comment     | 11 |         |    0 | 00/743B               | * Check ground under feet using GetSurfaceY
13480 | 40                    player.s   1850 | Code        | 11 |         |    2 | 00/743B : 86 1A       |                          STX     {$1A}                ; save loot index
13481 | 40                    player.s   1851 | Code        | 11 |         |    3 | 00/743D : BD 75 73    |                          LDA     LootTblX,X           
13482 | 40                    player.s   1852 | Code        | 11 |         |    1 | 00/7440 : 18          |                          CLC                          
13483 | 40                    player.s   1853 | Code        | 11 |         |    2 | 00/7441 : 69 03       |                          ADC     #3                   ; center X
13484 | 40                    player.s   1854 | Code        | 11 |         |    2 | 00/7443 : 85 1B       |                          STA     {$1B}                
13485 | 40                    player.s   1855 | Code        | 11 |         |    3 | 00/7445 : BD 79 73    |                          LDA     LootTblY,X           
13486 | 40                    player.s   1856 | Code        | 11 |         |    1 | 00/7448 : 18          |                          CLC                          
13487 | 40                    player.s   1857 | Code        | 11 |         |    2 | 00/7449 : 69 0C       |                          ADC     #12                  ; feet Y
13488 | 40                    player.s   1858 | Code        | 11 |         |    2 | 00/744B : A6 1B       |                          LDX     {$1B}                ; X = center pixel X
13489 | 40                    player.s   1859 | Code        | 11 |         |    3 | 00/744D : 20 3C 11    |                          JSR     GetSurfaceY          ; A = surface scanline, C=1 if found
13490 | 40                    player.s   1860 | Code        | 11 |         |    2 | 00/7450 : A6 1A       |                          LDX     {$1A}                ; restore loot index
13491 | 40                    player.s   1861 | Code        | 11 |         |    2 | 00/7452 : 90 0B       |                          BCC     _fallKeep            ; no surface (empty/ladder) = keep falling
13492 | 40                    player.s   1862 | Code        | 11 |         |    1 | 00/7454 : 38          |                          SEC                          
13493 | 40                    player.s   1863 | Code        | 11 |         |    2 | 00/7455 : E9 0C       |                          SBC     #12                  ; sprite Y = surface - 12
13494 | 40                    player.s   1864 | Code        | 11 |         |    3 | 00/7457 : 9D 79 73    |                          STA     LootTblY,X           
13495 | 40                    player.s   1865 | Code        | 11 |         |    2 | 00/745A : A9 00       |                          LDA     #{0}                 
13496 | 40                    player.s   1866 | Code        | 11 |         |    3 | 00/745C : 9D 81 73    |                          STA     LootTblSt,X          
13497 | 40                    player.s   1867 | Empty       | 11 |         |    0 | 00/745F               | _fallKeep                                             
13498 | 40                    player.s   1868 | Code        | 11 |         |    2 | 00/745F : A9 01       |                          LDA     #1                   
13499 | 40                    player.s   1869 | Code        | 11 |         |    2 | 00/7461 : 85 6F       |                          STA     {$6F}                
13500 | 40                    player.s   1870 | Code        | 11 |         |    2 | 00/7463 : A9 02       |                          LDA     #2                   
13501 | 40                    player.s   1871 | Code        | 11 |         |    3 | 00/7465 : 9D 91 73    |                          STA     LootTblWake,X        
13502 | 40                    player.s   1872 | Code        | 11 |         |    2 | 00/7468 : 80 13       |                          BRA     _fallNext            
13503 | 40                    player.s   1873 | Empty       | 11 |         |    0 | 00/746A               | _fallBottom                                           
13504 | 40                    player.s   1874 | Code        | 11 |         |    2 | 00/746A : A9 BA       |                          LDA     #186                 
13505 | 40                    player.s   1875 | Code        | 11 |         |    3 | 00/746C : 9D 79 73    |                          STA     LootTblY,X           
13506 | 40                    player.s   1876 | Code        | 11 |         |    2 | 00/746F : A9 00       |                          LDA     #{0}                 
13507 | 40                    player.s   1877 | Code        | 11 |         |    3 | 00/7471 : 9D 81 73    |                          STA     LootTblSt,X          
13508 | 40                    player.s   1878 | Code        | 11 |         |    2 | 00/7474 : A9 01       |                          LDA     #1                   
13509 | 40                    player.s   1879 | Code        | 11 |         |    2 | 00/7476 : 85 6F       |                          STA     {$6F}                
13510 | 40                    player.s   1880 | Code        | 11 |         |    2 | 00/7478 : A9 02       |                          LDA     #2                   
13511 | 40                    player.s   1881 | Code        | 11 |         |    3 | 00/747A : 9D 91 73    |                          STA     LootTblWake,X        
13512 | 40                    player.s   1882 | Empty       | 11 |         |    0 | 00/747D               | _fallNext                                             
13513 | 40                    player.s   1883 | Code        | 11 |         |    1 | 00/747D : E8          |                          INX                          
13514 | 40                    player.s   1884 | Code        | 11 |         |    3 | 00/747E : 4C 11 74    |                          JMP     _fallLoop            
13515 | 40                    player.s   1885 | Empty       | 11 |         |    0 | 00/7481               | _fallDone                                             
13516 | 40                    player.s   1886 | Empty       | 11 |         |    0 | 00/7481               |                                                       
13517 | 40                    player.s   1887 | Comment     | 11 |         |    0 | 00/7481               | * Update collected loot: track WB position
13518 | 40                    player.s   1888 | Code        | 11 |         |    2 | 00/7481 : A2 00       |                          LDX     #0                   
13519 | 40                    player.s   1889 | Empty       | 11 |         |    0 | 00/7483               | _collLoop                                             
13520 | 40                    player.s   1890 | Code        | 11 |         |    2 | 00/7483 : E0 04       |                          CPX     #{4}                 
13521 | 40                    player.s   1891 | Code        | 11 |         |    2 | 00/7485 : B0 2B       |                          BCS     _collDone            
13522 | 40                    player.s   1892 | Code        | 11 |         |    3 | 00/7487 : BD 81 73    |                          LDA     LootTblSt,X          
13523 | 40                    player.s   1893 | Code        | 11 |         |    2 | 00/748A : C9 02       |                          CMP     #{2}                 
13524 | 40                    player.s   1894 | Code        | 11 |         |    2 | 00/748C : D0 21       |                          BNE     _collNext            
13525 | 40                    player.s   1895 | Code        | 11 |         |    2 | 00/748E : A5 33       |                          LDA     {$33}                
13526 | 40                    player.s   1896 | Code        | 11 |         |    3 | 00/7490 : 9D 75 73    |                          STA     LootTblX,X           
13527 | 40                    player.s   1897 | Code        | 11 |         |    2 | 00/7493 : A5 34       |                          LDA     {$34}                
13528 | 40                    player.s   1898 | Code        | 11 |         |    1 | 00/7495 : 38          |                          SEC                          
13529 | 40                    player.s   1899 | Code        | 11 |         |    2 | 00/7496 : E9 01       |                          SBC     #1                   ; 1 pixel higher than WB
13530 | 40                    player.s   1900 | Code        | 11 |         |    3 | 00/7498 : 9D 79 73    |                          STA     LootTblY,X           
13531 | 40                    player.s   1901 | Code        | 11 |         |    2 | 00/749B : A5 6D       |                          LDA     {$6D}                
13532 | 40                    player.s   1902 | Code        | 11 |         |    3 | 00/749D : 9D 7D 73    |                          STA     LootTblMap,X         
13533 | 40                    player.s   1903 | Comment     | 11 |         |    0 | 00/74A0               | * Only wake collected loot when the WB itself is moving or still
13534 | 40                    player.s   1904 | Comment     | 11 |         |    0 | 00/74A0               | * latching for page sync. Otherwise it sits in the WB silently.
13535 | 40                    player.s   1905 | Code        | 11 |         |    2 | 00/74A0 : A5 37       |                          LDA     {$37}                
13536 | 40                    player.s   1906 | Code        | 11 |         |    2 | 00/74A2 : 05 ED       |                          ORA     {$ED}                
13537 | 40                    player.s   1907 | Code        | 11 |         |    2 | 00/74A4 : F0 09       |                          BEQ     _collNext            
13538 | 40                    player.s   1908 | Code        | 11 |         |    2 | 00/74A6 : A9 01       |                          LDA     #1                   
13539 | 40                    player.s   1909 | Code        | 11 |         |    2 | 00/74A8 : 85 6F       |                          STA     {$6F}                
13540 | 40                    player.s   1910 | Code        | 11 |         |    2 | 00/74AA : A9 02       |                          LDA     #2                   
13541 | 40                    player.s   1911 | Code        | 11 |         |    3 | 00/74AC : 9D 91 73    |                          STA     LootTblWake,X        
13542 | 40                    player.s   1912 | Empty       | 11 |         |    0 | 00/74AF               | _collNext                                             
13543 | 40                    player.s   1913 | Code        | 11 |         |    1 | 00/74AF : E8          |                          INX                          
13544 | 40                    player.s   1914 | Code        | 11 |         |    2 | 00/74B0 : 80 D1       |                          BRA     _collLoop            
13545 | 40                    player.s   1915 | Empty       | 11 |         |    0 | 00/74B2               | _collDone                                             
13546 | 40                    player.s   1916 | Empty       | 11 |         |    0 | 00/74B2               |                                                       
13547 | 40                    player.s   1917 | Comment     | 11 |         |    0 | 00/74B2               | * Are we carrying something?
13548 | 40                    player.s   1918 | Code        | 11 |         |    2 | 00/74B2 : A5 6E       |                          LDA     {$6E}                
13549 | 40                    player.s   1919 | Code        | 11 |         |    2 | 00/74B4 : C9 FF       |                          CMP     #{$FF}               
13550 | 40                    player.s   1920 | Code        | 11 |         |    2 | 00/74B6 : D0 03       |                          BNE     _doCarry             
13551 | 40                    player.s   1921 | Code        | 11 |         |    3 | 00/74B8 : 4C D7 75    |                          JMP     _tryPickup           
13552 | 40                    player.s   1922 | Empty       | 11 |         |    0 | 00/74BB               | _doCarry                                              
13553 | 40                    player.s   1923 | Empty       | 11 |         |    0 | 00/74BB               |                                                       
13554 | 40                    player.s   1924 | Comment     | 11 |         |    0 | 00/74BB               | * --- Carrying loot: update position ---
13555 | 40                    player.s   1925 | Code        | 11 |         |    1 | 00/74BB : AA          |                          TAX                          ; X = CarryIdx
13556 | 40                    player.s   1926 | Comment     | 11 |         |    0 | 00/74BC               | * Riding cart? Center loot over cart.
13557 | 40                    player.s   1927 | Code        | 11 |         |    2 | 00/74BC : A5 74       |                          LDA     {$74}                
13558 | 40                    player.s   1928 | Code        | 11 |         |    2 | 00/74BE : C9 06       |                          CMP     #{6}                 
13559 | 40                    player.s   1929 | Code        | 11 |         |    2 | 00/74C0 : F0 1E       |                          BEQ     _carryCtr            
13560 | 40                    player.s   1930 | Comment     | 11 |         |    0 | 00/74C2               | * On ladder? Center loot over player. Otherwise offset behind.
13561 | 40                    player.s   1931 | Code        | 11 |         |    2 | 00/74C2 : C9 02       |                          CMP     #{2}                 
13562 | 40                    player.s   1932 | Code        | 11 |         |    2 | 00/74C4 : F0 1A       |                          BEQ     _carryCtr            
13563 | 40                    player.s   1933 | Code        | 11 |         |    2 | 00/74C6 : A5 73       |                          LDA     {$73}                
13564 | 40                    player.s   1934 | Comment     | 11 |         |    0 | 00/74C8               | * Pickaxe rides in FRONT, opposite side from bags. Flip the dir bit
13565 | 40                    player.s   1935 | Comment     | 11 |         |    0 | 00/74C8               | * when the carried item is the pickaxe so the sub/add swap below.
13566 | 40                    player.s   1936 | Code        | 11 |         |    2 | 00/74C8 : E0 03       |                          CPX     #{3}                 
13567 | 40                    player.s   1937 | Code        | 11 |         |    2 | 00/74CA : D0 02       |                          BNE     _carryNoFlip         
13568 | 40                    player.s   1938 | Code        | 11 |         |    2 | 00/74CC : 49 01       |                          EOR     #1                   
13569 | 40                    player.s   1939 | Empty       | 11 |         |    0 | 00/74CE               | _carryNoFlip                                          
13570 | 40                    player.s   1940 | Code        | 11 |         |    2 | 00/74CE : C9 00       |                          CMP     #0                   ; refresh Z from direction (CPX above clobbered it)
13571 | 40                    player.s   1941 | Code        | 11 |         |    2 | 00/74D0 : D0 07       |                          BNE     _carryL              
13572 | 40                    player.s   1942 | Code        | 11 |         |    2 | 00/74D2 : A5 70       |                          LDA     {$70}                
13573 | 40                    player.s   1943 | Code        | 11 |         |    1 | 00/74D4 : 38          |                          SEC                          
13574 | 40                    player.s   1944 | Code        | 11 |         |    2 | 00/74D5 : E9 05       |                          SBC     #{5}                 ; bag: facing right → loot on left (behind)
13575 | 40                    player.s   1945 | Code        | 11 |         |    2 | 00/74D7 : 80 09       |                          BRA     _setCarryX           ;   pickaxe: facing left → pickaxe on left (front)
13576 | 40                    player.s   1946 | Code        | 11 |         |    2 | 00/74D9 : A5 70       | _carryL                  LDA     {$70}                
13577 | 40                    player.s   1947 | Code        | 11 |         |    1 | 00/74DB : 18          |                          CLC                          
13578 | 40                    player.s   1948 | Code        | 11 |         |    2 | 00/74DC : 69 05       |                          ADC     #{5}                 ; bag: facing left → loot on right (behind)
13579 | 40                    player.s   1949 | Code        | 11 |         |    2 | 00/74DE : 80 02       |                          BRA     _setCarryX           ;   pickaxe: facing right → pickaxe on right (front)
13580 | 40                    player.s   1950 | Empty       | 11 |         |    0 | 00/74E0               | _carryCtr                                             
13581 | 40                    player.s   1951 | Code        | 11 |         |    2 | 00/74E0 : A5 70       |                          LDA     {$70}                ; on ladder/cart: centered
13582 | 40                    player.s   1952 | Empty       | 11 |         |    0 | 00/74E2               | _setCarryX                                            
13583 | 40                    player.s   1953 | Code        | 11 |         |    3 | 00/74E2 : 9D 75 73    |                          STA     LootTblX,X           
13584 | 40                    player.s   1954 | Code        | 11 |         |    2 | 00/74E5 : A5 71       |                          LDA     {$71}                
13585 | 40                    player.s   1955 | Code        | 11 |         |    2 | 00/74E7 : A4 74       |                          LDY     {$74}                
13586 | 40                    player.s   1956 | Code        | 11 |         |    2 | 00/74E9 : C0 06       |                          CPY     #{6}                 
13587 | 40                    player.s   1957 | Code        | 11 |         |    2 | 00/74EB : D0 03       |                          BNE     _carryYSet           
13588 | 40                    player.s   1958 | Code        | 11 |         |    1 | 00/74ED : 38          |                          SEC                          
13589 | 40                    player.s   1959 | Code        | 11 |         |    2 | 00/74EE : E9 01       |                          SBC     #1                   ; 1px higher in cart so loot doesn't poke through
13590 | 40                    player.s   1960 | Empty       | 11 |         |    0 | 00/74F0               | _carryYSet                                            
13591 | 40                    player.s   1961 | Code        | 11 |         |    3 | 00/74F0 : 9D 79 73    |                          STA     LootTblY,X           
13592 | 40                    player.s   1962 | Empty       | 11 |         |    0 | 00/74F3               |                                                       
13593 | 40                    player.s   1963 | Comment     | 11 |         |    0 | 00/74F3               | * Check if Open Apple released
13594 | 40                    player.s   1964 | Code        | 11 |         |    3 | 00/74F3 : 20 89 15    |                          JSR     ReadOAPDemo          
13595 | 40                    player.s   1965 | Code        | 11 |         |    2 | 00/74F6 : 10 03       |                          BPL     _carryRls            ; released (bit 7 = 0) -> process release
13596 | 40                    player.s   1966 | Code        | 11 |         |    3 | 00/74F8 : 4C CD 75    |                          JMP     _carryDirty          ; still held, just mark dirty
13597 | 40                    player.s   1967 | Empty       | 11 |         |    0 | 00/74FB               | _carryRls                                             
13598 | 40                    player.s   1968 | Empty       | 11 |         |    0 | 00/74FB               |                                                       
13599 | 40                    player.s   1969 | Comment     | 11 |         |    0 | 00/74FB               | * --- Releasing loot ---
13600 | 40                    player.s   1970 | Comment     | 11 |         |    0 | 00/74FB               | * Pickaxe is never depositable — always take the drop path.
13601 | 40                    player.s   1971 | Code        | 11 |         |    2 | 00/74FB : E0 03       |                          CPX     #{3}                 
13602 | 40                    player.s   1972 | Code        | 11 |         |    2 | 00/74FD : F0 71       |                          BEQ     _dropLoot            
13603 | 40                    player.s   1973 | Comment     | 11 |         |    0 | 00/74FF               | * Check WB deposit: within ±3px of WB and same map?
13604 | 40                    player.s   1974 | Code        | 11 |         |    3 | 00/74FF : BD 7D 73    |                          LDA     LootTblMap,X         
13605 | 40                    player.s   1975 | Code        | 11 |         |    2 | 00/7502 : C5 6D       |                          CMP     {$6D}                
13606 | 40                    player.s   1976 | Code        | 11 |         |    2 | 00/7504 : D0 6A       |                          BNE     _dropLoot            ; WB on different map
13607 | 40                    player.s   1977 | Empty       | 11 |         |    0 | 00/7506               |                                                       
13608 | 40                    player.s   1978 | Code        | 11 |         |    2 | 00/7506 : A5 70       |                          LDA     {$70}                
13609 | 40                    player.s   1979 | Code        | 11 |         |    1 | 00/7508 : 38          |                          SEC                          
13610 | 40                    player.s   1980 | Code        | 11 |         |    2 | 00/7509 : E5 33       |                          SBC     {$33}                
13611 | 40                    player.s   1981 | Code        | 11 |         |    2 | 00/750B : 10 03       |                          BPL     _absWB               
13612 | 40                    player.s   1982 | Code        | 11 |         |    2 | 00/750D : 49 FF       |                          EOR     #$FF                 
13613 | 40                    player.s   1983 | Code        | 11 |         |    1 | 00/750F : 1A          |                          INC                          
13614 | 40                    player.s   1984 | Code        | 11 |         |    2 | 00/7510 : C9 04       | _absWB                   CMP     #{3}+1               
13615 | 40                    player.s   1985 | Code        | 11 |         |    2 | 00/7512 : B0 5C       |                          BCS     _dropLoot            ; > 3px X from WB
13616 | 40                    player.s   1986 | Empty       | 11 |         |    0 | 00/7514               |                                                       
13617 | 40                    player.s   1987 | Comment     | 11 |         |    0 | 00/7514               | * Check Y proximity: must be on same row (within 6px)
13618 | 40                    player.s   1988 | Code        | 11 |         |    2 | 00/7514 : A5 71       |                          LDA     {$71}                
13619 | 40                    player.s   1989 | Code        | 11 |         |    1 | 00/7516 : 38          |                          SEC                          
13620 | 40                    player.s   1990 | Code        | 11 |         |    2 | 00/7517 : E5 34       |                          SBC     {$34}                
13621 | 40                    player.s   1991 | Code        | 11 |         |    2 | 00/7519 : 10 03       |                          BPL     _absWBY              
13622 | 40                    player.s   1992 | Code        | 11 |         |    2 | 00/751B : 49 FF       |                          EOR     #$FF                 
13623 | 40                    player.s   1993 | Code        | 11 |         |    1 | 00/751D : 1A          |                          INC                          
13624 | 40                    player.s   1994 | Code        | 11 |         |    2 | 00/751E : C9 07       | _absWBY                  CMP     #7                   
13625 | 40                    player.s   1995 | Code        | 11 |         |    2 | 00/7520 : B0 4E       |                          BCS     _dropLoot            ; > 6px Y from WB
13626 | 40                    player.s   1996 | Empty       | 11 |         |    0 | 00/7522               |                                                       
13627 | 40                    player.s   1997 | Comment     | 11 |         |    0 | 00/7522               | * Deposit into wheelbarrow
13628 | 40                    player.s   1998 | Code        | 11 |         |    2 | 00/7522 : A9 02       |                          LDA     #{2}                 
13629 | 40                    player.s   1999 | Code        | 11 |         |    3 | 00/7524 : 9D 81 73    |                          STA     LootTblSt,X          
13630 | 40                    player.s   2000 | Comment     | 11 |         |    0 | 00/7527               | * Snap to WB so both pages' GLootOld* capture the final position.
13631 | 40                    player.s   2001 | Comment     | 11 |         |    0 | 00/7527               | * Without this the deposit frame renders the bag at carry-offset
13632 | 40                    player.s   2002 | Comment     | 11 |         |    0 | 00/7527               | * (PlayerX ± LOOT_CARRY_OFS); the next frame's :collLoop snaps to WB,
13633 | 40                    player.s   2003 | Comment     | 11 |         |    0 | 00/7527               | * but by then LootTblWake has expired on the first page so its screen
13634 | 40                    player.s   2004 | Comment     | 11 |         |    0 | 00/7527               | * buffer keeps the stale art next to the WB.
13635 | 40                    player.s   2005 | Comment     | 11 |         |    0 | 00/7527               | * Map is already == WBMapIdx from the proximity check above.
13636 | 40                    player.s   2006 | Code        | 11 |         |    2 | 00/7527 : A5 33       |                          LDA     {$33}                
13637 | 40                    player.s   2007 | Code        | 11 |         |    3 | 00/7529 : 9D 75 73    |                          STA     LootTblX,X           
13638 | 40                    player.s   2008 | Code        | 11 |         |    2 | 00/752C : A5 34       |                          LDA     {$34}                
13639 | 40                    player.s   2009 | Code        | 11 |         |    1 | 00/752E : 38          |                          SEC                          
13640 | 40                    player.s   2010 | Code        | 11 |         |    2 | 00/752F : E9 01       |                          SBC     #1                   
13641 | 40                    player.s   2011 | Code        | 11 |         |    3 | 00/7531 : 9D 79 73    |                          STA     LootTblY,X           
13642 | 40                    player.s   2012 | Comment     | 11 |         |    0 | 00/7534               | * Score: add current bonus (blue bag = 2x).
13643 | 40                    player.s   2013 | Comment     | 11 |         |    0 | 00/7534               | * _AddBonus clobbers X (LDX BonusBCD+1), so save/restore around it.
13644 | 40                    player.s   2014 | Code        | 11 |         |    3 | 00/7534 : BD 85 73    |                          LDA     LootTblFrG,X         
13645 | 40                    player.s   2015 | Code        | 11 |         |    2 | 00/7537 : C9 1C       |                          CMP     #{28}                
13646 | 40                    player.s   2016 | Code        | 11 |         |    2 | 00/7539 : D0 0A       |                          BNE     _depYel              
13647 | 40                    player.s   2017 | Code        | 11 |         |    1 | 00/753B : DA          |                          PHX                          
13648 | 40                    player.s   2018 | Code        | 11 |         |    3 | 00/753C : 20 67 75    |                          JSR     _AddBonus            
13649 | 40                    player.s   2019 | Code        | 11 |         |    3 | 00/753F : 20 67 75    |                          JSR     _AddBonus            
13650 | 40                    player.s   2020 | Code        | 11 |         |    1 | 00/7542 : FA          |                          PLX                          
13651 | 40                    player.s   2021 | Code        | 11 |         |    2 | 00/7543 : 80 05       |                          BRA     _depDone             
13652 | 40                    player.s   2022 | Code        | 11 |         |    1 | 00/7545 : DA          | _depYel                  PHX                          
13653 | 40                    player.s   2023 | Code        | 11 |         |    3 | 00/7546 : 20 67 75    |                          JSR     _AddBonus            
13654 | 40                    player.s   2024 | Code        | 11 |         |    1 | 00/7549 : FA          |                          PLX                          
13655 | 40                    player.s   2025 | Code        | 11 |         |    3 | 00/754A : 20 76 6A    | _depDone                 JSR     ResetBonus           
13656 | 40                    player.s   2026 | Code        | 11 |         |    2 | 00/754D : A9 FF       |                          LDA     #{$FF}               
13657 | 40                    player.s   2027 | Code        | 11 |         |    2 | 00/754F : 85 6E       |                          STA     {$6E}                
13658 | 40                    player.s   2028 | Code        | 11 |         |    1 | 00/7551 : DA          |                          PHX                          
13659 | 40                    player.s   2029 | Code        | 11 |         |    3 | 00/7552 : 20 A1 73    |                          JSR     SetPlayerCarrySpeed  ; back to 1.0x
13660 | 40                    player.s   2030 | Code        | 11 |         |    1 | 00/7555 : FA          |                          PLX                          
13661 | 40                    player.s   2031 | Code        | 11 |         |    2 | 00/7556 : A9 01       |                          LDA     #1                   
13662 | 40                    player.s   2032 | Code        | 11 |         |    2 | 00/7558 : 85 6F       |                          STA     {$6F}                
13663 | 40                    player.s   2033 | Code        | 11 |         |    2 | 00/755A : A9 02       |                          LDA     #2                   
13664 | 40                    player.s   2034 | Code        | 11 |         |    3 | 00/755C : 9D 91 73    |                          STA     LootTblWake,X        
13665 | 40                    player.s   2035 | Comment     | 11 |         |    0 | 00/755F               | * Play reward sound
13666 | 40                    player.s   2036 | Code        | 11 |         |    2 | 00/755F : A9 B3       |                          LDA     #<RewardTune         
13667 | 40                    player.s   2037 | Code        | 11 |         |    2 | 00/7561 : A2 E9       |                          LDX     #>RewardTune         
13668 | 40                    player.s   2038 | Code        | 11 |         |    3 | 00/7563 : 20 00 09    |                          JSR     PlayMusic            
13669 | 40                    player.s   2039 | Code        | 11 |         |    1 | 00/7566 : 60          |                          RTS                          
13670 | 40                    player.s   2040 | Empty       | 11 |         |    0 | 00/7567               |                                                       
13671 | 40                    player.s   2041 | Comment     | 11 |         |    0 | 00/7567               | *----------------------------------------------
13672 | 40                    player.s   2042 | Comment     | 11 |         |    0 | 00/7567               | * _AddBonus - Add BonusBCD (2-byte BCD) to score via AddScore.
13673 | 40                    player.s   2043 | Comment     | 11 |         |    0 | 00/7567               | *----------------------------------------------
13674 | 40                    player.s   2044 | Empty       | 11 |         |    0 | 00/7567               | _AddBonus                                             
13675 | 40                    player.s   2045 | Code        | 11 |         |    3 | 00/7567 : AD E1 11    |                          LDA     BonusBCD             
13676 | 40                    player.s   2046 | Code        | 11 |         |    3 | 00/756A : AE E2 11    |                          LDX     BonusBCD+1           
13677 | 40                    player.s   2047 | Code        | 11 |         |    3 | 00/756D : 4C 52 67    |                          JMP     AddScore             
13678 | 40                    player.s   2048 | Empty       | 11 |         |    0 | 00/7570               |                                                       
13679 | 40                    player.s   2049 | Comment     | 11 |         |    0 | 00/7570               | * Drop loot - check if ground below, otherwise fall
13680 | 40                    player.s   2050 | Empty       | 11 |         |    0 | 00/7570               | _dropLoot                                             
13681 | 40                    player.s   2051 | Code        | 11 |         |    2 | 00/7570 : A5 70       |                          LDA     {$70}                
13682 | 40                    player.s   2052 | Code        | 11 |         |    3 | 00/7572 : 9D 75 73    |                          STA     LootTblX,X           
13683 | 40                    player.s   2053 | Code        | 11 |         |    2 | 00/7575 : A5 71       |                          LDA     {$71}                
13684 | 40                    player.s   2054 | Code        | 11 |         |    3 | 00/7577 : 9D 79 73    |                          STA     LootTblY,X           
13685 | 40                    player.s   2055 | Code        | 11 |         |    2 | 00/757A : A5 1C       |                          LDA     {$1C}                
13686 | 40                    player.s   2056 | Code        | 11 |         |    3 | 00/757C : 9D 7D 73    |                          STA     LootTblMap,X         
13687 | 40                    player.s   2057 | Code        | 11 |         |    2 | 00/757F : A9 FF       |                          LDA     #{$FF}               
13688 | 40                    player.s   2058 | Code        | 11 |         |    2 | 00/7581 : 85 6E       |                          STA     {$6E}                
13689 | 40                    player.s   2059 | Comment     | 11 |         |    0 | 00/7583               | * Pickaxe disarm: guards stop fleeing when we set it down.
13690 | 40                    player.s   2060 | Comment     | 11 |         |    0 | 00/7583               | * Hold timer zeroed so TickPickaxe won't try to consume afterward.
13691 | 40                    player.s   2061 | Code        | 11 |         |    2 | 00/7583 : E0 03       |                          CPX     #{3}                 
13692 | 40                    player.s   2062 | Code        | 11 |         |    2 | 00/7585 : D0 06       |                          BNE     _drNotPick           
13693 | 40                    player.s   2063 | Code        | 11 |         |    3 | 00/7587 : 9C B3 11    |                          STZ     PlayerHasPickaxe     
13694 | 40                    player.s   2064 | Code        | 11 |         |    3 | 00/758A : 9C B4 11    |                          STZ     PickaxeTimer         
13695 | 40                    player.s   2065 | Empty       | 11 |         |    0 | 00/758D               | _drNotPick                                            
13696 | 40                    player.s   2066 | Comment     | 11 |         |    0 | 00/758D               | * Check tile under loot feet for ground
13697 | 40                    player.s   2067 | Code        | 11 |         |    2 | 00/758D : 86 1A       |                          STX     {$1A}                ; save loot index (don't use stack - PLX clobbers Z)
13698 | 40                    player.s   2068 | Code        | 11 |         |    3 | 00/758F : 20 A1 73    |                          JSR     SetPlayerCarrySpeed  ; back to 1.0x; X clobbered but saved in Temp3
13699 | 40                    player.s   2069 | Code        | 11 |         |    2 | 00/7592 : A5 71       |                          LDA     {$71}                
13700 | 40                    player.s   2070 | Code        | 11 |         |    1 | 00/7594 : 18          |                          CLC                          
13701 | 40                    player.s   2071 | Code        | 11 |         |    2 | 00/7595 : 69 0C       |                          ADC     #12                  ; feet level
13702 | 40                    player.s   2072 | Code        | 11 |         |    2 | 00/7597 : A6 70       |                          LDX     {$70}                
13703 | 40                    player.s   2073 | Code        | 11 |         |    1 | 00/7599 : E8          |                          INX                          
13704 | 40                    player.s   2074 | Code        | 11 |         |    1 | 00/759A : E8          |                          INX                          
13705 | 40                    player.s   2075 | Code        | 11 |         |    1 | 00/759B : E8          |                          INX                          ; center X
13706 | 40                    player.s   2076 | Code        | 11 |         |    3 | 00/759C : 20 EA 10    |                          JSR     CheckGroundAt        
13707 | 40                    player.s   2077 | Comment     | 11 |         |    0 | 00/759F               | * A = coll type: 0=empty, 1=solid, 2=ladder, 4=rail, 6=slope
13708 | 40                    player.s   2078 | Code        | 11 |         |    2 | 00/759F : C9 01       |                          CMP     #{1}                 
13709 | 40                    player.s   2079 | Code        | 11 |         |    2 | 00/75A1 : F0 19       |                          BEQ     _dropOnGround        
13710 | 40                    player.s   2080 | Code        | 11 |         |    2 | 00/75A3 : C9 06       |                          CMP     #{6}                 
13711 | 40                    player.s   2081 | Code        | 11 |         |    2 | 00/75A5 : F0 15       |                          BEQ     _dropOnGround        
13712 | 40                    player.s   2082 | Code        | 11 |         |    2 | 00/75A7 : C9 04       |                          CMP     #{4}                 
13713 | 40                    player.s   2083 | Code        | 11 |         |    2 | 00/75A9 : F0 11       |                          BEQ     _dropOnGround        
13714 | 40                    player.s   2084 | Comment     | 11 |         |    0 | 00/75AB               | * No solid ground (empty/ladder/etc) - loot falls
13715 | 40                    player.s   2085 | Code        | 11 |         |    2 | 00/75AB : A6 1A       |                          LDX     {$1A}                
13716 | 40                    player.s   2086 | Code        | 11 |         |    2 | 00/75AD : A9 03       |                          LDA     #{3}                 
13717 | 40                    player.s   2087 | Code        | 11 |         |    3 | 00/75AF : 9D 81 73    |                          STA     LootTblSt,X          
13718 | 40                    player.s   2088 | Code        | 11 |         |    2 | 00/75B2 : A9 01       |                          LDA     #1                   
13719 | 40                    player.s   2089 | Code        | 11 |         |    2 | 00/75B4 : 85 6F       |                          STA     {$6F}                
13720 | 40                    player.s   2090 | Code        | 11 |         |    2 | 00/75B6 : A9 02       |                          LDA     #2                   
13721 | 40                    player.s   2091 | Code        | 11 |         |    3 | 00/75B8 : 9D 91 73    |                          STA     LootTblWake,X        
13722 | 40                    player.s   2092 | Code        | 11 |         |    1 | 00/75BB : 60          |                          RTS                          
13723 | 40                    player.s   2093 | Empty       | 11 |         |    0 | 00/75BC               | _dropOnGround                                         
13724 | 40                    player.s   2094 | Code        | 11 |         |    2 | 00/75BC : A6 1A       |                          LDX     {$1A}                
13725 | 40                    player.s   2095 | Code        | 11 |         |    2 | 00/75BE : A9 00       |                          LDA     #{0}                 
13726 | 40                    player.s   2096 | Code        | 11 |         |    3 | 00/75C0 : 9D 81 73    |                          STA     LootTblSt,X          
13727 | 40                    player.s   2097 | Code        | 11 |         |    2 | 00/75C3 : A9 01       |                          LDA     #1                   
13728 | 40                    player.s   2098 | Code        | 11 |         |    2 | 00/75C5 : 85 6F       |                          STA     {$6F}                
13729 | 40                    player.s   2099 | Code        | 11 |         |    2 | 00/75C7 : A9 02       |                          LDA     #2                   
13730 | 40                    player.s   2100 | Code        | 11 |         |    3 | 00/75C9 : 9D 91 73    |                          STA     LootTblWake,X        
13731 | 40                    player.s   2101 | Code        | 11 |         |    1 | 00/75CC : 60          |                          RTS                          
13732 | 40                    player.s   2102 | Empty       | 11 |         |    0 | 00/75CD               |                                                       
13733 | 40                    player.s   2103 | Empty       | 11 |         |    0 | 00/75CD               | _carryDirty                                           
13734 | 40                    player.s   2104 | Code        | 11 |         |    2 | 00/75CD : A9 01       |                          LDA     #1                   
13735 | 40                    player.s   2105 | Code        | 11 |         |    2 | 00/75CF : 85 6F       |                          STA     {$6F}                
13736 | 40                    player.s   2106 | Code        | 11 |         |    2 | 00/75D1 : A9 02       |                          LDA     #2                   
13737 | 40                    player.s   2107 | Code        | 11 |         |    3 | 00/75D3 : 9D 91 73    |                          STA     LootTblWake,X        
13738 | 40                    player.s   2108 | Code        | 11 |         |    1 | 00/75D6 : 60          |                          RTS                          
13739 | 40                    player.s   2109 | Empty       | 11 |         |    0 | 00/75D7               |                                                       
13740 | 40                    player.s   2110 | Comment     | 11 |         |    0 | 00/75D7               | * --- Not carrying: try pickup ---
13741 | 40                    player.s   2111 | Empty       | 11 |         |    0 | 00/75D7               | _tryPickup                                            
13742 | 40                    player.s   2112 | Comment     | 11 |         |    0 | 00/75D7               | * Must have Open Apple pressed
13743 | 40                    player.s   2113 | Code        | 11 |         |    3 | 00/75D7 : 20 89 15    |                          JSR     ReadOAPDemo          
13744 | 40                    player.s   2114 | Code        | 11 |         |    2 | 00/75DA : 30 01       |                          BMI     _tpPressed           
13745 | 40                    player.s   2115 | Code        | 11 |         |    1 | 00/75DC : 60          | _tpExit                  RTS                          ; nearby trampoline; :noPick below is
13746 | 40                    player.s   2116 | Comment     | 11 |         |    0 | 00/75DD               |                                ; out of short-branch range now.
13747 | 40                    player.s   2117 | Empty       | 11 |         |    0 | 00/75DD               | _tpPressed                                            
13748 | 40                    player.s   2118 | Comment     | 11 |         |    0 | 00/75DD               | * Cannot pick up while pushing WB
13749 | 40                    player.s   2119 | Code        | 11 |         |    2 | 00/75DD : A5 36       |                          LDA     {$36}                
13750 | 40                    player.s   2120 | Code        | 11 |         |    2 | 00/75DF : D0 FB       |                          BNE     _tpExit              
13751 | 40                    player.s   2121 | Empty       | 11 |         |    0 | 00/75E1               |                                                       
13752 | 40                    player.s   2122 | Comment     | 11 |         |    0 | 00/75E1               | * Scan ground loot on current map
13753 | 40                    player.s   2123 | Code        | 11 |         |    2 | 00/75E1 : A2 00       |                          LDX     #0                   
13754 | 40                    player.s   2124 | Empty       | 11 |         |    0 | 00/75E3               | _pickLoop                                             
13755 | 40                    player.s   2125 | Code        | 11 |         |    2 | 00/75E3 : E0 04       |                          CPX     #{4}                 
13756 | 40                    player.s   2126 | Code        | 11 |         |    2 | 00/75E5 : B0 F5       |                          BCS     _tpExit              ; checked all items
13757 | 40                    player.s   2127 | Empty       | 11 |         |    0 | 00/75E7               |                                                       
13758 | 40                    player.s   2128 | Code        | 11 |         |    3 | 00/75E7 : BD 81 73    |                          LDA     LootTblSt,X          
13759 | 40                    player.s   2129 | Code        | 11 |         |    2 | 00/75EA : F0 03       |                          BEQ     _plGndOk             ; 0 = ground → continue
13760 | 40                    player.s   2130 | Code        | 11 |         |    3 | 00/75EC : 4C 6F 76    |                          JMP     _pickNext            ; out of BNE short range after pickaxe block
13761 | 40                    player.s   2131 | Empty       | 11 |         |    0 | 00/75EF               | _plGndOk                                              
13762 | 40                    player.s   2132 | Code        | 11 |         |    3 | 00/75EF : BD 7D 73    |                          LDA     LootTblMap,X         
13763 | 40                    player.s   2133 | Code        | 11 |         |    2 | 00/75F2 : C5 1C       |                          CMP     {$1C}                
13764 | 40                    player.s   2134 | Code        | 11 |         |    2 | 00/75F4 : D0 79       |                          BNE     _pickNext            ; wrong map (still in range)
13765 | 40                    player.s   2135 | Empty       | 11 |         |    0 | 00/75F6               |                                                       
13766 | 40                    player.s   2136 | Comment     | 11 |         |    0 | 00/75F6               | * Check X proximity: |PlayerX - LootX| <= 1
13767 | 40                    player.s   2137 | Code        | 11 |         |    2 | 00/75F6 : A5 70       |                          LDA     {$70}                
13768 | 40                    player.s   2138 | Code        | 11 |         |    1 | 00/75F8 : 38          |                          SEC                          
13769 | 40                    player.s   2139 | Code        | 11 |         |    3 | 00/75F9 : FD 75 73    |                          SBC     LootTblX,X           
13770 | 40                    player.s   2140 | Code        | 11 |         |    2 | 00/75FC : 10 03       |                          BPL     _absPickX            
13771 | 40                    player.s   2141 | Code        | 11 |         |    2 | 00/75FE : 49 FF       |                          EOR     #$FF                 
13772 | 40                    player.s   2142 | Code        | 11 |         |    1 | 00/7600 : 1A          |                          INC                          
13773 | 40                    player.s   2143 | Empty       | 11 |         |    0 | 00/7601               | _absPickX                                             
13774 | 40                    player.s   2144 | Code        | 11 |         |    2 | 00/7601 : C9 02       |                          CMP     #{1}+1               
13775 | 40                    player.s   2145 | Code        | 11 |         |    2 | 00/7603 : B0 6A       |                          BCS     _pickNext            ; > 1px away
13776 | 40                    player.s   2146 | Empty       | 11 |         |    0 | 00/7605               |                                                       
13777 | 40                    player.s   2147 | Comment     | 11 |         |    0 | 00/7605               | * Check Y proximity: same ground level (within 6px)
13778 | 40                    player.s   2148 | Code        | 11 |         |    2 | 00/7605 : A5 71       |                          LDA     {$71}                
13779 | 40                    player.s   2149 | Code        | 11 |         |    1 | 00/7607 : 38          |                          SEC                          
13780 | 40                    player.s   2150 | Code        | 11 |         |    3 | 00/7608 : FD 79 73    |                          SBC     LootTblY,X           
13781 | 40                    player.s   2151 | Code        | 11 |         |    2 | 00/760B : 10 03       |                          BPL     _absPickY            
13782 | 40                    player.s   2152 | Code        | 11 |         |    2 | 00/760D : 49 FF       |                          EOR     #$FF                 
13783 | 40                    player.s   2153 | Code        | 11 |         |    1 | 00/760F : 1A          |                          INC                          
13784 | 40                    player.s   2154 | Empty       | 11 |         |    0 | 00/7610               | _absPickY                                             
13785 | 40                    player.s   2155 | Code        | 11 |         |    2 | 00/7610 : C9 07       |                          CMP     #7                   
13786 | 40                    player.s   2156 | Code        | 11 |         |    2 | 00/7612 : B0 5B       |                          BCS     _pickNext            ; too far vertically
13787 | 40                    player.s   2157 | Empty       | 11 |         |    0 | 00/7614               |                                                       
13788 | 40                    player.s   2158 | Comment     | 11 |         |    0 | 00/7614               | * Pick it up!
13789 | 40                    player.s   2159 | Code        | 11 |         |    2 | 00/7614 : 86 6E       |                          STX     {$6E}                
13790 | 40                    player.s   2160 | Code        | 11 |         |    2 | 00/7616 : A9 01       |                          LDA     #{1}                 
13791 | 40                    player.s   2161 | Code        | 11 |         |    3 | 00/7618 : 9D 81 73    |                          STA     LootTblSt,X          
13792 | 40                    player.s   2162 | Code        | 11 |         |    1 | 00/761B : DA          |                          PHX                          
13793 | 40                    player.s   2163 | Code        | 11 |         |    3 | 00/761C : 20 A1 73    |                          JSR     SetPlayerCarrySpeed  ; yellow=0.5x, blue=0.333x
13794 | 40                    player.s   2164 | Code        | 11 |         |    1 | 00/761F : FA          |                          PLX                          
13795 | 40                    player.s   2165 | Comment     | 11 |         |    0 | 00/7620               | * Snap to the correct side of player (bag: behind, pickaxe: in front).
13796 | 40                    player.s   2166 | Code        | 11 |         |    2 | 00/7620 : A5 73       |                          LDA     {$73}                
13797 | 40                    player.s   2167 | Code        | 11 |         |    2 | 00/7622 : E0 03       |                          CPX     #{3}                 
13798 | 40                    player.s   2168 | Code        | 11 |         |    2 | 00/7624 : D0 02       |                          BNE     _pickNoFlip          
13799 | 40                    player.s   2169 | Code        | 11 |         |    2 | 00/7626 : 49 01       |                          EOR     #1                   
13800 | 40                    player.s   2170 | Empty       | 11 |         |    0 | 00/7628               | _pickNoFlip                                           
13801 | 40                    player.s   2171 | Code        | 11 |         |    2 | 00/7628 : D0 07       |                          BNE     _pickL               
13802 | 40                    player.s   2172 | Code        | 11 |         |    2 | 00/762A : A5 70       |                          LDA     {$70}                
13803 | 40                    player.s   2173 | Code        | 11 |         |    1 | 00/762C : 38          |                          SEC                          
13804 | 40                    player.s   2174 | Code        | 11 |         |    2 | 00/762D : E9 05       |                          SBC     #{5}                 
13805 | 40                    player.s   2175 | Code        | 11 |         |    2 | 00/762F : 80 05       |                          BRA     _pickSetX            
13806 | 40                    player.s   2176 | Code        | 11 |         |    2 | 00/7631 : A5 70       | _pickL                   LDA     {$70}                
13807 | 40                    player.s   2177 | Code        | 11 |         |    1 | 00/7633 : 18          |                          CLC                          
13808 | 40                    player.s   2178 | Code        | 11 |         |    2 | 00/7634 : 69 05       |                          ADC     #{5}                 
13809 | 40                    player.s   2179 | Empty       | 11 |         |    0 | 00/7636               | _pickSetX                                             
13810 | 40                    player.s   2180 | Code        | 11 |         |    3 | 00/7636 : 9D 75 73    |                          STA     LootTblX,X           
13811 | 40                    player.s   2181 | Code        | 11 |         |    2 | 00/7639 : A5 71       |                          LDA     {$71}                
13812 | 40                    player.s   2182 | Code        | 11 |         |    3 | 00/763B : 9D 79 73    |                          STA     LootTblY,X           
13813 | 40                    player.s   2183 | Comment     | 11 |         |    0 | 00/763E               | * Init old pos for carried loot (for erase tracking)
13814 | 40                    player.s   2184 | Code        | 11 |         |    2 | 00/763E : 85 4B       |                          STA     {$4B}                
13815 | 40                    player.s   2185 | Code        | 11 |         |    3 | 00/7640 : BD 75 73    |                          LDA     LootTblX,X           
13816 | 40                    player.s   2186 | Code        | 11 |         |    2 | 00/7643 : 85 4A       |                          STA     {$4A}                
13817 | 40                    player.s   2187 | Code        | 11 |         |    3 | 00/7645 : BD 89 73    |                          LDA     LootTblFrC,X         
13818 | 40                    player.s   2188 | Code        | 11 |         |    2 | 00/7648 : 85 4C       |                          STA     {$4C}                
13819 | 40                    player.s   2189 | Code        | 11 |         |    3 | 00/764A : 20 D4 73    |                          JSR     InitLootOldPos       
13820 | 40                    player.s   2190 | Code        | 11 |         |    2 | 00/764D : A9 01       |                          LDA     #1                   
13821 | 40                    player.s   2191 | Code        | 11 |         |    2 | 00/764F : 85 6F       |                          STA     {$6F}                
13822 | 40                    player.s   2192 | Code        | 11 |         |    2 | 00/7651 : A9 02       |                          LDA     #2                   
13823 | 40                    player.s   2193 | Code        | 11 |         |    3 | 00/7653 : 9D 91 73    |                          STA     LootTblWake,X        
13824 | 40                    player.s   2194 | Comment     | 11 |         |    0 | 00/7656               | * Pickaxe armed: set flag + hold timer so guards flee.
13825 | 40                    player.s   2195 | Code        | 11 |         |    2 | 00/7656 : E0 03       |                          CPX     #{3}                 
13826 | 40                    player.s   2196 | Code        | 11 |         |    2 | 00/7658 : D0 0D       |                          BNE     _pkNotPick           
13827 | 40                    player.s   2197 | Code        | 11 |         |    2 | 00/765A : A9 01       |                          LDA     #1                   
13828 | 40                    player.s   2198 | Code        | 11 |         |    3 | 00/765C : 8D B3 11    |                          STA     PlayerHasPickaxe     
13829 | 40                    player.s   2199 | Code        | 11 |         |    2 | 00/765F : A9 F0       |                          LDA     #{240}               
13830 | 40                    player.s   2200 | Code        | 11 |         |    3 | 00/7661 : 8D B4 11    |                          STA     PickaxeTimer         
13831 | 40                    player.s   2201 | Code        | 11 |         |    3 | 00/7664 : 9C B5 11    |                          STZ     PickaxeRespawnTmr    
13832 | 40                    player.s   2202 | Empty       | 11 |         |    0 | 00/7667               | _pkNotPick                                            
13833 | 40                    player.s   2203 | Comment     | 11 |         |    0 | 00/7667               | * Play pickup sound
13834 | 40                    player.s   2204 | Code        | 11 |         |    2 | 00/7667 : A9 C6       |                          LDA     #<TakeBagTune        
13835 | 40                    player.s   2205 | Code        | 11 |         |    2 | 00/7669 : A2 E9       |                          LDX     #>TakeBagTune        
13836 | 40                    player.s   2206 | Code        | 11 |         |    3 | 00/766B : 20 00 09    |                          JSR     PlayMusic            
13837 | 40                    player.s   2207 | Code        | 11 |         |    1 | 00/766E : 60          | _noPick                  RTS                          
13838 | 40                    player.s   2208 | Empty       | 11 |         |    0 | 00/766F               |                                                       
13839 | 40                    player.s   2209 | Empty       | 11 |         |    0 | 00/766F               | _pickNext                                             
13840 | 40                    player.s   2210 | Code        | 11 |         |    1 | 00/766F : E8          |                          INX                          
13841 | 40                    player.s   2211 | Code        | 11 |         |    3 | 00/7670 : 4C E3 75    |                          JMP     _pickLoop            ; BRA out of short range after pickaxe block
13842 | 40                    player.s   2212 | Empty       | 11 |         |    0 | 00/7673               |                                                       
13843 | 40                    player.s   2213 | Comment     | 11 |         |    0 | 00/7673               | *----------------------------------------------
13844 | 40                    player.s   2214 | Comment     | 11 |         |    0 | 00/7673               | * DrawGroundLoot - Draw all ground loot on current map
13845 | 40                    player.s   2215 | Comment     | 11 |         |    0 | 00/7673               | *----------------------------------------------
13846 | 40                    player.s   2216 | Comment     | 11 |         |    0 | 00/7673               | * DrawGroundLoot - Draw ground/falling loot on current map
13847 | 40                    player.s   2217 | Comment     | 11 |         |    0 | 00/7673               | * Saves drawn positions to per-item old pos (via GLootOld ZP vars)
13848 | 40                    player.s   2218 | Comment     | 11 |         |    0 | 00/7673               | *----------------------------------------------
13849 | 40                    player.s   2219 | Empty       | 11 |         |    0 | 00/7673               | DrawGroundLoot                                        
13850 | 40                    player.s   2220 | Code        | 11 |         |    2 | 00/7673 : A2 00       |                          LDX     #0                   
13851 | 40                    player.s   2221 | Code        | 11 |         |    2 | 00/7675 : E0 03       | ozunid_73                CPX     #{3}                 
13852 | 40                    player.s   2222 | Code        | 11 |         |    2 | 00/7677 : B0 49       |                          BCS     ozunid_76            ; slot 3 skipped; GLootOldP* has no room for it
13853 | 40                    player.s   2223 | Code        | 11 |         |    3 | 00/7679 : BD 81 73    |                          LDA     LootTblSt,X          
13854 | 40                    player.s   2224 | Code        | 11 |         |    2 | 00/767C : F0 0A       |                          BEQ     _dgVis               ; ground
13855 | 40                    player.s   2225 | Code        | 11 |         |    2 | 00/767E : C9 03       |                          CMP     #{3}                 
13856 | 40                    player.s   2226 | Code        | 11 |         |    2 | 00/7680 : F0 06       |                          BEQ     _dgVis               ; falling
13857 | 40                    player.s   2227 | Code        | 11 |         |    2 | 00/7682 : C9 02       |                          CMP     #{2}                 
13858 | 40                    player.s   2228 | Code        | 11 |         |    2 | 00/7684 : F0 02       |                          BEQ     _dgVis               ; collected (under WB)
13859 | 40                    player.s   2229 | Code        | 11 |         |    2 | 00/7686 : 80 34       |                          BRA     ozunid_74            ; carried: mark as not drawn
13860 | 40                    player.s   2230 | Code        | 11 |         |    3 | 00/7688 : BD 7D 73    | _dgVis                   LDA     LootTblMap,X         
13861 | 40                    player.s   2231 | Code        | 11 |         |    2 | 00/768B : C5 1C       |                          CMP     {$1C}                
13862 | 40                    player.s   2232 | Code        | 11 |         |    2 | 00/768D : D0 2D       |                          BNE     ozunid_74            ; wrong map: mark as not drawn
13863 | 40                    player.s   2233 | Comment     | 11 |         |    0 | 00/768F               | * Per-loot sleep: if wake>0 (moved recently) draw + decrement;
13864 | 40                    player.s   2234 | Comment     | 11 |         |    0 | 00/768F               | * else if LootDrawOnly bit set (sleeping but damaged) draw only.
13865 | 40                    player.s   2235 | Code        | 11 |         |    3 | 00/768F : BD 91 73    |                          LDA     LootTblWake,X        
13866 | 40                    player.s   2236 | Code        | 11 |         |    2 | 00/7692 : D0 07       |                          BNE     _dgDraw              
13867 | 40                    player.s   2237 | Code        | 11 |         |    2 | 00/7694 : A5 EE       |                          LDA     {$EE}                
13868 | 40                    player.s   2238 | Code        | 11 |         |    3 | 00/7696 : 3D C5 76    |                          AND     _dgBit,X             
13869 | 40                    player.s   2239 | Code        | 11 |         |    2 | 00/7699 : F0 24       |                          BEQ     ozunid_75            ; sleeping + undamaged → skip draw
13870 | 40                    player.s   2240 | Code        | 11 |         |    1 | 00/769B : DA          | _dgDraw                  PHX                          
13871 | 40                    player.s   2241 | Code        | 11 |         |    3 | 00/769C : BD 75 73    |                          LDA     LootTblX,X           
13872 | 40                    player.s   2242 | Code        | 11 |         |    2 | 00/769F : 85 14       |                          STA     {$14}                
13873 | 40                    player.s   2243 | Code        | 11 |         |    3 | 00/76A1 : BD 79 73    |                          LDA     LootTblY,X           
13874 | 40                    player.s   2244 | Code        | 11 |         |    2 | 00/76A4 : 85 15       |                          STA     {$15}                
13875 | 40                    player.s   2245 | Code        | 11 |         |    3 | 00/76A6 : BD 85 73    |                          LDA     LootTblFrG,X         
13876 | 40                    player.s   2246 | Code        | 11 |         |    2 | 00/76A9 : 85 16       |                          STA     {$16}                
13877 | 40                    player.s   2247 | Code        | 11 |         |    3 | 00/76AB : 20 AB 7E    |                          JSR     DrawSprite           
13878 | 40                    player.s   2248 | Code        | 11 |         |    1 | 00/76AE : FA          |                          PLX                          
13879 | 40                    player.s   2249 | Comment     | 11 |         |    0 | 00/76AF               | * Decrement wake counter now that we've drawn once (per-call DEC
13880 | 40                    player.s   2250 | Comment     | 11 |         |    0 | 00/76AF               | * covers both normal render and transition double-pass).
13881 | 40                    player.s   2251 | Code        | 11 |         |    3 | 00/76AF : BD 91 73    |                          LDA     LootTblWake,X        
13882 | 40                    player.s   2252 | Code        | 11 |         |    2 | 00/76B2 : F0 03       |                          BEQ     _dgSave              
13883 | 40                    player.s   2253 | Code        | 11 |         |    3 | 00/76B4 : DE 91 73    |                          DEC     LootTblWake,X        
13884 | 40                    player.s   2254 | Empty       | 11 |         |    0 | 00/76B7               | _dgSave                                               
13885 | 40                    player.s   2255 | Comment     | 11 |         |    0 | 00/76B7               | * Save drawn position to per-item old pos buffer
13886 | 40                    player.s   2256 | Code        | 11 |         |    3 | 00/76B7 : 20 E5 76    |                          JSR     SaveGLootItem        
13887 | 40                    player.s   2257 | Code        | 11 |         |    2 | 00/76BA : 80 03       |                          BRA     ozunid_75            
13888 | 40                    player.s   2258 | Empty       | 11 |         |    0 | 00/76BC               | ozunid_74                                             
13889 | 40                    player.s   2259 | Comment     | 11 |         |    0 | 00/76BC               | * Item not drawn - mark old pos with sentinel
13890 | 40                    player.s   2260 | Code        | 11 |         |    3 | 00/76BC : 20 17 77    |                          JSR     MarkGLootEmpty       
13891 | 40                    player.s   2261 | Code        | 11 |         |    1 | 00/76BF : E8          | ozunid_75                INX                          
13892 | 40                    player.s   2262 | Code        | 11 |         |    2 | 00/76C0 : 80 B3       |                          BRA     ozunid_73            
13893 | 40                    player.s   2263 | Code        | 11 |         |    3 | 00/76C2 : 4C 8C 0E    | ozunid_76                JMP     DrawGroundPickaxe    ; tail-call pickaxe draw ($1800 block)
13894 | 40                    player.s   2264 | Data        | 11 |         |    3 | 00/76C5 : 01 02 04    | _dgBit                   DFB     $01,$02,$04          
13895 | 40                    player.s   2265 | Empty       | 11 |         |    0 | 00/76C8               |                                                       
13896 | 40                    player.s   2266 | Comment     | 11 |         |    0 | 00/76C8               | *----------------------------------------------
13897 | 40                    player.s   2267 | Comment     | 11 |         |    0 | 00/76C8               | * EraseGroundLoot - Erase ground/falling loot at old positions
13898 | 40                    player.s   2268 | Comment     | 11 |         |    0 | 00/76C8               | *----------------------------------------------
13899 | 40                    player.s   2269 | Empty       | 11 |         |    0 | 00/76C8               | EraseGroundLoot                                       
13900 | 40                    player.s   2270 | Comment     | 11 |         |    0 | 00/76C8               | * Per-loot: erase only loot items whose wake counter is > 0 (moving
13901 | 40                    player.s   2271 | Comment     | 11 |         |    0 | 00/76C8               | * or just-moved). Sleeping loot stays on both pages without erase.
13902 | 40                    player.s   2272 | Code        | 11 |         |    2 | 00/76C8 : A2 00       |                          LDX     #0                   
13903 | 40                    player.s   2273 | Code        | 11 |         |    2 | 00/76CA : E0 03       | ozunid_77                CPX     #{3}                 
13904 | 40                    player.s   2274 | Code        | 11 |         |    2 | 00/76CC : B0 14       |                          BCS     ozunid_79            ; slot 3 skipped
13905 | 40                    player.s   2275 | Code        | 11 |         |    3 | 00/76CE : BD 91 73    |                          LDA     LootTblWake,X        
13906 | 40                    player.s   2276 | Code        | 11 |         |    2 | 00/76D1 : F0 0C       |                          BEQ     ozunid_78            ; sleeping: don't erase
13907 | 40                    player.s   2277 | Comment     | 11 |         |    0 | 00/76D3               | * Load old pos for this item; skip if sentinel
13908 | 40                    player.s   2278 | Code        | 11 |         |    3 | 00/76D3 : 20 2F 77    |                          JSR     LoadGLootItem        ; sets SprX/Y/Frame, A=$FF if empty
13909 | 40                    player.s   2279 | Code        | 11 |         |    2 | 00/76D6 : C9 FF       |                          CMP     #$FF                 
13910 | 40                    player.s   2280 | Code        | 11 |         |    2 | 00/76D8 : F0 05       |                          BEQ     ozunid_78            
13911 | 40                    player.s   2281 | Code        | 11 |         |    1 | 00/76DA : DA          |                          PHX                          
13912 | 40                    player.s   2282 | Code        | 11 |         |    3 | 00/76DB : 20 08 65    |                          JSR     EraseSpriteArea      
13913 | 40                    player.s   2283 | Code        | 11 |         |    1 | 00/76DE : FA          |                          PLX                          
13914 | 40                    player.s   2284 | Code        | 11 |         |    1 | 00/76DF : E8          | ozunid_78                INX                          
13915 | 40                    player.s   2285 | Code        | 11 |         |    2 | 00/76E0 : 80 E8       |                          BRA     ozunid_77            
13916 | 40                    player.s   2286 | Code        | 11 |         |    3 | 00/76E2 : 4C F2 0E    | ozunid_79                JMP     EraseGroundPickaxe   ; tail-call pickaxe erase ($1800 block)
13917 | 40                    player.s   2287 | Empty       | 11 |         |    0 | 00/76E5               |                                                       
13918 | 40                    player.s   2288 | Comment     | 11 |         |    0 | 00/76E5               | *----------------------------------------------
13919 | 40                    player.s   2289 | Comment     | 11 |         |    0 | 00/76E5               | * SaveGLootItem - Save item X's drawn pos to page old-pos buf
13920 | 40                    player.s   2290 | Comment     | 11 |         |    0 | 00/76E5               | * In: X = loot index (0-2)
13921 | 40                    player.s   2291 | Comment     | 11 |         |    0 | 00/76E5               | *----------------------------------------------
13922 | 40                    player.s   2292 | Empty       | 11 |         |    0 | 00/76E5               | SaveGLootItem                                         
13923 | 40                    player.s   2293 | Code        | 11 |         |    1 | 00/76E5 : 8A          |                          TXA                          
13924 | 40                    player.s   2294 | Code        | 11 |         |    2 | 00/76E6 : 85 1A       |                          STA     {$1A}                
13925 | 40                    player.s   2295 | Code        | 11 |         |    1 | 00/76E8 : 0A          |                          ASL                          
13926 | 40                    player.s   2296 | Code        | 11 |         |    1 | 00/76E9 : 18          |                          CLC                          
13927 | 40                    player.s   2297 | Code        | 11 |         |    2 | 00/76EA : 65 1A       |                          ADC     {$1A}                ; Y = item * 3
13928 | 40                    player.s   2298 | Code        | 11 |         |    1 | 00/76EC : A8          |                          TAY                          
13929 | 40                    player.s   2299 | Code        | 11 |         |    2 | 00/76ED : A5 1E       |                          LDA     {$1E}                
13930 | 40                    player.s   2300 | Code        | 11 |         |    2 | 00/76EF : D0 13       |                          BNE     ozunid_80            
13931 | 40                    player.s   2301 | Code        | 11 |         |    3 | 00/76F1 : BD 75 73    |                          LDA     LootTblX,X           
13932 | 40                    player.s   2302 | Code        | 11 |         |    3 | 00/76F4 : 99 22 03    |                          STA     {$0322},Y            
13933 | 40                    player.s   2303 | Code        | 11 |         |    3 | 00/76F7 : BD 79 73    |                          LDA     LootTblY,X           
13934 | 40                    player.s   2304 | Code        | 11 |         |    3 | 00/76FA : 99 23 03    |                          STA     {$0322}+1,Y          
13935 | 40                    player.s   2305 | Code        | 11 |         |    3 | 00/76FD : BD 85 73    |                          LDA     LootTblFrG,X         
13936 | 40                    player.s   2306 | Code        | 11 |         |    3 | 00/7700 : 99 24 03    |                          STA     {$0322}+2,Y          
13937 | 40                    player.s   2307 | Code        | 11 |         |    1 | 00/7703 : 60          |                          RTS                          
13938 | 40                    player.s   2308 | Code        | 11 |         |    3 | 00/7704 : BD 75 73    | ozunid_80                LDA     LootTblX,X           
13939 | 40                    player.s   2309 | Code        | 11 |         |    3 | 00/7707 : 99 2B 03    |                          STA     {$032B},Y            
13940 | 40                    player.s   2310 | Code        | 11 |         |    3 | 00/770A : BD 79 73    |                          LDA     LootTblY,X           
13941 | 40                    player.s   2311 | Code        | 11 |         |    3 | 00/770D : 99 2C 03    |                          STA     {$032B}+1,Y          
13942 | 40                    player.s   2312 | Code        | 11 |         |    3 | 00/7710 : BD 85 73    |                          LDA     LootTblFrG,X         
13943 | 40                    player.s   2313 | Code        | 11 |         |    3 | 00/7713 : 99 2D 03    |                          STA     {$032B}+2,Y          
13944 | 40                    player.s   2314 | Code        | 11 |         |    1 | 00/7716 : 60          |                          RTS                          
13945 | 40                    player.s   2315 | Empty       | 11 |         |    0 | 00/7717               |                                                       
13946 | 40                    player.s   2316 | Comment     | 11 |         |    0 | 00/7717               | *----------------------------------------------
13947 | 40                    player.s   2317 | Comment     | 11 |         |    0 | 00/7717               | * MarkGLootEmpty - Mark item X as not drawn on this page
13948 | 40                    player.s   2318 | Comment     | 11 |         |    0 | 00/7717               | * In: X = loot index (0-2)
13949 | 40                    player.s   2319 | Comment     | 11 |         |    0 | 00/7717               | *----------------------------------------------
13950 | 40                    player.s   2320 | Empty       | 11 |         |    0 | 00/7717               | MarkGLootEmpty                                        
13951 | 40                    player.s   2321 | Code        | 11 |         |    1 | 00/7717 : 8A          |                          TXA                          
13952 | 40                    player.s   2322 | Code        | 11 |         |    2 | 00/7718 : 85 1A       |                          STA     {$1A}                
13953 | 40                    player.s   2323 | Code        | 11 |         |    1 | 00/771A : 0A          |                          ASL                          
13954 | 40                    player.s   2324 | Code        | 11 |         |    1 | 00/771B : 18          |                          CLC                          
13955 | 40                    player.s   2325 | Code        | 11 |         |    2 | 00/771C : 65 1A       |                          ADC     {$1A}                
13956 | 40                    player.s   2326 | Code        | 11 |         |    1 | 00/771E : A8          |                          TAY                          
13957 | 40                    player.s   2327 | Code        | 11 |         |    2 | 00/771F : A5 1E       |                          LDA     {$1E}                
13958 | 40                    player.s   2328 | Code        | 11 |         |    2 | 00/7721 : D0 06       |                          BNE     _meP1                
13959 | 40                    player.s   2329 | Code        | 11 |         |    2 | 00/7723 : A9 FF       |                          LDA     #$FF                 
13960 | 40                    player.s   2330 | Code        | 11 |         |    3 | 00/7725 : 99 24 03    |                          STA     {$0322}+2,Y          ; Fr = $FF sentinel
13961 | 40                    player.s   2331 | Code        | 11 |         |    1 | 00/7728 : 60          |                          RTS                          
13962 | 40                    player.s   2332 | Code        | 11 |         |    2 | 00/7729 : A9 FF       | _meP1                    LDA     #$FF                 
13963 | 40                    player.s   2333 | Code        | 11 |         |    3 | 00/772B : 99 2D 03    |                          STA     {$032B}+2,Y          
13964 | 40                    player.s   2334 | Code        | 11 |         |    1 | 00/772E : 60          |                          RTS                          
13965 | 40                    player.s   2335 | Empty       | 11 |         |    0 | 00/772F               |                                                       
13966 | 40                    player.s   2336 | Comment     | 11 |         |    0 | 00/772F               | *----------------------------------------------
13967 | 40                    player.s   2337 | Comment     | 11 |         |    0 | 00/772F               | * LoadGLootItem - Load item X's old pos from page buf into SprX/Y/Fr
13968 | 40                    player.s   2338 | Comment     | 11 |         |    0 | 00/772F               | * In: X = loot index (0-2)
13969 | 40                    player.s   2339 | Comment     | 11 |         |    0 | 00/772F               | * Out: A = old frame ($FF if not drawn)
13970 | 40                    player.s   2340 | Comment     | 11 |         |    0 | 00/772F               | *----------------------------------------------
13971 | 40                    player.s   2341 | Empty       | 11 |         |    0 | 00/772F               | LoadGLootItem                                         
13972 | 40                    player.s   2342 | Code        | 11 |         |    1 | 00/772F : 8A          |                          TXA                          
13973 | 40                    player.s   2343 | Code        | 11 |         |    2 | 00/7730 : 85 1A       |                          STA     {$1A}                
13974 | 40                    player.s   2344 | Code        | 11 |         |    1 | 00/7732 : 0A          |                          ASL                          
13975 | 40                    player.s   2345 | Code        | 11 |         |    1 | 00/7733 : 18          |                          CLC                          
13976 | 40                    player.s   2346 | Code        | 11 |         |    2 | 00/7734 : 65 1A       |                          ADC     {$1A}                
13977 | 40                    player.s   2347 | Code        | 11 |         |    1 | 00/7736 : A8          |                          TAY                          
13978 | 40                    player.s   2348 | Code        | 11 |         |    2 | 00/7737 : A5 1E       |                          LDA     {$1E}                
13979 | 40                    player.s   2349 | Code        | 11 |         |    2 | 00/7739 : D0 16       |                          BNE     ozunid_81            
13980 | 40                    player.s   2350 | Code        | 11 |         |    3 | 00/773B : B9 24 03    |                          LDA     {$0322}+2,Y          
13981 | 40                    player.s   2351 | Code        | 11 |         |    2 | 00/773E : C9 FF       |                          CMP     #$FF                 
13982 | 40                    player.s   2352 | Code        | 11 |         |    2 | 00/7740 : F0 25       |                          BEQ     ozunid_82            
13983 | 40                    player.s   2353 | Code        | 11 |         |    2 | 00/7742 : 85 16       |                          STA     {$16}                
13984 | 40                    player.s   2354 | Code        | 11 |         |    3 | 00/7744 : B9 22 03    |                          LDA     {$0322},Y            
13985 | 40                    player.s   2355 | Code        | 11 |         |    2 | 00/7747 : 85 14       |                          STA     {$14}                
13986 | 40                    player.s   2356 | Code        | 11 |         |    3 | 00/7749 : B9 23 03    |                          LDA     {$0322}+1,Y          
13987 | 40                    player.s   2357 | Code        | 11 |         |    2 | 00/774C : 85 15       |                          STA     {$15}                
13988 | 40                    player.s   2358 | Code        | 11 |         |    2 | 00/774E : A5 16       |                          LDA     {$16}                ; return frame (non-$FF)
13989 | 40                    player.s   2359 | Code        | 11 |         |    1 | 00/7750 : 60          |                          RTS                          
13990 | 40                    player.s   2360 | Code        | 11 |         |    3 | 00/7751 : B9 2D 03    | ozunid_81                LDA     {$032B}+2,Y          
13991 | 40                    player.s   2361 | Code        | 11 |         |    2 | 00/7754 : C9 FF       |                          CMP     #$FF                 
13992 | 40                    player.s   2362 | Code        | 11 |         |    2 | 00/7756 : F0 0F       |                          BEQ     ozunid_82            
13993 | 40                    player.s   2363 | Code        | 11 |         |    2 | 00/7758 : 85 16       |                          STA     {$16}                
13994 | 40                    player.s   2364 | Code        | 11 |         |    3 | 00/775A : B9 2B 03    |                          LDA     {$032B},Y            
13995 | 40                    player.s   2365 | Code        | 11 |         |    2 | 00/775D : 85 14       |                          STA     {$14}                
13996 | 40                    player.s   2366 | Code        | 11 |         |    3 | 00/775F : B9 2C 03    |                          LDA     {$032B}+1,Y          
13997 | 40                    player.s   2367 | Code        | 11 |         |    2 | 00/7762 : 85 15       |                          STA     {$15}                
13998 | 40                    player.s   2368 | Code        | 11 |         |    2 | 00/7764 : A5 16       |                          LDA     {$16}                
13999 | 40                    player.s   2369 | Code        | 11 |         |    1 | 00/7766 : 60          |                          RTS                          
14000 | 40                    player.s   2370 | Code        | 11 |         |    2 | 00/7767 : A9 FF       | ozunid_82                LDA     #$FF                 
14001 | 40                    player.s   2371 | Code        | 11 |         |    1 | 00/7769 : 60          |                          RTS                          
14002 | 40                    player.s   2372 | Empty       | 11 |         |    0 | 00/776A               |                                                       
14003 | 40                    player.s   2373 | Comment     | 11 |         |    0 | 00/776A               | *----------------------------------------------
14004 | 40                    player.s   2374 | Comment     | 11 |         |    0 | 00/776A               | * DrawCarried - Draw carried loot at current position
14005 | 40                    player.s   2375 | Comment     | 11 |         |    0 | 00/776A               | *----------------------------------------------
14006 | 40                    player.s   2376 | Empty       | 11 |         |    0 | 00/776A               | DrawCarried                                           
14007 | 40                    player.s   2377 | Code        | 11 |         |    2 | 00/776A : A5 6E       |                          LDA     {$6E}                
14008 | 40                    player.s   2378 | Code        | 11 |         |    2 | 00/776C : C9 FF       |                          CMP     #{$FF}               
14009 | 40                    player.s   2379 | Code        | 11 |         |    2 | 00/776E : F0 2B       |                          BEQ     _dcSkip              
14010 | 40                    player.s   2380 | Code        | 11 |         |    1 | 00/7770 : AA          |                          TAX                          
14011 | 40                    player.s   2381 | Code        | 11 |         |    3 | 00/7771 : BD 75 73    |                          LDA     LootTblX,X           
14012 | 40                    player.s   2382 | Code        | 11 |         |    2 | 00/7774 : 85 14       |                          STA     {$14}                
14013 | 40                    player.s   2383 | Code        | 11 |         |    2 | 00/7776 : 85 4A       |                          STA     {$4A}                ; save drawn pos for erase
14014 | 40                    player.s   2384 | Code        | 11 |         |    3 | 00/7778 : BD 79 73    |                          LDA     LootTblY,X           
14015 | 40                    player.s   2385 | Code        | 11 |         |    2 | 00/777B : 85 15       |                          STA     {$15}                
14016 | 40                    player.s   2386 | Code        | 11 |         |    2 | 00/777D : 85 4B       |                          STA     {$4B}                
14017 | 40                    player.s   2387 | Comment     | 11 |         |    0 | 00/777F               | * Pickaxe: 2-frame swing driven by PlayerAnim ($1800 helper).
14018 | 40                    player.s   2388 | Code        | 11 |         |    2 | 00/777F : E0 03       |                          CPX     #{3}                 
14019 | 40                    player.s   2389 | Code        | 11 |         |    2 | 00/7781 : D0 05       |                          BNE     _dcBag               
14020 | 40                    player.s   2390 | Code        | 11 |         |    3 | 00/7783 : 20 D1 0D    |                          JSR     _PickaxeCarryFrame   
14021 | 40                    player.s   2391 | Code        | 11 |         |    2 | 00/7786 : 80 0C       |                          BRA     _dcSetFr             
14022 | 40                    player.s   2392 | Code        | 11 |         |    2 | 00/7788 : A5 73       | _dcBag                   LDA     {$73}                
14023 | 40                    player.s   2393 | Code        | 11 |         |    2 | 00/778A : D0 05       |                          BNE     _dcLeft              
14024 | 40                    player.s   2394 | Code        | 11 |         |    3 | 00/778C : BD 89 73    |                          LDA     LootTblFrC,X         
14025 | 40                    player.s   2395 | Code        | 11 |         |    2 | 00/778F : 80 03       |                          BRA     _dcSetFr             
14026 | 40                    player.s   2396 | Code        | 11 |         |    3 | 00/7791 : BD 8D 73    | _dcLeft                  LDA     LootTblFrCL,X        
14027 | 40                    player.s   2397 | Code        | 11 |         |    2 | 00/7794 : 85 16       | _dcSetFr                 STA     {$16}                
14028 | 40                    player.s   2398 | Code        | 11 |         |    2 | 00/7796 : 85 4C       |                          STA     {$4C}                
14029 | 40                    player.s   2399 | Code        | 11 |         |    3 | 00/7798 : 4C AB 7E    |                          JMP     DrawSprite           
14030 | 40                    player.s   2400 | Code        | 11 |         |    1 | 00/779B : 60          | _dcSkip                  RTS                          
14031 | 40                    player.s   2401 | Empty       | 11 |         |    0 | 00/779C               |                                                       
14032 | 40                    player.s   2402 | Comment     | 11 |         |    0 | 00/779C               | *----------------------------------------------
14033 | 40                    player.s   2403 | Comment     | 11 |         |    0 | 00/779C               | * EraseCarried - Erase carried loot at old position
14034 | 40                    player.s   2404 | Comment     | 11 |         |    0 | 00/779C               | *----------------------------------------------
14035 | 40                    player.s   2405 | Empty       | 11 |         |    0 | 00/779C               | EraseCarried                                          
14036 | 40                    player.s   2406 | Code        | 11 |         |    2 | 00/779C : A5 4C       |                          LDA     {$4C}                
14037 | 40                    player.s   2407 | Code        | 11 |         |    2 | 00/779E : C9 FF       |                          CMP     #$FF                 
14038 | 40                    player.s   2408 | Code        | 11 |         |    2 | 00/77A0 : F0 11       |                          BEQ     _ecSkip              ; $FF = nothing drawn on this page
14039 | 40                    player.s   2409 | Code        | 11 |         |    2 | 00/77A2 : 85 16       |                          STA     {$16}                
14040 | 40                    player.s   2410 | Code        | 11 |         |    2 | 00/77A4 : A5 4A       |                          LDA     {$4A}                
14041 | 40                    player.s   2411 | Code        | 11 |         |    2 | 00/77A6 : 85 14       |                          STA     {$14}                
14042 | 40                    player.s   2412 | Code        | 11 |         |    2 | 00/77A8 : A5 4B       |                          LDA     {$4B}                
14043 | 40                    player.s   2413 | Code        | 11 |         |    2 | 00/77AA : 85 15       |                          STA     {$15}                
14044 | 40                    player.s   2414 | Code        | 11 |         |    2 | 00/77AC : A9 FF       |                          LDA     #$FF                 
14045 | 40                    player.s   2415 | Code        | 11 |         |    2 | 00/77AE : 85 4C       |                          STA     {$4C}                ; mark erased so we don't erase again
14046 | 40                    player.s   2416 | Code        | 11 |         |    3 | 00/77B0 : 4C 08 65    |                          JMP     EraseSpriteArea      
14047 | 40                    player.s   2417 | Code        | 11 |         |    1 | 00/77B3 : 60          | _ecSkip                  RTS                          
14048 | 40                    player.s   2418 | Empty       | 11 |         |    0 | 00/77B4               |                                                       
14049 | 40                    player.s   2419 | Comment     | 11 |         |    0 | 00/77B4               | *----------------------------------------------
14050 | 40                    player.s   2420 | Comment     | 11 |         |    0 | 00/77B4               | * Mine Cart Init, Update, Draw/Erase
14051 | 40                    player.s   2421 | Comment     | 11 |         |    0 | 00/77B4               | *----------------------------------------------
14052 | 40                    player.s   2422 | Empty       | 11 |         |    0 | 00/77B4               |                                                       
14053 | 40                    player.s   2423 | Equivalence | 11 |         |    0 | 00/77B4               | CART_COUNT               =       3                    
14054 | 40                    player.s   2424 | Equivalence | 11 |         |    0 | 00/77B4               | FR_CART                  =       10                   ; empty mine cart sprite frame
14055 | 40                    player.s   2425 | Empty       | 11 |         |    0 | 00/77B4               |                                                       
14056 | 40                    player.s   2426 | Comment     | 11 |         |    0 | 00/77B4               | * Per-page "last drawn" cart positions (main RAM, $0300 page)
14057 | 40                    player.s   2427 | Equivalence | 11 |         |    0 | 00/77B4               | CartOldP0                =       $0334                ; page 0: 9 bytes (3 carts x 3: X,Y,Fr)
14058 | 40                    player.s   2428 | Equivalence | 11 |         |    0 | 00/77B4               | CartOldP1                =       $033D                ; page 1: 9 bytes
14059 | 40                    player.s   2429 | Empty       | 11 |         |    0 | 00/77B4               |                                                       
14060 | 40                    player.s   2430 | Comment     | 11 |         |    0 | 00/77B4               | * Adjacency tables: left/right neighbor map index ($FF = none)
14061 | 40                    player.s   2431 | Data        | 11 |         |    3 | 00/77B4 : FF 00 01    | CartAdjL                 DFB     $FF,0,1              ; left neighbor of map 0,1,2
14062 | 40                    player.s   2432 | Data        | 11 |         |    3 | 00/77B7 : 01 02 FF    | CartAdjR                 DFB     1,2,$FF              ; right neighbor of map 0,1,2
14063 | 40                    player.s   2433 | Empty       | 11 |         |    0 | 00/77BA               |                                                       
14064 | 40                    player.s   2434 | Comment     | 11 |         |    0 | 00/77BA               | * Cart data tables (indexed by cart 0-2)
14065 | 40                    player.s   2435 | Data        | 11 |         |    3 | 00/77BA : 46 46 62    | CartTblX                 DFB     70,70,98             ; pixel X
14066 | 40                    player.s   2436 | Data        | 11 |         |    3 | 00/77BD : 2D A5 93    | CartTblY                 DFB     45,165,147           ; pixel Y
14067 | 40                    player.s   2437 | Data        | 11 |         |    3 | 00/77C0 : 00 00 00    | CartTblDir               DFB     0,0,0                ; 0=right, 1=left
14068 | 40                    player.s   2438 | Data        | 11 |         |    3 | 00/77C3 : 00 00 01    | CartTblMap               DFB     0,0,1                ; which map (0-2)
14069 | 40                    player.s   2439 | Data        | 11 |         |    3 | 00/77C6 : 0A 0A 0A    | CartTblFr                DFB     {10},{10},{10}       ; sprite frame (10=empty, 11=with player)
14070 | 40                    player.s   2440 | Empty       | 11 |         |    0 | 00/77C9               |                                                       
14071 | 40                    player.s   2441 | Comment     | 11 |         |    0 | 00/77C9               | *----------------------------------------------
14072 | 40                    player.s   2442 | Comment     | 11 |         |    0 | 00/77C9               | * CartInit - Set mine cart starting positions
14073 | 40                    player.s   2443 | Comment     | 11 |         |    0 | 00/77C9               | *----------------------------------------------
14074 | 40                    player.s   2444 | Empty       | 11 |         |    0 | 00/77C9               | CartInit                                              
14075 | 40                    player.s   2445 | Code        | 11 |         |    2 | 00/77C9 : A2 02       |                          LDX     #{3}-1               
14076 | 40                    player.s   2446 | Code        | 11 |         |    3 | 00/77CB : BD F1 77    | _ciLoop                  LDA     CartInitX,X          
14077 | 40                    player.s   2447 | Code        | 11 |         |    3 | 00/77CE : 9D BA 77    |                          STA     CartTblX,X           
14078 | 40                    player.s   2448 | Code        | 11 |         |    3 | 00/77D1 : BD F4 77    |                          LDA     CartInitY,X          
14079 | 40                    player.s   2449 | Code        | 11 |         |    3 | 00/77D4 : 9D BD 77    |                          STA     CartTblY,X           
14080 | 40                    player.s   2450 | Code        | 11 |         |    3 | 00/77D7 : BD F7 77    |                          LDA     CartInitMap,X        
14081 | 40                    player.s   2451 | Code        | 11 |         |    3 | 00/77DA : 9D C3 77    |                          STA     CartTblMap,X         
14082 | 40                    player.s   2452 | Code        | 11 |         |    3 | 00/77DD : 9E C0 77    |                          STZ     CartTblDir,X         
14083 | 40                    player.s   2453 | Code        | 11 |         |    2 | 00/77E0 : A9 0A       |                          LDA     #{10}                
14084 | 40                    player.s   2454 | Code        | 11 |         |    3 | 00/77E2 : 9D C6 77    |                          STA     CartTblFr,X          
14085 | 40                    player.s   2455 | Code        | 11 |         |    1 | 00/77E5 : CA          |                          DEX                          
14086 | 40                    player.s   2456 | Code        | 11 |         |    2 | 00/77E6 : 10 E3       |                          BPL     _ciLoop              
14087 | 40                    player.s   2457 | Code        | 11 |         |    2 | 00/77E8 : A9 01       |                          LDA     #1                   
14088 | 40                    player.s   2458 | Code        | 11 |         |    2 | 00/77EA : 85 E9       |                          STA     {$E9}                
14089 | 40                    player.s   2459 | Code        | 11 |         |    2 | 00/77EC : A9 FF       |                          LDA     #$FF                 
14090 | 40                    player.s   2460 | Code        | 11 |         |    2 | 00/77EE : 85 EB       |                          STA     {$EB}                
14091 | 40                    player.s   2461 | Code        | 11 |         |    1 | 00/77F0 : 60          |                          RTS                          
14092 | 40                    player.s   2462 | Empty       | 11 |         |    0 | 00/77F1               |                                                       
14093 | 40                    player.s   2463 | Comment     | 11 |         |    0 | 00/77F1               | * Initial positions (separate from live tables for re-init)
14094 | 40                    player.s   2464 | Comment     | 11 |         |    0 | 00/77F1               | * Y = tile_row*6 + 5 - 11 - 3 (sprite top, 3px above rail surface)
14095 | 40                    player.s   2465 | Data        | 11 |         |    3 | 00/77F1 : 46 46 62    | CartInitX                DFB     70,70,98             
14096 | 40                    player.s   2466 | Data        | 11 |         |    3 | 00/77F4 : 33 AB 99    | CartInitY                DFB     51,171,153           
14097 | 40                    player.s   2467 | Data        | 11 |         |    3 | 00/77F7 : 00 00 01    | CartInitMap              DFB     0,0,1                
14098 | 40                    player.s   2468 | Empty       | 11 |         |    0 | 00/77FA               |                                                       
14099 | 40                    player.s   2469 | Comment     | 11 |         |    0 | 00/77FA               | *----------------------------------------------
14100 | 40                    player.s   2470 | Comment     | 11 |         |    0 | 00/77FA               | * InitCartOldPos - Copy cart positions to both page slots
14101 | 40                    player.s   2471 | Comment     | 11 |         |    0 | 00/77FA               | *----------------------------------------------
14102 | 40                    player.s   2472 | Empty       | 11 |         |    0 | 00/77FA               | InitCartOldPos                                        
14103 | 40                    player.s   2473 | Code        | 11 |         |    2 | 00/77FA : A2 02       |                          LDX     #{3}-1               
14104 | 40                    player.s   2474 | Code        | 11 |         |    1 | 00/77FC : 8A          | _icLoop                  TXA                          
14105 | 40                    player.s   2475 | Code        | 11 |         |    2 | 00/77FD : 85 1A       |                          STA     {$1A}                
14106 | 40                    player.s   2476 | Code        | 11 |         |    1 | 00/77FF : 0A          |                          ASL                          
14107 | 40                    player.s   2477 | Code        | 11 |         |    1 | 00/7800 : 18          |                          CLC                          
14108 | 40                    player.s   2478 | Code        | 11 |         |    2 | 00/7801 : 65 1A       |                          ADC     {$1A}                ; Y = item * 3
14109 | 40                    player.s   2479 | Code        | 11 |         |    1 | 00/7803 : A8          |                          TAY                          
14110 | 40                    player.s   2480 | Code        | 11 |         |    3 | 00/7804 : BD BA 77    |                          LDA     CartTblX,X           
14111 | 40                    player.s   2481 | Code        | 11 |         |    3 | 00/7807 : 99 34 03    |                          STA     {$0334},Y            
14112 | 40                    player.s   2482 | Code        | 11 |         |    3 | 00/780A : 99 3D 03    |                          STA     {$033D},Y            
14113 | 40                    player.s   2483 | Code        | 11 |         |    3 | 00/780D : BD BD 77    |                          LDA     CartTblY,X           
14114 | 40                    player.s   2484 | Code        | 11 |         |    3 | 00/7810 : 99 35 03    |                          STA     {$0334}+1,Y          
14115 | 40                    player.s   2485 | Code        | 11 |         |    3 | 00/7813 : 99 3E 03    |                          STA     {$033D}+1,Y          
14116 | 40                    player.s   2486 | Code        | 11 |         |    2 | 00/7816 : A9 0A       |                          LDA     #{10}                
14117 | 40                    player.s   2487 | Code        | 11 |         |    3 | 00/7818 : 99 36 03    |                          STA     {$0334}+2,Y          
14118 | 40                    player.s   2488 | Code        | 11 |         |    3 | 00/781B : 99 3F 03    |                          STA     {$033D}+2,Y          
14119 | 40                    player.s   2489 | Code        | 11 |         |    1 | 00/781E : CA          |                          DEX                          
14120 | 40                    player.s   2490 | Code        | 11 |         |    2 | 00/781F : 10 DB       |                          BPL     _icLoop              
14121 | 40                    player.s   2491 | Code        | 11 |         |    1 | 00/7821 : 60          |                          RTS                          
14122 | 40                    player.s   2492 | Empty       | 11 |         |    0 | 00/7822               |                                                       
14123 | 40                    player.s   2493 | Comment     | 11 |         |    0 | 00/7822               | *----------------------------------------------
14124 | 40                    player.s   2494 | Comment     | 11 |         |    0 | 00/7822               | * SaveCartItem - Save cart X's drawn pos to page old-pos buf
14125 | 40                    player.s   2495 | Comment     | 11 |         |    0 | 00/7822               | * In: X = cart index (0-2)
14126 | 40                    player.s   2496 | Comment     | 11 |         |    0 | 00/7822               | *----------------------------------------------
14127 | 40                    player.s   2497 | Empty       | 11 |         |    0 | 00/7822               | SaveCartItem                                          
14128 | 40                    player.s   2498 | Code        | 11 |         |    1 | 00/7822 : 8A          |                          TXA                          
14129 | 40                    player.s   2499 | Code        | 11 |         |    2 | 00/7823 : 85 1A       |                          STA     {$1A}                
14130 | 40                    player.s   2500 | Code        | 11 |         |    1 | 00/7825 : 0A          |                          ASL                          
14131 | 40                    player.s   2501 | Code        | 11 |         |    1 | 00/7826 : 18          |                          CLC                          
14132 | 40                    player.s   2502 | Code        | 11 |         |    2 | 00/7827 : 65 1A       |                          ADC     {$1A}                ; Y = item * 3
14133 | 40                    player.s   2503 | Code        | 11 |         |    1 | 00/7829 : A8          |                          TAY                          
14134 | 40                    player.s   2504 | Code        | 11 |         |    2 | 00/782A : A5 1E       |                          LDA     {$1E}                
14135 | 40                    player.s   2505 | Code        | 11 |         |    2 | 00/782C : D0 13       |                          BNE     _scP1                
14136 | 40                    player.s   2506 | Code        | 11 |         |    3 | 00/782E : BD BA 77    |                          LDA     CartTblX,X           
14137 | 40                    player.s   2507 | Code        | 11 |         |    3 | 00/7831 : 99 34 03    |                          STA     {$0334},Y            
14138 | 40                    player.s   2508 | Code        | 11 |         |    3 | 00/7834 : BD BD 77    |                          LDA     CartTblY,X           
14139 | 40                    player.s   2509 | Code        | 11 |         |    3 | 00/7837 : 99 35 03    |                          STA     {$0334}+1,Y          
14140 | 40                    player.s   2510 | Code        | 11 |         |    3 | 00/783A : BD C6 77    |                          LDA     CartTblFr,X          
14141 | 40                    player.s   2511 | Code        | 11 |         |    3 | 00/783D : 99 36 03    |                          STA     {$0334}+2,Y          
14142 | 40                    player.s   2512 | Code        | 11 |         |    1 | 00/7840 : 60          |                          RTS                          
14143 | 40                    player.s   2513 | Code        | 11 |         |    3 | 00/7841 : BD BA 77    | _scP1                    LDA     CartTblX,X           
14144 | 40                    player.s   2514 | Code        | 11 |         |    3 | 00/7844 : 99 3D 03    |                          STA     {$033D},Y            
14145 | 40                    player.s   2515 | Code        | 11 |         |    3 | 00/7847 : BD BD 77    |                          LDA     CartTblY,X           
14146 | 40                    player.s   2516 | Code        | 11 |         |    3 | 00/784A : 99 3E 03    |                          STA     {$033D}+1,Y          
14147 | 40                    player.s   2517 | Code        | 11 |         |    3 | 00/784D : BD C6 77    |                          LDA     CartTblFr,X          
14148 | 40                    player.s   2518 | Code        | 11 |         |    3 | 00/7850 : 99 3F 03    |                          STA     {$033D}+2,Y          
14149 | 40                    player.s   2519 | Code        | 11 |         |    1 | 00/7853 : 60          |                          RTS                          
14150 | 40                    player.s   2520 | Empty       | 11 |         |    0 | 00/7854               |                                                       
14151 | 40                    player.s   2521 | Comment     | 11 |         |    0 | 00/7854               | *----------------------------------------------
14152 | 40                    player.s   2522 | Comment     | 11 |         |    0 | 00/7854               | * LoadCartItem - Load cart X's old pos from page buf into SprX/Y/Fr
14153 | 40                    player.s   2523 | Comment     | 11 |         |    0 | 00/7854               | * In: X = cart index (0-2)
14154 | 40                    player.s   2524 | Comment     | 11 |         |    0 | 00/7854               | * Out: A = old frame ($FF if not drawn)
14155 | 40                    player.s   2525 | Comment     | 11 |         |    0 | 00/7854               | *----------------------------------------------
14156 | 40                    player.s   2526 | Empty       | 11 |         |    0 | 00/7854               | LoadCartItem                                          
14157 | 40                    player.s   2527 | Code        | 11 |         |    1 | 00/7854 : 8A          |                          TXA                          
14158 | 40                    player.s   2528 | Code        | 11 |         |    2 | 00/7855 : 85 1A       |                          STA     {$1A}                
14159 | 40                    player.s   2529 | Code        | 11 |         |    1 | 00/7857 : 0A          |                          ASL                          
14160 | 40                    player.s   2530 | Code        | 11 |         |    1 | 00/7858 : 18          |                          CLC                          
14161 | 40                    player.s   2531 | Code        | 11 |         |    2 | 00/7859 : 65 1A       |                          ADC     {$1A}                
14162 | 40                    player.s   2532 | Code        | 11 |         |    1 | 00/785B : A8          |                          TAY                          
14163 | 40                    player.s   2533 | Code        | 11 |         |    2 | 00/785C : A5 1E       |                          LDA     {$1E}                
14164 | 40                    player.s   2534 | Code        | 11 |         |    2 | 00/785E : D0 16       |                          BNE     _lcP1                
14165 | 40                    player.s   2535 | Code        | 11 |         |    3 | 00/7860 : B9 36 03    |                          LDA     {$0334}+2,Y          
14166 | 40                    player.s   2536 | Code        | 11 |         |    2 | 00/7863 : C9 FF       |                          CMP     #$FF                 
14167 | 40                    player.s   2537 | Code        | 11 |         |    2 | 00/7865 : F0 25       |                          BEQ     _lcEmpty             
14168 | 40                    player.s   2538 | Code        | 11 |         |    2 | 00/7867 : 85 16       |                          STA     {$16}                
14169 | 40                    player.s   2539 | Code        | 11 |         |    3 | 00/7869 : B9 34 03    |                          LDA     {$0334},Y            
14170 | 40                    player.s   2540 | Code        | 11 |         |    2 | 00/786C : 85 14       |                          STA     {$14}                
14171 | 40                    player.s   2541 | Code        | 11 |         |    3 | 00/786E : B9 35 03    |                          LDA     {$0334}+1,Y          
14172 | 40                    player.s   2542 | Code        | 11 |         |    2 | 00/7871 : 85 15       |                          STA     {$15}                
14173 | 40                    player.s   2543 | Code        | 11 |         |    2 | 00/7873 : A5 16       |                          LDA     {$16}                
14174 | 40                    player.s   2544 | Code        | 11 |         |    1 | 00/7875 : 60          |                          RTS                          
14175 | 40                    player.s   2545 | Code        | 11 |         |    3 | 00/7876 : B9 3F 03    | _lcP1                    LDA     {$033D}+2,Y          
14176 | 40                    player.s   2546 | Code        | 11 |         |    2 | 00/7879 : C9 FF       |                          CMP     #$FF                 
14177 | 40                    player.s   2547 | Code        | 11 |         |    2 | 00/787B : F0 0F       |                          BEQ     _lcEmpty             
14178 | 40                    player.s   2548 | Code        | 11 |         |    2 | 00/787D : 85 16       |                          STA     {$16}                
14179 | 40                    player.s   2549 | Code        | 11 |         |    3 | 00/787F : B9 3D 03    |                          LDA     {$033D},Y            
14180 | 40                    player.s   2550 | Code        | 11 |         |    2 | 00/7882 : 85 14       |                          STA     {$14}                
14181 | 40                    player.s   2551 | Code        | 11 |         |    3 | 00/7884 : B9 3E 03    |                          LDA     {$033D}+1,Y          
14182 | 40                    player.s   2552 | Code        | 11 |         |    2 | 00/7887 : 85 15       |                          STA     {$15}                
14183 | 40                    player.s   2553 | Code        | 11 |         |    2 | 00/7889 : A5 16       |                          LDA     {$16}                
14184 | 40                    player.s   2554 | Code        | 11 |         |    1 | 00/788B : 60          |                          RTS                          
14185 | 40                    player.s   2555 | Code        | 11 |         |    2 | 00/788C : A9 FF       | _lcEmpty                 LDA     #$FF                 
14186 | 40                    player.s   2556 | Code        | 11 |         |    1 | 00/788E : 60          |                          RTS                          
14187 | 40                    player.s   2557 | Empty       | 11 |         |    0 | 00/788F               |                                                       
14188 | 40                    player.s   2558 | Comment     | 11 |         |    0 | 00/788F               | *----------------------------------------------
14189 | 40                    player.s   2559 | Comment     | 11 |         |    0 | 00/788F               | * MarkCartEmpty - Mark cart X as not drawn on this page
14190 | 40                    player.s   2560 | Comment     | 11 |         |    0 | 00/788F               | * In: X = cart index (0-2)
14191 | 40                    player.s   2561 | Comment     | 11 |         |    0 | 00/788F               | *----------------------------------------------
14192 | 40                    player.s   2562 | Empty       | 11 |         |    0 | 00/788F               | MarkCartEmpty                                         
14193 | 40                    player.s   2563 | Code        | 11 |         |    1 | 00/788F : 8A          |                          TXA                          
14194 | 40                    player.s   2564 | Code        | 11 |         |    2 | 00/7890 : 85 1A       |                          STA     {$1A}                
14195 | 40                    player.s   2565 | Code        | 11 |         |    1 | 00/7892 : 0A          |                          ASL                          
14196 | 40                    player.s   2566 | Code        | 11 |         |    1 | 00/7893 : 18          |                          CLC                          
14197 | 40                    player.s   2567 | Code        | 11 |         |    2 | 00/7894 : 65 1A       |                          ADC     {$1A}                
14198 | 40                    player.s   2568 | Code        | 11 |         |    1 | 00/7896 : A8          |                          TAY                          
14199 | 40                    player.s   2569 | Code        | 11 |         |    2 | 00/7897 : A5 1E       |                          LDA     {$1E}                
14200 | 40                    player.s   2570 | Code        | 11 |         |    2 | 00/7899 : D0 06       |                          BNE     _mcP1                
14201 | 40                    player.s   2571 | Code        | 11 |         |    2 | 00/789B : A9 FF       |                          LDA     #$FF                 
14202 | 40                    player.s   2572 | Code        | 11 |         |    3 | 00/789D : 99 36 03    |                          STA     {$0334}+2,Y          
14203 | 40                    player.s   2573 | Code        | 11 |         |    1 | 00/78A0 : 60          |                          RTS                          
14204 | 40                    player.s   2574 | Code        | 11 |         |    2 | 00/78A1 : A9 FF       | _mcP1                    LDA     #$FF                 
14205 | 40                    player.s   2575 | Code        | 11 |         |    3 | 00/78A3 : 99 3F 03    |                          STA     {$033D}+2,Y          
14206 | 40                    player.s   2576 | Code        | 11 |         |    1 | 00/78A6 : 60          |                          RTS                          
14207 | 40                    player.s   2577 | Empty       | 11 |         |    0 | 00/78A7               |                                                       
14208 | 40                    player.s   2578 | Comment     | 11 |         |    0 | 00/78A7               | *----------------------------------------------
14209 | 40                    player.s   2579 | Comment     | 11 |         |    0 | 00/78A7               | * DrawCarts - Draw all carts on current map
14210 | 40                    player.s   2580 | Comment     | 11 |         |    0 | 00/78A7               | *----------------------------------------------
14211 | 40                    player.s   2581 | Empty       | 11 |         |    0 | 00/78A7               | DrawCarts                                             
14212 | 40                    player.s   2582 | Code        | 11 |         |    2 | 00/78A7 : A2 00       |                          LDX     #0                   
14213 | 40                    player.s   2583 | Code        | 11 |         |    2 | 00/78A9 : E0 03       | _dcLoop                  CPX     #{3}                 
14214 | 40                    player.s   2584 | Code        | 11 |         |    2 | 00/78AB : B0 26       |                          BCS     _dcDone              
14215 | 40                    player.s   2585 | Code        | 11 |         |    3 | 00/78AD : BD C3 77    |                          LDA     CartTblMap,X         
14216 | 40                    player.s   2586 | Code        | 11 |         |    2 | 00/78B0 : C5 1C       |                          CMP     {$1C}                
14217 | 40                    player.s   2587 | Code        | 11 |         |    2 | 00/78B2 : D0 19       |                          BNE     _dcMark              ; wrong map: mark as not drawn
14218 | 40                    player.s   2588 | Code        | 11 |         |    1 | 00/78B4 : DA          |                          PHX                          
14219 | 40                    player.s   2589 | Code        | 11 |         |    3 | 00/78B5 : BD BA 77    |                          LDA     CartTblX,X           
14220 | 40                    player.s   2590 | Code        | 11 |         |    2 | 00/78B8 : 85 14       |                          STA     {$14}                
14221 | 40                    player.s   2591 | Code        | 11 |         |    3 | 00/78BA : BD BD 77    |                          LDA     CartTblY,X           
14222 | 40                    player.s   2592 | Code        | 11 |         |    2 | 00/78BD : 85 15       |                          STA     {$15}                
14223 | 40                    player.s   2593 | Code        | 11 |         |    3 | 00/78BF : BD C6 77    |                          LDA     CartTblFr,X          
14224 | 40                    player.s   2594 | Code        | 11 |         |    2 | 00/78C2 : 85 16       |                          STA     {$16}                
14225 | 40                    player.s   2595 | Code        | 11 |         |    3 | 00/78C4 : 20 AB 7E    |                          JSR     DrawSprite           
14226 | 40                    player.s   2596 | Code        | 11 |         |    1 | 00/78C7 : FA          |                          PLX                          
14227 | 40                    player.s   2597 | Code        | 11 |         |    3 | 00/78C8 : 20 22 78    |                          JSR     SaveCartItem         
14228 | 40                    player.s   2598 | Code        | 11 |         |    2 | 00/78CB : 80 03       |                          BRA     _dcNext              
14229 | 40                    player.s   2599 | Code        | 11 |         |    3 | 00/78CD : 20 8F 78    | _dcMark                  JSR     MarkCartEmpty        
14230 | 40                    player.s   2600 | Code        | 11 |         |    1 | 00/78D0 : E8          | _dcNext                  INX                          
14231 | 40                    player.s   2601 | Code        | 11 |         |    2 | 00/78D1 : 80 D6       |                          BRA     _dcLoop              
14232 | 40                    player.s   2602 | Code        | 11 |         |    1 | 00/78D3 : 60          | _dcDone                  RTS                          
14233 | 40                    player.s   2603 | Empty       | 11 |         |    0 | 00/78D4               |                                                       
14234 | 40                    player.s   2604 | Comment     | 11 |         |    0 | 00/78D4               | *----------------------------------------------
14235 | 40                    player.s   2605 | Comment     | 11 |         |    0 | 00/78D4               | * EraseCarts - Erase carts at old positions
14236 | 40                    player.s   2606 | Comment     | 11 |         |    0 | 00/78D4               | *----------------------------------------------
14237 | 40                    player.s   2607 | Empty       | 11 |         |    0 | 00/78D4               | EraseCarts                                            
14238 | 40                    player.s   2608 | Code        | 11 |         |    2 | 00/78D4 : A2 00       |                          LDX     #0                   
14239 | 40                    player.s   2609 | Code        | 11 |         |    2 | 00/78D6 : E0 03       | _ecLoop                  CPX     #{3}                 
14240 | 40                    player.s   2610 | Code        | 11 |         |    2 | 00/78D8 : B0 0F       |                          BCS     _ecDone              
14241 | 40                    player.s   2611 | Code        | 11 |         |    3 | 00/78DA : 20 54 78    |                          JSR     LoadCartItem         
14242 | 40                    player.s   2612 | Code        | 11 |         |    2 | 00/78DD : C9 FF       |                          CMP     #$FF                 
14243 | 40                    player.s   2613 | Code        | 11 |         |    2 | 00/78DF : F0 05       |                          BEQ     _ecNext              
14244 | 40                    player.s   2614 | Code        | 11 |         |    1 | 00/78E1 : DA          |                          PHX                          
14245 | 40                    player.s   2615 | Code        | 11 |         |    3 | 00/78E2 : 20 08 65    |                          JSR     EraseSpriteArea      
14246 | 40                    player.s   2616 | Code        | 11 |         |    1 | 00/78E5 : FA          |                          PLX                          
14247 | 40                    player.s   2617 | Code        | 11 |         |    1 | 00/78E6 : E8          | _ecNext                  INX                          
14248 | 40                    player.s   2618 | Code        | 11 |         |    2 | 00/78E7 : 80 ED       |                          BRA     _ecLoop              
14249 | 40                    player.s   2619 | Code        | 11 |         |    1 | 00/78E9 : 60          | _ecDone                  RTS                          
14250 | 40                    player.s   2620 | Empty       | 11 |         |    0 | 00/78EA               |                                                       
14251 | 40                    player.s   2621 | Comment     | 11 |         |    0 | 00/78EA               | *----------------------------------------------
14252 | 40                    player.s   2622 | Comment     | 11 |         |    0 | 00/78EA               | * UpdateCarts - Move each cart along its rail
14253 | 40                    player.s   2623 | Comment     | 11 |         |    0 | 00/78EA               | *
14254 | 40                    player.s   2624 | Comment     | 11 |         |    0 | 00/78EA               | * Each cart moves 1 pixel/frame in its direction.
14255 | 40                    player.s   2625 | Comment     | 11 |         |    0 | 00/78EA               | * Checks the tile at the leading edge; if not rail,
14256 | 40                    player.s   2626 | Comment     | 11 |         |    0 | 00/78EA               | * checks for ladder crossing. Reverses at rail ends.
14257 | 40                    player.s   2627 | Comment     | 11 |         |    0 | 00/78EA               | * Uses Temp3 (feet Y) and Temp4 (cart index).
14258 | 40                    player.s   2628 | Comment     | 11 |         |    0 | 00/78EA               | *----------------------------------------------
14259 | 40                    player.s   2629 | Empty       | 11 |         |    0 | 00/78EA               | UpdateCarts                                           
14260 | 40                    player.s   2630 | Code        | 11 |         |    2 | 00/78EA : 64 1B       |                          STZ     {$1B}                ; cart index
14261 | 40                    player.s   2631 | Code        | 11 |         |    2 | 00/78EC : A6 1B       | _ucLoop                  LDX     {$1B}                
14262 | 40                    player.s   2632 | Code        | 11 |         |    2 | 00/78EE : E0 03       |                          CPX     #{3}                 
14263 | 40                    player.s   2633 | Code        | 11 |         |    2 | 00/78F0 : 90 03       |                          BCC     _ucGo                
14264 | 40                    player.s   2634 | Code        | 11 |         |    3 | 00/78F2 : 4C 1C 7A    |                          JMP     _ucDone              
14265 | 40                    player.s   2635 | Empty       | 11 |         |    0 | 00/78F5               | _ucGo                                                 
14266 | 40                    player.s   2636 | Comment     | 11 |         |    0 | 00/78F5               | * Set collision pointer for this cart's map
14267 | 40                    player.s   2637 | Code        | 11 |         |    3 | 00/78F5 : 20 20 7A    |                          JSR     _SetCartColl         
14268 | 40                    player.s   2638 | Empty       | 11 |         |    0 | 00/78F8               |                                                       
14269 | 40                    player.s   2639 | Comment     | 11 |         |    0 | 00/78F8               | * Pre-compute feet Y (CartY + 11)
14270 | 40                    player.s   2640 | Code        | 11 |         |    3 | 00/78F8 : BD BD 77    |                          LDA     CartTblY,X           
14271 | 40                    player.s   2641 | Code        | 11 |         |    1 | 00/78FB : 18          |                          CLC                          
14272 | 40                    player.s   2642 | Code        | 11 |         |    2 | 00/78FC : 69 0B       |                          ADC     #11                  
14273 | 40                    player.s   2643 | Code        | 11 |         |    2 | 00/78FE : 85 1A       |                          STA     {$1A}                
14274 | 40                    player.s   2644 | Empty       | 11 |         |    0 | 00/7900               |                                                       
14275 | 40                    player.s   2645 | Comment     | 11 |         |    0 | 00/7900               | * Branch on direction
14276 | 40                    player.s   2646 | Code        | 11 |         |    3 | 00/7900 : BD C0 77    |                          LDA     CartTblDir,X         
14277 | 40                    player.s   2647 | Code        | 11 |         |    2 | 00/7903 : F0 03       |                          BEQ     _ucRight             
14278 | 40                    player.s   2648 | Code        | 11 |         |    3 | 00/7905 : 4C 91 79    |                          JMP     _ucLeft              
14279 | 40                    player.s   2649 | Empty       | 11 |         |    0 | 00/7908               | _ucRight                                              
14280 | 40                    player.s   2650 | Empty       | 11 |         |    0 | 00/7908               |                                                       
14281 | 40                    player.s   2651 | Comment     | 11 |         |    0 | 00/7908               | * === Moving right: check tile at (CartX+7, feetY) ===
14282 | 40                    player.s   2652 | Code        | 11 |         |    3 | 00/7908 : BD BA 77    |                          LDA     CartTblX,X           
14283 | 40                    player.s   2653 | Code        | 11 |         |    2 | 00/790B : C9 70       |                          CMP     #{112}               
14284 | 40                    player.s   2654 | Code        | 11 |         |    2 | 00/790D : 90 06       |                          BCC     _ucRNorm             ; < 112, normal tile checks
14285 | 40                    player.s   2655 | Comment     | 11 |         |    0 | 00/790F               | * Border zone: slide 7px past edge before teleporting
14286 | 40                    player.s   2656 | Code        | 11 |         |    2 | 00/790F : C9 77       |                          CMP     #{112}+7             
14287 | 40                    player.s   2657 | Code        | 11 |         |    2 | 00/7911 : B0 36       |                          BCS     _ucTryTpR            ; >= 119, teleport now
14288 | 40                    player.s   2658 | Code        | 11 |         |    2 | 00/7913 : 80 74       |                          BRA     _ucDoR               ; keep moving right
14289 | 40                    player.s   2659 | Code        | 11 |         |    1 | 00/7915 : 18          | _ucRNorm                 CLC                          
14290 | 40                    player.s   2660 | Code        | 11 |         |    2 | 00/7916 : 69 07       |                          ADC     #7                   
14291 | 40                    player.s   2661 | Code        | 11 |         |    2 | 00/7918 : C9 8C       |                          CMP     #140                 
14292 | 40                    player.s   2662 | Code        | 11 |         |    2 | 00/791A : B0 2D       |                          BCS     _ucTryTpR            ; off screen → try teleport
14293 | 40                    player.s   2663 | Code        | 11 |         |    1 | 00/791C : AA          |                          TAX                          
14294 | 40                    player.s   2664 | Code        | 11 |         |    2 | 00/791D : A5 1A       |                          LDA     {$1A}                
14295 | 40                    player.s   2665 | Code        | 11 |         |    3 | 00/791F : 20 40 10    |                          JSR     GetCollType          
14296 | 40                    player.s   2666 | Code        | 11 |         |    2 | 00/7922 : C9 04       |                          CMP     #{4}                 
14297 | 40                    player.s   2667 | Code        | 11 |         |    2 | 00/7924 : F0 63       |                          BEQ     _ucDoR               
14298 | 40                    player.s   2668 | Code        | 11 |         |    2 | 00/7926 : C9 02       |                          CMP     #{2}                 
14299 | 40                    player.s   2669 | Code        | 11 |         |    2 | 00/7928 : D0 16       |                          BNE     _ucChkR              
14300 | 40                    player.s   2670 | Comment     | 11 |         |    0 | 00/792A               | * Ladder: check tile beyond (CartX+14)
14301 | 40                    player.s   2671 | Code        | 11 |         |    2 | 00/792A : A6 1B       |                          LDX     {$1B}                
14302 | 40                    player.s   2672 | Code        | 11 |         |    3 | 00/792C : BD BA 77    |                          LDA     CartTblX,X           
14303 | 40                    player.s   2673 | Code        | 11 |         |    1 | 00/792F : 18          |                          CLC                          
14304 | 40                    player.s   2674 | Code        | 11 |         |    2 | 00/7930 : 69 0E       |                          ADC     #14                  
14305 | 40                    player.s   2675 | Code        | 11 |         |    2 | 00/7932 : C9 8C       |                          CMP     #140                 
14306 | 40                    player.s   2676 | Code        | 11 |         |    2 | 00/7934 : B0 13       |                          BCS     _ucTryTpR            ; ladder at edge → try teleport
14307 | 40                    player.s   2677 | Code        | 11 |         |    1 | 00/7936 : AA          |                          TAX                          
14308 | 40                    player.s   2678 | Code        | 11 |         |    2 | 00/7937 : A5 1A       |                          LDA     {$1A}                
14309 | 40                    player.s   2679 | Code        | 11 |         |    3 | 00/7939 : 20 40 10    |                          JSR     GetCollType          
14310 | 40                    player.s   2680 | Code        | 11 |         |    2 | 00/793C : C9 04       |                          CMP     #{4}                 
14311 | 40                    player.s   2681 | Code        | 11 |         |    2 | 00/793E : F0 49       |                          BEQ     _ucDoR               
14312 | 40                    player.s   2682 | Empty       | 11 |         |    0 | 00/7940               | _ucChkR                                               
14313 | 40                    player.s   2683 | Comment     | 11 |         |    0 | 00/7940               | * Not rail - try teleport if at right boundary
14314 | 40                    player.s   2684 | Code        | 11 |         |    2 | 00/7940 : A6 1B       |                          LDX     {$1B}                
14315 | 40                    player.s   2685 | Code        | 11 |         |    3 | 00/7942 : BD BA 77    |                          LDA     CartTblX,X           
14316 | 40                    player.s   2686 | Code        | 11 |         |    2 | 00/7945 : C9 70       |                          CMP     #{112}               
14317 | 40                    player.s   2687 | Code        | 11 |         |    2 | 00/7947 : 90 36       |                          BCC     _ucRevR              ; not at edge, just reverse
14318 | 40                    player.s   2688 | Empty       | 11 |         |    0 | 00/7949               | _ucTryTpR                                             
14319 | 40                    player.s   2689 | Comment     | 11 |         |    0 | 00/7949               | * Check if right neighbor has rail at entry column
14320 | 40                    player.s   2690 | Code        | 11 |         |    2 | 00/7949 : A6 1B       |                          LDX     {$1B}                
14321 | 40                    player.s   2691 | Code        | 11 |         |    3 | 00/794B : BC C3 77    |                          LDY     CartTblMap,X         
14322 | 40                    player.s   2692 | Code        | 11 |         |    3 | 00/794E : B9 B7 77    |                          LDA     CartAdjR,Y           
14323 | 40                    player.s   2693 | Code        | 11 |         |    2 | 00/7951 : C9 FF       |                          CMP     #$FF                 
14324 | 40                    player.s   2694 | Code        | 11 |         |    2 | 00/7953 : F0 2A       |                          BEQ     _ucRevR              ; no right neighbor
14325 | 40                    player.s   2695 | Code        | 11 |         |    1 | 00/7955 : 0A          |                          ASL                          
14326 | 40                    player.s   2696 | Code        | 11 |         |    1 | 00/7956 : A8          |                          TAY                          
14327 | 40                    player.s   2697 | Code        | 11 |         |    3 | 00/7957 : B9 34 10    |                          LDA     CollPtrTbl,Y         
14328 | 40                    player.s   2698 | Code        | 11 |         |    2 | 00/795A : 85 25       |                          STA     {$25}                
14329 | 40                    player.s   2699 | Code        | 11 |         |    3 | 00/795C : B9 35 10    |                          LDA     CollPtrTbl+1,Y       
14330 | 40                    player.s   2700 | Code        | 11 |         |    2 | 00/795F : 85 26       |                          STA     {$25}+1              
14331 | 40                    player.s   2701 | Code        | 11 |         |    2 | 00/7961 : A2 16       |                          LDX     #22                  ; EDGE_XLEFT on neighbor
14332 | 40                    player.s   2702 | Code        | 11 |         |    2 | 00/7963 : A5 1A       |                          LDA     {$1A}                
14333 | 40                    player.s   2703 | Code        | 11 |         |    3 | 00/7965 : 20 40 10    |                          JSR     GetCollType          
14334 | 40                    player.s   2704 | Code        | 11 |         |    2 | 00/7968 : C9 04       |                          CMP     #{4}                 
14335 | 40                    player.s   2705 | Code        | 11 |         |    2 | 00/796A : D0 13       |                          BNE     _ucRevR              
14336 | 40                    player.s   2706 | Comment     | 11 |         |    0 | 00/796C               | * Teleport right
14337 | 40                    player.s   2707 | Code        | 11 |         |    2 | 00/796C : A6 1B       |                          LDX     {$1B}                
14338 | 40                    player.s   2708 | Code        | 11 |         |    2 | 00/796E : A9 16       |                          LDA     #22                  
14339 | 40                    player.s   2709 | Code        | 11 |         |    3 | 00/7970 : 9D BA 77    |                          STA     CartTblX,X           
14340 | 40                    player.s   2710 | Code        | 11 |         |    3 | 00/7973 : BC C3 77    |                          LDY     CartTblMap,X         
14341 | 40                    player.s   2711 | Code        | 11 |         |    3 | 00/7976 : B9 B7 77    |                          LDA     CartAdjR,Y           
14342 | 40                    player.s   2712 | Code        | 11 |         |    3 | 00/7979 : 9D C3 77    |                          STA     CartTblMap,X         
14343 | 40                    player.s   2713 | Code        | 11 |         |    3 | 00/797C : 4C 13 7A    |                          JMP     _ucNext              
14344 | 40                    player.s   2714 | Code        | 11 |         |    2 | 00/797F : A6 1B       | _ucRevR                  LDX     {$1B}                
14345 | 40                    player.s   2715 | Code        | 11 |         |    2 | 00/7981 : A9 01       |                          LDA     #1                   
14346 | 40                    player.s   2716 | Code        | 11 |         |    3 | 00/7983 : 9D C0 77    |                          STA     CartTblDir,X         ; reverse to left
14347 | 40                    player.s   2717 | Code        | 11 |         |    3 | 00/7986 : 4C 13 7A    |                          JMP     _ucNext              
14348 | 40                    player.s   2718 | Code        | 11 |         |    2 | 00/7989 : A6 1B       | _ucDoR                   LDX     {$1B}                
14349 | 40                    player.s   2719 | Code        | 11 |         |    3 | 00/798B : FE BA 77    |                          INC     CartTblX,X           
14350 | 40                    player.s   2720 | Code        | 11 |         |    3 | 00/798E : 4C 13 7A    |                          JMP     _ucNext              
14351 | 40                    player.s   2721 | Empty       | 11 |         |    0 | 00/7991               |                                                       
14352 | 40                    player.s   2722 | Comment     | 11 |         |    0 | 00/7991               | * === Moving left: check tile at (CartX-1, feetY) ===
14353 | 40                    player.s   2723 | Code        | 11 |         |    3 | 00/7991 : BD BA 77    | _ucLeft                  LDA     CartTblX,X           
14354 | 40                    player.s   2724 | Code        | 11 |         |    2 | 00/7994 : F0 3A       |                          BEQ     _ucTryTpL            ; pixel 0 → try teleport
14355 | 40                    player.s   2725 | Code        | 11 |         |    2 | 00/7996 : C9 17       |                          CMP     #{22}+1              
14356 | 40                    player.s   2726 | Code        | 11 |         |    2 | 00/7998 : B0 06       |                          BCS     _ucLNorm             ; > 22, normal tile checks
14357 | 40                    player.s   2727 | Comment     | 11 |         |    0 | 00/799A               | * Border zone: slide 7px past edge before teleporting
14358 | 40                    player.s   2728 | Code        | 11 |         |    2 | 00/799A : C9 10       |                          CMP     #{22}-7+1            
14359 | 40                    player.s   2729 | Code        | 11 |         |    2 | 00/799C : 90 32       |                          BCC     _ucTryTpL            ; <= 15, teleport now
14360 | 40                    player.s   2730 | Code        | 11 |         |    2 | 00/799E : 80 6E       |                          BRA     _ucDoL               ; keep moving left
14361 | 40                    player.s   2731 | Code        | 11 |         |    1 | 00/79A0 : 38          | _ucLNorm                 SEC                          
14362 | 40                    player.s   2732 | Code        | 11 |         |    2 | 00/79A1 : E9 01       |                          SBC     #1                   
14363 | 40                    player.s   2733 | Code        | 11 |         |    1 | 00/79A3 : AA          |                          TAX                          
14364 | 40                    player.s   2734 | Code        | 11 |         |    2 | 00/79A4 : A5 1A       |                          LDA     {$1A}                
14365 | 40                    player.s   2735 | Code        | 11 |         |    3 | 00/79A6 : 20 40 10    |                          JSR     GetCollType          
14366 | 40                    player.s   2736 | Code        | 11 |         |    2 | 00/79A9 : C9 04       |                          CMP     #{4}                 
14367 | 40                    player.s   2737 | Code        | 11 |         |    2 | 00/79AB : F0 61       |                          BEQ     _ucDoL               
14368 | 40                    player.s   2738 | Code        | 11 |         |    2 | 00/79AD : C9 02       |                          CMP     #{2}                 
14369 | 40                    player.s   2739 | Code        | 11 |         |    2 | 00/79AF : D0 16       |                          BNE     _ucChkL              
14370 | 40                    player.s   2740 | Comment     | 11 |         |    0 | 00/79B1               | * Ladder: check tile beyond (CartX-8)
14371 | 40                    player.s   2741 | Code        | 11 |         |    2 | 00/79B1 : A6 1B       |                          LDX     {$1B}                
14372 | 40                    player.s   2742 | Code        | 11 |         |    3 | 00/79B3 : BD BA 77    |                          LDA     CartTblX,X           
14373 | 40                    player.s   2743 | Code        | 11 |         |    2 | 00/79B6 : C9 08       |                          CMP     #8                   
14374 | 40                    player.s   2744 | Code        | 11 |         |    2 | 00/79B8 : 90 16       |                          BCC     _ucTryTpL            ; ladder near edge → try teleport
14375 | 40                    player.s   2745 | Code        | 11 |         |    1 | 00/79BA : 38          |                          SEC                          
14376 | 40                    player.s   2746 | Code        | 11 |         |    2 | 00/79BB : E9 08       |                          SBC     #8                   
14377 | 40                    player.s   2747 | Code        | 11 |         |    1 | 00/79BD : AA          |                          TAX                          
14378 | 40                    player.s   2748 | Code        | 11 |         |    2 | 00/79BE : A5 1A       |                          LDA     {$1A}                
14379 | 40                    player.s   2749 | Code        | 11 |         |    3 | 00/79C0 : 20 40 10    |                          JSR     GetCollType          
14380 | 40                    player.s   2750 | Code        | 11 |         |    2 | 00/79C3 : C9 04       |                          CMP     #{4}                 
14381 | 40                    player.s   2751 | Code        | 11 |         |    2 | 00/79C5 : F0 47       |                          BEQ     _ucDoL               
14382 | 40                    player.s   2752 | Empty       | 11 |         |    0 | 00/79C7               | _ucChkL                                               
14383 | 40                    player.s   2753 | Comment     | 11 |         |    0 | 00/79C7               | * Not rail - try teleport if at left boundary
14384 | 40                    player.s   2754 | Code        | 11 |         |    2 | 00/79C7 : A6 1B       |                          LDX     {$1B}                
14385 | 40                    player.s   2755 | Code        | 11 |         |    3 | 00/79C9 : BD BA 77    |                          LDA     CartTblX,X           
14386 | 40                    player.s   2756 | Code        | 11 |         |    2 | 00/79CC : C9 17       |                          CMP     #{22}+1              
14387 | 40                    player.s   2757 | Code        | 11 |         |    2 | 00/79CE : B0 36       |                          BCS     _ucRevL              ; not at edge, just reverse
14388 | 40                    player.s   2758 | Empty       | 11 |         |    0 | 00/79D0               | _ucTryTpL                                             
14389 | 40                    player.s   2759 | Comment     | 11 |         |    0 | 00/79D0               | * Check if left neighbor has rail at entry column
14390 | 40                    player.s   2760 | Code        | 11 |         |    2 | 00/79D0 : A6 1B       |                          LDX     {$1B}                
14391 | 40                    player.s   2761 | Code        | 11 |         |    3 | 00/79D2 : BC C3 77    |                          LDY     CartTblMap,X         
14392 | 40                    player.s   2762 | Code        | 11 |         |    3 | 00/79D5 : B9 B4 77    |                          LDA     CartAdjL,Y           
14393 | 40                    player.s   2763 | Code        | 11 |         |    2 | 00/79D8 : C9 FF       |                          CMP     #$FF                 
14394 | 40                    player.s   2764 | Code        | 11 |         |    2 | 00/79DA : F0 2A       |                          BEQ     _ucRevL              ; no left neighbor
14395 | 40                    player.s   2765 | Code        | 11 |         |    1 | 00/79DC : 0A          |                          ASL                          
14396 | 40                    player.s   2766 | Code        | 11 |         |    1 | 00/79DD : A8          |                          TAY                          
14397 | 40                    player.s   2767 | Code        | 11 |         |    3 | 00/79DE : B9 34 10    |                          LDA     CollPtrTbl,Y         
14398 | 40                    player.s   2768 | Code        | 11 |         |    2 | 00/79E1 : 85 25       |                          STA     {$25}                
14399 | 40                    player.s   2769 | Code        | 11 |         |    3 | 00/79E3 : B9 35 10    |                          LDA     CollPtrTbl+1,Y       
14400 | 40                    player.s   2770 | Code        | 11 |         |    2 | 00/79E6 : 85 26       |                          STA     {$25}+1              
14401 | 40                    player.s   2771 | Code        | 11 |         |    2 | 00/79E8 : A2 70       |                          LDX     #112                 ; EDGE_XRIGHT on neighbor
14402 | 40                    player.s   2772 | Code        | 11 |         |    2 | 00/79EA : A5 1A       |                          LDA     {$1A}                
14403 | 40                    player.s   2773 | Code        | 11 |         |    3 | 00/79EC : 20 40 10    |                          JSR     GetCollType          
14404 | 40                    player.s   2774 | Code        | 11 |         |    2 | 00/79EF : C9 04       |                          CMP     #{4}                 
14405 | 40                    player.s   2775 | Code        | 11 |         |    2 | 00/79F1 : D0 13       |                          BNE     _ucRevL              
14406 | 40                    player.s   2776 | Comment     | 11 |         |    0 | 00/79F3               | * Teleport left
14407 | 40                    player.s   2777 | Code        | 11 |         |    2 | 00/79F3 : A6 1B       |                          LDX     {$1B}                
14408 | 40                    player.s   2778 | Code        | 11 |         |    2 | 00/79F5 : A9 70       |                          LDA     #112                 
14409 | 40                    player.s   2779 | Code        | 11 |         |    3 | 00/79F7 : 9D BA 77    |                          STA     CartTblX,X           
14410 | 40                    player.s   2780 | Code        | 11 |         |    3 | 00/79FA : BC C3 77    |                          LDY     CartTblMap,X         
14411 | 40                    player.s   2781 | Code        | 11 |         |    3 | 00/79FD : B9 B4 77    |                          LDA     CartAdjL,Y           
14412 | 40                    player.s   2782 | Code        | 11 |         |    3 | 00/7A00 : 9D C3 77    |                          STA     CartTblMap,X         
14413 | 40                    player.s   2783 | Code        | 11 |         |    3 | 00/7A03 : 4C 13 7A    |                          JMP     _ucNext              
14414 | 40                    player.s   2784 | Code        | 11 |         |    2 | 00/7A06 : A6 1B       | _ucRevL                  LDX     {$1B}                
14415 | 40                    player.s   2785 | Code        | 11 |         |    3 | 00/7A08 : 9E C0 77    |                          STZ     CartTblDir,X         ; reverse to right
14416 | 40                    player.s   2786 | Code        | 11 |         |    3 | 00/7A0B : 4C 13 7A    |                          JMP     _ucNext              
14417 | 40                    player.s   2787 | Code        | 11 |         |    2 | 00/7A0E : A6 1B       | _ucDoL                   LDX     {$1B}                
14418 | 40                    player.s   2788 | Code        | 11 |         |    3 | 00/7A10 : DE BA 77    |                          DEC     CartTblX,X           
14419 | 40                    player.s   2789 | Empty       | 11 |         |    0 | 00/7A13               |                                                       
14420 | 40                    player.s   2790 | Code        | 11 |         |    2 | 00/7A13 : A9 01       | _ucNext                  LDA     #1                   
14421 | 40                    player.s   2791 | Code        | 11 |         |    2 | 00/7A15 : 85 E9       |                          STA     {$E9}                
14422 | 40                    player.s   2792 | Code        | 11 |         |    2 | 00/7A17 : E6 1B       |                          INC     {$1B}                
14423 | 40                    player.s   2793 | Code        | 11 |         |    3 | 00/7A19 : 4C EC 78    |                          JMP     _ucLoop              
14424 | 40                    player.s   2794 | Empty       | 11 |         |    0 | 00/7A1C               | _ucDone                                               
14425 | 40                    player.s   2795 | Comment     | 11 |         |    0 | 00/7A1C               | * Restore collision pointer to current map
14426 | 40                    player.s   2796 | Code        | 11 |         |    3 | 00/7A1C : 20 1B 10    |                          JSR     SetCollision         
14427 | 40                    player.s   2797 | Code        | 11 |         |    1 | 00/7A1F : 60          |                          RTS                          
14428 | 40                    player.s   2798 | Empty       | 11 |         |    0 | 00/7A20               |                                                       
14429 | 40                    player.s   2799 | Comment     | 11 |         |    0 | 00/7A20               | *----------------------------------------------
14430 | 40                    player.s   2800 | Comment     | 11 |         |    0 | 00/7A20               | * _SetCartColl - Set CollPtr for cart X's map
14431 | 40                    player.s   2801 | Comment     | 11 |         |    0 | 00/7A20               | * In: X = cart index (preserved)
14432 | 40                    player.s   2802 | Comment     | 11 |         |    0 | 00/7A20               | *----------------------------------------------
14433 | 40                    player.s   2803 | Empty       | 11 |         |    0 | 00/7A20               | _SetCartColl                                          
14434 | 40                    player.s   2804 | Code        | 11 |         |    3 | 00/7A20 : BD C3 77    |                          LDA     CartTblMap,X         
14435 | 40                    player.s   2805 | Code        | 11 |         |    1 | 00/7A23 : 0A          |                          ASL                          
14436 | 40                    player.s   2806 | Code        | 11 |         |    1 | 00/7A24 : A8          |                          TAY                          
14437 | 40                    player.s   2807 | Code        | 11 |         |    3 | 00/7A25 : B9 34 10    |                          LDA     CollPtrTbl,Y         
14438 | 40                    player.s   2808 | Code        | 11 |         |    2 | 00/7A28 : 85 25       |                          STA     {$25}                
14439 | 40                    player.s   2809 | Code        | 11 |         |    3 | 00/7A2A : B9 35 10    |                          LDA     CollPtrTbl+1,Y       
14440 | 40                    player.s   2810 | Code        | 11 |         |    2 | 00/7A2D : 85 26       |                          STA     {$25}+1              
14441 | 40                    player.s   2811 | Code        | 11 |         |    1 | 00/7A2F : 60          |                          RTS                          
14442 | 40                    player.s   2812 | Empty       | 11 |         |    0 | 00/7A30               |                                                       
14443 | 40                    player.s   2813 | Comment     | 11 |         |    0 | 00/7A30               | *----------------------------------------------
14444 | 40                    player.s   2814 | Comment     | 11 |         |    0 | 00/7A30               | * Preview rendering: draw carts from adjacent maps
14445 | 40                    player.s   2815 | Comment     | 11 |         |    0 | 00/7A30               | * in the border preview columns.
14446 | 40                    player.s   2816 | Comment     | 11 |         |    0 | 00/7A30               | *----------------------------------------------
14447 | 40                    player.s   2817 | Empty       | 11 |         |    0 | 00/7A30               |                                                       
14448 | 40                    player.s   2818 | Equivalence | 11 |         |    0 | 00/7A30               | PREVIEW_OFS              =       98                   ; pixel offset between adjacent maps (14*7)
14449 | 40                    player.s   2819 | Equivalence | 11 |         |    0 | 00/7A30               | CART_PREVIEW_OFS         =       98                   ; same offset for all preview sprites
14450 | 40                    player.s   2820 | Empty       | 11 |         |    0 | 00/7A30               |                                                       
14451 | 40                    player.s   2821 | Comment     | 11 |         |    0 | 00/7A30               | * Per-page old positions for preview cart sprites
14452 | 40                    player.s   2822 | Equivalence | 11 |         |    0 | 00/7A30               | PrvCartOldP0             =       $0346                ; page 0: 9 bytes (3 slots x 3: X,Y,Fr)
14453 | 40                    player.s   2823 | Equivalence | 11 |         |    0 | 00/7A30               | PrvCartOldP1             =       $034F                ; page 1: 9 bytes
14454 | 40                    player.s   2824 | Empty       | 11 |         |    0 | 00/7A30               |                                                       
14455 | 40                    player.s   2825 | Comment     | 11 |         |    0 | 00/7A30               | *----------------------------------------------
14456 | 40                    player.s   2826 | Comment     | 11 |         |    0 | 00/7A30               | * DrawPreviewCarts - Draw carts from adjacent maps in preview area
14457 | 40                    player.s   2827 | Comment     | 11 |         |    0 | 00/7A30               | * Uses X = cart index (0-2), slot offset = X*3, computed each time
14458 | 40                    player.s   2828 | Comment     | 11 |         |    0 | 00/7A30               | * to avoid Temp4 being clobbered by DrawSprite/EraseSpriteArea.
14459 | 40                    player.s   2829 | Comment     | 11 |         |    0 | 00/7A30               | *----------------------------------------------
14460 | 40                    player.s   2830 | Empty       | 11 |         |    0 | 00/7A30               | DrawPreviewCarts                                      
14461 | 40                    player.s   2831 | Code        | 11 |         |    2 | 00/7A30 : A2 00       |                          LDX     #0                   ; cart index
14462 | 40                    player.s   2832 | Code        | 11 |         |    2 | 00/7A32 : E0 03       | _dpLoop                  CPX     #{3}                 
14463 | 40                    player.s   2833 | Code        | 11 |         |    2 | 00/7A34 : B0 5C       |                          BCS     _dpDone              
14464 | 40                    player.s   2834 | Code        | 11 |         |    3 | 00/7A36 : BD C3 77    |                          LDA     CartTblMap,X         
14465 | 40                    player.s   2835 | Code        | 11 |         |    2 | 00/7A39 : C5 1C       |                          CMP     {$1C}                
14466 | 40                    player.s   2836 | Code        | 11 |         |    2 | 00/7A3B : F0 4A       |                          BEQ     _dpSkip              ; on current map, skip (drawn by DrawCarts)
14467 | 40                    player.s   2837 | Comment     | 11 |         |    0 | 00/7A3D               | * Check if on left neighbor
14468 | 40                    player.s   2838 | Code        | 11 |         |    1 | 00/7A3D : DA          |                          PHX                          
14469 | 40                    player.s   2839 | Code        | 11 |         |    2 | 00/7A3E : A6 1C       |                          LDX     {$1C}                
14470 | 40                    player.s   2840 | Code        | 11 |         |    3 | 00/7A40 : BD B4 77    |                          LDA     CartAdjL,X           
14471 | 40                    player.s   2841 | Code        | 11 |         |    1 | 00/7A43 : FA          |                          PLX                          
14472 | 40                    player.s   2842 | Code        | 11 |         |    3 | 00/7A44 : DD C3 77    |                          CMP     CartTblMap,X         
14473 | 40                    player.s   2843 | Code        | 11 |         |    2 | 00/7A47 : D0 0E       |                          BNE     _dpChkR              
14474 | 40                    player.s   2844 | Comment     | 11 |         |    0 | 00/7A49               | * Left neighbor: screenX = cartX - CART_PREVIEW_OFS
14475 | 40                    player.s   2845 | Code        | 11 |         |    3 | 00/7A49 : BD BA 77    |                          LDA     CartTblX,X           
14476 | 40                    player.s   2846 | Code        | 11 |         |    1 | 00/7A4C : 38          |                          SEC                          
14477 | 40                    player.s   2847 | Code        | 11 |         |    2 | 00/7A4D : E9 62       |                          SBC     #{98}                
14478 | 40                    player.s   2848 | Code        | 11 |         |    2 | 00/7A4F : 90 36       |                          BCC     _dpSkip              ; off screen left
14479 | 40                    player.s   2849 | Code        | 11 |         |    2 | 00/7A51 : C9 86       |                          CMP     #134                 
14480 | 40                    player.s   2850 | Code        | 11 |         |    2 | 00/7A53 : B0 32       |                          BCS     _dpSkip              ; off screen right (sprite 7px wide)
14481 | 40                    player.s   2851 | Code        | 11 |         |    2 | 00/7A55 : 80 18       |                          BRA     _dpDraw              
14482 | 40                    player.s   2852 | Empty       | 11 |         |    0 | 00/7A57               | _dpChkR                                               
14483 | 40                    player.s   2853 | Comment     | 11 |         |    0 | 00/7A57               | * Check if on right neighbor
14484 | 40                    player.s   2854 | Code        | 11 |         |    1 | 00/7A57 : DA          |                          PHX                          
14485 | 40                    player.s   2855 | Code        | 11 |         |    2 | 00/7A58 : A6 1C       |                          LDX     {$1C}                
14486 | 40                    player.s   2856 | Code        | 11 |         |    3 | 00/7A5A : BD B7 77    |                          LDA     CartAdjR,X           
14487 | 40                    player.s   2857 | Code        | 11 |         |    1 | 00/7A5D : FA          |                          PLX                          
14488 | 40                    player.s   2858 | Code        | 11 |         |    3 | 00/7A5E : DD C3 77    |                          CMP     CartTblMap,X         
14489 | 40                    player.s   2859 | Code        | 11 |         |    2 | 00/7A61 : D0 24       |                          BNE     _dpSkip              ; not adjacent
14490 | 40                    player.s   2860 | Comment     | 11 |         |    0 | 00/7A63               | * Right neighbor: screenX = cartX + CART_PREVIEW_OFS
14491 | 40                    player.s   2861 | Code        | 11 |         |    3 | 00/7A63 : BD BA 77    |                          LDA     CartTblX,X           
14492 | 40                    player.s   2862 | Code        | 11 |         |    1 | 00/7A66 : 18          |                          CLC                          
14493 | 40                    player.s   2863 | Code        | 11 |         |    2 | 00/7A67 : 69 62       |                          ADC     #{98}                
14494 | 40                    player.s   2864 | Code        | 11 |         |    2 | 00/7A69 : B0 1C       |                          BCS     _dpSkip              ; overflow
14495 | 40                    player.s   2865 | Code        | 11 |         |    2 | 00/7A6B : C9 86       |                          CMP     #134                 
14496 | 40                    player.s   2866 | Code        | 11 |         |    2 | 00/7A6D : B0 18       |                          BCS     _dpSkip              ; off screen right
14497 | 40                    player.s   2867 | Empty       | 11 |         |    0 | 00/7A6F               | _dpDraw                                               
14498 | 40                    player.s   2868 | Comment     | 11 |         |    0 | 00/7A6F               | * A = screen X, draw the preview cart
14499 | 40                    player.s   2869 | Code        | 11 |         |    2 | 00/7A6F : 85 14       |                          STA     {$14}                
14500 | 40                    player.s   2870 | Code        | 11 |         |    3 | 00/7A71 : BD BD 77    |                          LDA     CartTblY,X           
14501 | 40                    player.s   2871 | Code        | 11 |         |    2 | 00/7A74 : 85 15       |                          STA     {$15}                
14502 | 40                    player.s   2872 | Code        | 11 |         |    2 | 00/7A76 : A9 0A       |                          LDA     #{10}                
14503 | 40                    player.s   2873 | Code        | 11 |         |    2 | 00/7A78 : 85 16       |                          STA     {$16}                
14504 | 40                    player.s   2874 | Comment     | 11 |         |    0 | 00/7A7A               | * Save old-pos BEFORE DrawSprite (which clobbers SprX/SprY/Temp3/Temp4)
14505 | 40                    player.s   2875 | Code        | 11 |         |    1 | 00/7A7A : DA          |                          PHX                          ; save cart index on stack
14506 | 40                    player.s   2876 | Code        | 11 |         |    3 | 00/7A7B : 20 93 7A    |                          JSR     _CartSlotY           ; Y = X*3 (slot offset)
14507 | 40                    player.s   2877 | Code        | 11 |         |    3 | 00/7A7E : 20 B5 7A    |                          JSR     _SavePrvSlot         
14508 | 40                    player.s   2878 | Code        | 11 |         |    3 | 00/7A81 : 20 AB 7E    |                          JSR     DrawSprite           
14509 | 40                    player.s   2879 | Code        | 11 |         |    1 | 00/7A84 : FA          |                          PLX                          ; restore cart index
14510 | 40                    player.s   2880 | Code        | 11 |         |    2 | 00/7A85 : 80 08       |                          BRA     _dpNext              
14511 | 40                    player.s   2881 | Empty       | 11 |         |    0 | 00/7A87               | _dpSkip                                               
14512 | 40                    player.s   2882 | Comment     | 11 |         |    0 | 00/7A87               | * Mark this slot as empty
14513 | 40                    player.s   2883 | Code        | 11 |         |    1 | 00/7A87 : DA          |                          PHX                          
14514 | 40                    player.s   2884 | Code        | 11 |         |    3 | 00/7A88 : 20 93 7A    |                          JSR     _CartSlotY           ; Y = X*3
14515 | 40                    player.s   2885 | Code        | 11 |         |    3 | 00/7A8B : 20 D9 7A    |                          JSR     _MarkPrvEmpty        
14516 | 40                    player.s   2886 | Code        | 11 |         |    1 | 00/7A8E : FA          |                          PLX                          
14517 | 40                    player.s   2887 | Code        | 11 |         |    1 | 00/7A8F : E8          | _dpNext                  INX                          
14518 | 40                    player.s   2888 | Code        | 11 |         |    2 | 00/7A90 : 80 A0       |                          BRA     _dpLoop              
14519 | 40                    player.s   2889 | Code        | 11 |         |    1 | 00/7A92 : 60          | _dpDone                  RTS                          
14520 | 40                    player.s   2890 | Empty       | 11 |         |    0 | 00/7A93               |                                                       
14521 | 40                    player.s   2891 | Comment     | 11 |         |    0 | 00/7A93               | *----------------------------------------------
14522 | 40                    player.s   2892 | Comment     | 11 |         |    0 | 00/7A93               | * _CartSlotY - Compute preview slot offset from cart index
14523 | 40                    player.s   2893 | Comment     | 11 |         |    0 | 00/7A93               | * In: X = cart index (0-2)
14524 | 40                    player.s   2894 | Comment     | 11 |         |    0 | 00/7A93               | * Out: Y = slot offset (0, 3, 6)  Clobbers: Temp3
14525 | 40                    player.s   2895 | Comment     | 11 |         |    0 | 00/7A93               | *----------------------------------------------
14526 | 40                    player.s   2896 | Empty       | 11 |         |    0 | 00/7A93               | _CartSlotY                                            
14527 | 40                    player.s   2897 | Code        | 11 |         |    1 | 00/7A93 : 8A          |                          TXA                          
14528 | 40                    player.s   2898 | Code        | 11 |         |    2 | 00/7A94 : 85 1A       |                          STA     {$1A}                
14529 | 40                    player.s   2899 | Code        | 11 |         |    1 | 00/7A96 : 0A          |                          ASL                          
14530 | 40                    player.s   2900 | Code        | 11 |         |    1 | 00/7A97 : 18          |                          CLC                          
14531 | 40                    player.s   2901 | Code        | 11 |         |    2 | 00/7A98 : 65 1A       |                          ADC     {$1A}                ; A = X*3
14532 | 40                    player.s   2902 | Code        | 11 |         |    1 | 00/7A9A : A8          |                          TAY                          
14533 | 40                    player.s   2903 | Code        | 11 |         |    1 | 00/7A9B : 60          |                          RTS                          
14534 | 40                    player.s   2904 | Empty       | 11 |         |    0 | 00/7A9C               |                                                       
14535 | 40                    player.s   2905 | Comment     | 11 |         |    0 | 00/7A9C               | *----------------------------------------------
14536 | 40                    player.s   2906 | Comment     | 11 |         |    0 | 00/7A9C               | * ErasePreviewCarts - Erase preview cart sprites at old positions
14537 | 40                    player.s   2907 | Comment     | 11 |         |    0 | 00/7A9C               | * Uses X as slot counter (0-2), computes Y=X*3 each iteration
14538 | 40                    player.s   2908 | Comment     | 11 |         |    0 | 00/7A9C               | * to avoid Temp4 clobbering by EraseSpriteArea.
14539 | 40                    player.s   2909 | Comment     | 11 |         |    0 | 00/7A9C               | *----------------------------------------------
14540 | 40                    player.s   2910 | Empty       | 11 |         |    0 | 00/7A9C               | ErasePreviewCarts                                     
14541 | 40                    player.s   2911 | Code        | 11 |         |    2 | 00/7A9C : A2 00       |                          LDX     #0                   ; slot counter
14542 | 40                    player.s   2912 | Code        | 11 |         |    2 | 00/7A9E : E0 03       | _epLoop                  CPX     #{3}                 
14543 | 40                    player.s   2913 | Code        | 11 |         |    2 | 00/7AA0 : B0 12       |                          BCS     _epDone              
14544 | 40                    player.s   2914 | Code        | 11 |         |    1 | 00/7AA2 : DA          |                          PHX                          
14545 | 40                    player.s   2915 | Code        | 11 |         |    3 | 00/7AA3 : 20 93 7A    |                          JSR     _CartSlotY           ; Y = X*3
14546 | 40                    player.s   2916 | Code        | 11 |         |    3 | 00/7AA6 : 20 E9 7A    |                          JSR     _LoadPrvSlot         ; sets SprX/Y/Frame, A=$FF if empty
14547 | 40                    player.s   2917 | Code        | 11 |         |    2 | 00/7AA9 : C9 FF       |                          CMP     #$FF                 
14548 | 40                    player.s   2918 | Code        | 11 |         |    2 | 00/7AAB : F0 03       |                          BEQ     _epSkip              
14549 | 40                    player.s   2919 | Code        | 11 |         |    3 | 00/7AAD : 20 08 65    |                          JSR     EraseSpriteArea      
14550 | 40                    player.s   2920 | Code        | 11 |         |    1 | 00/7AB0 : FA          | _epSkip                  PLX                          
14551 | 40                    player.s   2921 | Code        | 11 |         |    1 | 00/7AB1 : E8          |                          INX                          
14552 | 40                    player.s   2922 | Code        | 11 |         |    2 | 00/7AB2 : 80 EA       |                          BRA     _epLoop              
14553 | 40                    player.s   2923 | Code        | 11 |         |    1 | 00/7AB4 : 60          | _epDone                  RTS                          
14554 | 40                    player.s   2924 | Empty       | 11 |         |    0 | 00/7AB5               |                                                       
14555 | 40                    player.s   2925 | Comment     | 11 |         |    0 | 00/7AB5               | *----------------------------------------------
14556 | 40                    player.s   2926 | Comment     | 11 |         |    0 | 00/7AB5               | * _SavePrvSlot - Save preview pos to page old-pos buf
14557 | 40                    player.s   2927 | Comment     | 11 |         |    0 | 00/7AB5               | * In: Y = slot offset (0/3/6), SprX/SprY/SprFrame set
14558 | 40                    player.s   2928 | Comment     | 11 |         |    0 | 00/7AB5               | *----------------------------------------------
14559 | 40                    player.s   2929 | Empty       | 11 |         |    0 | 00/7AB5               | _SavePrvSlot                                          
14560 | 40                    player.s   2930 | Code        | 11 |         |    2 | 00/7AB5 : A5 1E       |                          LDA     {$1E}                
14561 | 40                    player.s   2931 | Code        | 11 |         |    2 | 00/7AB7 : D0 10       |                          BNE     _spP1                
14562 | 40                    player.s   2932 | Code        | 11 |         |    2 | 00/7AB9 : A5 14       |                          LDA     {$14}                
14563 | 40                    player.s   2933 | Code        | 11 |         |    3 | 00/7ABB : 99 46 03    |                          STA     {$0346},Y            
14564 | 40                    player.s   2934 | Code        | 11 |         |    2 | 00/7ABE : A5 15       |                          LDA     {$15}                
14565 | 40                    player.s   2935 | Code        | 11 |         |    3 | 00/7AC0 : 99 47 03    |                          STA     {$0346}+1,Y          
14566 | 40                    player.s   2936 | Code        | 11 |         |    2 | 00/7AC3 : A5 16       |                          LDA     {$16}                
14567 | 40                    player.s   2937 | Code        | 11 |         |    3 | 00/7AC5 : 99 48 03    |                          STA     {$0346}+2,Y          
14568 | 40                    player.s   2938 | Code        | 11 |         |    1 | 00/7AC8 : 60          |                          RTS                          
14569 | 40                    player.s   2939 | Code        | 11 |         |    2 | 00/7AC9 : A5 14       | _spP1                    LDA     {$14}                
14570 | 40                    player.s   2940 | Code        | 11 |         |    3 | 00/7ACB : 99 4F 03    |                          STA     {$034F},Y            
14571 | 40                    player.s   2941 | Code        | 11 |         |    2 | 00/7ACE : A5 15       |                          LDA     {$15}                
14572 | 40                    player.s   2942 | Code        | 11 |         |    3 | 00/7AD0 : 99 50 03    |                          STA     {$034F}+1,Y          
14573 | 40                    player.s   2943 | Code        | 11 |         |    2 | 00/7AD3 : A5 16       |                          LDA     {$16}                
14574 | 40                    player.s   2944 | Code        | 11 |         |    3 | 00/7AD5 : 99 51 03    |                          STA     {$034F}+2,Y          
14575 | 40                    player.s   2945 | Code        | 11 |         |    1 | 00/7AD8 : 60          |                          RTS                          
14576 | 40                    player.s   2946 | Empty       | 11 |         |    0 | 00/7AD9               |                                                       
14577 | 40                    player.s   2947 | Comment     | 11 |         |    0 | 00/7AD9               | *----------------------------------------------
14578 | 40                    player.s   2948 | Comment     | 11 |         |    0 | 00/7AD9               | * _MarkPrvEmpty - Mark preview slot as not drawn
14579 | 40                    player.s   2949 | Comment     | 11 |         |    0 | 00/7AD9               | * In: Y = slot offset (0/3/6)
14580 | 40                    player.s   2950 | Comment     | 11 |         |    0 | 00/7AD9               | *----------------------------------------------
14581 | 40                    player.s   2951 | Empty       | 11 |         |    0 | 00/7AD9               | _MarkPrvEmpty                                         
14582 | 40                    player.s   2952 | Code        | 11 |         |    2 | 00/7AD9 : A5 1E       |                          LDA     {$1E}                
14583 | 40                    player.s   2953 | Code        | 11 |         |    2 | 00/7ADB : D0 06       |                          BNE     _mpP1                
14584 | 40                    player.s   2954 | Code        | 11 |         |    2 | 00/7ADD : A9 FF       |                          LDA     #$FF                 
14585 | 40                    player.s   2955 | Code        | 11 |         |    3 | 00/7ADF : 99 48 03    |                          STA     {$0346}+2,Y          
14586 | 40                    player.s   2956 | Code        | 11 |         |    1 | 00/7AE2 : 60          |                          RTS                          
14587 | 40                    player.s   2957 | Code        | 11 |         |    2 | 00/7AE3 : A9 FF       | _mpP1                    LDA     #$FF                 
14588 | 40                    player.s   2958 | Code        | 11 |         |    3 | 00/7AE5 : 99 51 03    |                          STA     {$034F}+2,Y          
14589 | 40                    player.s   2959 | Code        | 11 |         |    1 | 00/7AE8 : 60          |                          RTS                          
14590 | 40                    player.s   2960 | Empty       | 11 |         |    0 | 00/7AE9               |                                                       
14591 | 40                    player.s   2961 | Comment     | 11 |         |    0 | 00/7AE9               | *----------------------------------------------
14592 | 40                    player.s   2962 | Comment     | 11 |         |    0 | 00/7AE9               | * _LoadPrvSlot - Load preview slot old-pos into SprX/Y/Frame
14593 | 40                    player.s   2963 | Comment     | 11 |         |    0 | 00/7AE9               | * In: Y = slot offset (0/3/6)
14594 | 40                    player.s   2964 | Comment     | 11 |         |    0 | 00/7AE9               | * Out: A = frame ($FF if empty)
14595 | 40                    player.s   2965 | Comment     | 11 |         |    0 | 00/7AE9               | *----------------------------------------------
14596 | 40                    player.s   2966 | Empty       | 11 |         |    0 | 00/7AE9               | _LoadPrvSlot                                          
14597 | 40                    player.s   2967 | Code        | 11 |         |    2 | 00/7AE9 : A5 1E       |                          LDA     {$1E}                
14598 | 40                    player.s   2968 | Code        | 11 |         |    2 | 00/7AEB : D0 16       |                          BNE     _lpP1                
14599 | 40                    player.s   2969 | Code        | 11 |         |    3 | 00/7AED : B9 48 03    |                          LDA     {$0346}+2,Y          
14600 | 40                    player.s   2970 | Code        | 11 |         |    2 | 00/7AF0 : C9 FF       |                          CMP     #$FF                 
14601 | 40                    player.s   2971 | Code        | 11 |         |    2 | 00/7AF2 : F0 25       |                          BEQ     _lpEmpty             
14602 | 40                    player.s   2972 | Code        | 11 |         |    2 | 00/7AF4 : 85 16       |                          STA     {$16}                
14603 | 40                    player.s   2973 | Code        | 11 |         |    3 | 00/7AF6 : B9 46 03    |                          LDA     {$0346},Y            
14604 | 40                    player.s   2974 | Code        | 11 |         |    2 | 00/7AF9 : 85 14       |                          STA     {$14}                
14605 | 40                    player.s   2975 | Code        | 11 |         |    3 | 00/7AFB : B9 47 03    |                          LDA     {$0346}+1,Y          
14606 | 40                    player.s   2976 | Code        | 11 |         |    2 | 00/7AFE : 85 15       |                          STA     {$15}                
14607 | 40                    player.s   2977 | Code        | 11 |         |    2 | 00/7B00 : A5 16       |                          LDA     {$16}                
14608 | 40                    player.s   2978 | Code        | 11 |         |    1 | 00/7B02 : 60          |                          RTS                          
14609 | 40                    player.s   2979 | Code        | 11 |         |    3 | 00/7B03 : B9 51 03    | _lpP1                    LDA     {$034F}+2,Y          
14610 | 40                    player.s   2980 | Code        | 11 |         |    2 | 00/7B06 : C9 FF       |                          CMP     #$FF                 
14611 | 40                    player.s   2981 | Code        | 11 |         |    2 | 00/7B08 : F0 0F       |                          BEQ     _lpEmpty             
14612 | 40                    player.s   2982 | Code        | 11 |         |    2 | 00/7B0A : 85 16       |                          STA     {$16}                
14613 | 40                    player.s   2983 | Code        | 11 |         |    3 | 00/7B0C : B9 4F 03    |                          LDA     {$034F},Y            
14614 | 40                    player.s   2984 | Code        | 11 |         |    2 | 00/7B0F : 85 14       |                          STA     {$14}                
14615 | 40                    player.s   2985 | Code        | 11 |         |    3 | 00/7B11 : B9 50 03    |                          LDA     {$034F}+1,Y          
14616 | 40                    player.s   2986 | Code        | 11 |         |    2 | 00/7B14 : 85 15       |                          STA     {$15}                
14617 | 40                    player.s   2987 | Code        | 11 |         |    2 | 00/7B16 : A5 16       |                          LDA     {$16}                
14618 | 40                    player.s   2988 | Code        | 11 |         |    1 | 00/7B18 : 60          |                          RTS                          
14619 | 40                    player.s   2989 | Code        | 11 |         |    2 | 00/7B19 : A9 FF       | _lpEmpty                 LDA     #$FF                 
14620 | 40                    player.s   2990 | Code        | 11 |         |    1 | 00/7B1B : 60          |                          RTS                          
14621 | 40                    player.s   2991 | Empty       | 11 |         |    0 | 00/7B1C               |                                                       
14622 | 40                    player.s   2992 | Comment     | 11 |         |    0 | 00/7B1C               | *----------------------------------------------
14623 | 40                    player.s   2993 | Comment     | 11 |         |    0 | 00/7B1C               | * InitPrvCartOldPos - Init all preview slots to empty on both pages
14624 | 40                    player.s   2994 | Comment     | 11 |         |    0 | 00/7B1C               | *----------------------------------------------
14625 | 40                    player.s   2995 | Empty       | 11 |         |    0 | 00/7B1C               | InitPrvCartOldPos                                     
14626 | 40                    player.s   2996 | Code        | 11 |         |    2 | 00/7B1C : A0 00       |                          LDY     #0                   
14627 | 40                    player.s   2997 | Code        | 11 |         |    2 | 00/7B1E : A9 FF       |                          LDA     #$FF                 
14628 | 40                    player.s   2998 | Code        | 11 |         |    3 | 00/7B20 : 99 48 03    | _ipLoop                  STA     {$0346}+2,Y          
14629 | 40                    player.s   2999 | Code        | 11 |         |    3 | 00/7B23 : 99 51 03    |                          STA     {$034F}+2,Y          
14630 | 40                    player.s   3000 | Code        | 11 |         |    1 | 00/7B26 : C8          |                          INY                          
14631 | 40                    player.s   3001 | Code        | 11 |         |    1 | 00/7B27 : C8          |                          INY                          
14632 | 40                    player.s   3002 | Code        | 11 |         |    1 | 00/7B28 : C8          |                          INY                          
14633 | 40                    player.s   3003 | Code        | 11 |         |    2 | 00/7B29 : C0 09       |                          CPY     #9                   
14634 | 40                    player.s   3004 | Code        | 11 |         |    2 | 00/7B2B : 90 F3       |                          BCC     _ipLoop              
14635 | 40                    player.s   3005 | Code        | 11 |         |    1 | 00/7B2D : 60          |                          RTS                          
14636 | 40                    player.s   3006 | Empty       | 11 |         |    0 | 00/7B2E               |                                                       
14637 | 40                    player.s   3007 | Comment     | 11 |         |    0 | 00/7B2E               | *----------------------------------------------
14638 | 40                    player.s   3008 | Comment     | 11 |         |    0 | 00/7B2E               | * Preview loot rendering: draw ground loot from adjacent maps
14639 | 40                    player.s   3009 | Comment     | 11 |         |    0 | 00/7B2E               | *----------------------------------------------
14640 | 40                    player.s   3010 | Empty       | 11 |         |    0 | 00/7B2E               |                                                       
14641 | 40                    player.s   3011 | Equivalence | 11 |         |    0 | 00/7B2E               | PrvLootOldP0             =       $0358                ; page 0: 9 bytes (3 items x 3: X,Y,Fr)
14642 | 40                    player.s   3012 | Equivalence | 11 |         |    0 | 00/7B2E               | PrvLootOldP1             =       $0361                ; page 1: 9 bytes
14643 | 40                    player.s   3013 | Empty       | 11 |         |    0 | 00/7B2E               |                                                       
14644 | 40                    player.s   3014 | Comment     | 11 |         |    0 | 00/7B2E               | *----------------------------------------------
14645 | 40                    player.s   3015 | Comment     | 11 |         |    0 | 00/7B2E               | * DrawPreviewLoot - Draw ground loot from adjacent maps in preview area
14646 | 40                    player.s   3016 | Comment     | 11 |         |    0 | 00/7B2E               | *----------------------------------------------
14647 | 40                    player.s   3017 | Empty       | 11 |         |    0 | 00/7B2E               | DrawPreviewLoot                                       
14648 | 40                    player.s   3018 | Code        | 11 |         |    2 | 00/7B2E : A2 00       |                          LDX     #0                   
14649 | 40                    player.s   3019 | Code        | 11 |         |    2 | 00/7B30 : E0 03       | _dlLoop                  CPX     #{3}                 
14650 | 40                    player.s   3020 | Code        | 11 |         |    2 | 00/7B32 : B0 66       |                          BCS     _dlDone              ; slot 3 skipped (PrvLootOldP* has no room)
14651 | 40                    player.s   3021 | Comment     | 11 |         |    0 | 00/7B34               | * Only draw ground or collected loot (not carried/falling)
14652 | 40                    player.s   3022 | Code        | 11 |         |    3 | 00/7B34 : BD 81 73    |                          LDA     LootTblSt,X          
14653 | 40                    player.s   3023 | Code        | 11 |         |    2 | 00/7B37 : F0 04       |                          BEQ     _dlVis               ; ground
14654 | 40                    player.s   3024 | Code        | 11 |         |    2 | 00/7B39 : C9 02       |                          CMP     #{2}                 
14655 | 40                    player.s   3025 | Code        | 11 |         |    2 | 00/7B3B : D0 52       |                          BNE     _dlSkip              ; carried/falling: skip
14656 | 40                    player.s   3026 | Empty       | 11 |         |    0 | 00/7B3D               | _dlVis                                                
14657 | 40                    player.s   3027 | Comment     | 11 |         |    0 | 00/7B3D               | * Must be on an adjacent map, not current
14658 | 40                    player.s   3028 | Code        | 11 |         |    3 | 00/7B3D : BD 7D 73    |                          LDA     LootTblMap,X         
14659 | 40                    player.s   3029 | Code        | 11 |         |    2 | 00/7B40 : C5 1C       |                          CMP     {$1C}                
14660 | 40                    player.s   3030 | Code        | 11 |         |    2 | 00/7B42 : F0 4B       |                          BEQ     _dlSkip              
14661 | 40                    player.s   3031 | Comment     | 11 |         |    0 | 00/7B44               | * Check left neighbor
14662 | 40                    player.s   3032 | Code        | 11 |         |    1 | 00/7B44 : DA          |                          PHX                          
14663 | 40                    player.s   3033 | Code        | 11 |         |    2 | 00/7B45 : A6 1C       |                          LDX     {$1C}                
14664 | 40                    player.s   3034 | Code        | 11 |         |    3 | 00/7B47 : BD B4 77    |                          LDA     CartAdjL,X           
14665 | 40                    player.s   3035 | Code        | 11 |         |    1 | 00/7B4A : FA          |                          PLX                          
14666 | 40                    player.s   3036 | Code        | 11 |         |    3 | 00/7B4B : DD 7D 73    |                          CMP     LootTblMap,X         
14667 | 40                    player.s   3037 | Code        | 11 |         |    2 | 00/7B4E : D0 0E       |                          BNE     _dlChkR              
14668 | 40                    player.s   3038 | Comment     | 11 |         |    0 | 00/7B50               | * Left neighbor: screenX = lootX - PREVIEW_OFS
14669 | 40                    player.s   3039 | Code        | 11 |         |    3 | 00/7B50 : BD 75 73    |                          LDA     LootTblX,X           
14670 | 40                    player.s   3040 | Code        | 11 |         |    1 | 00/7B53 : 38          |                          SEC                          
14671 | 40                    player.s   3041 | Code        | 11 |         |    2 | 00/7B54 : E9 62       |                          SBC     #{98}                
14672 | 40                    player.s   3042 | Code        | 11 |         |    2 | 00/7B56 : 90 37       |                          BCC     _dlSkip              
14673 | 40                    player.s   3043 | Code        | 11 |         |    2 | 00/7B58 : C9 86       |                          CMP     #134                 
14674 | 40                    player.s   3044 | Code        | 11 |         |    2 | 00/7B5A : B0 33       |                          BCS     _dlSkip              
14675 | 40                    player.s   3045 | Code        | 11 |         |    2 | 00/7B5C : 80 18       |                          BRA     _dlDraw              
14676 | 40                    player.s   3046 | Empty       | 11 |         |    0 | 00/7B5E               | _dlChkR                                               
14677 | 40                    player.s   3047 | Code        | 11 |         |    1 | 00/7B5E : DA          |                          PHX                          
14678 | 40                    player.s   3048 | Code        | 11 |         |    2 | 00/7B5F : A6 1C       |                          LDX     {$1C}                
14679 | 40                    player.s   3049 | Code        | 11 |         |    3 | 00/7B61 : BD B7 77    |                          LDA     CartAdjR,X           
14680 | 40                    player.s   3050 | Code        | 11 |         |    1 | 00/7B64 : FA          |                          PLX                          
14681 | 40                    player.s   3051 | Code        | 11 |         |    3 | 00/7B65 : DD 7D 73    |                          CMP     LootTblMap,X         
14682 | 40                    player.s   3052 | Code        | 11 |         |    2 | 00/7B68 : D0 25       |                          BNE     _dlSkip              
14683 | 40                    player.s   3053 | Comment     | 11 |         |    0 | 00/7B6A               | * Right neighbor: screenX = lootX + PREVIEW_OFS
14684 | 40                    player.s   3054 | Code        | 11 |         |    3 | 00/7B6A : BD 75 73    |                          LDA     LootTblX,X           
14685 | 40                    player.s   3055 | Code        | 11 |         |    1 | 00/7B6D : 18          |                          CLC                          
14686 | 40                    player.s   3056 | Code        | 11 |         |    2 | 00/7B6E : 69 62       |                          ADC     #{98}                
14687 | 40                    player.s   3057 | Code        | 11 |         |    2 | 00/7B70 : B0 1D       |                          BCS     _dlSkip              
14688 | 40                    player.s   3058 | Code        | 11 |         |    2 | 00/7B72 : C9 86       |                          CMP     #134                 
14689 | 40                    player.s   3059 | Code        | 11 |         |    2 | 00/7B74 : B0 19       |                          BCS     _dlSkip              
14690 | 40                    player.s   3060 | Empty       | 11 |         |    0 | 00/7B76               | _dlDraw                                               
14691 | 40                    player.s   3061 | Comment     | 11 |         |    0 | 00/7B76               | * A = screen X
14692 | 40                    player.s   3062 | Code        | 11 |         |    2 | 00/7B76 : 85 14       |                          STA     {$14}                
14693 | 40                    player.s   3063 | Code        | 11 |         |    3 | 00/7B78 : BD 79 73    |                          LDA     LootTblY,X           
14694 | 40                    player.s   3064 | Code        | 11 |         |    2 | 00/7B7B : 85 15       |                          STA     {$15}                
14695 | 40                    player.s   3065 | Code        | 11 |         |    3 | 00/7B7D : BD 85 73    |                          LDA     LootTblFrG,X         
14696 | 40                    player.s   3066 | Code        | 11 |         |    2 | 00/7B80 : 85 16       |                          STA     {$16}                
14697 | 40                    player.s   3067 | Code        | 11 |         |    1 | 00/7B82 : DA          |                          PHX                          
14698 | 40                    player.s   3068 | Code        | 11 |         |    3 | 00/7B83 : 20 93 7A    |                          JSR     _CartSlotY           ; Y = X*3 (reuse for loot slots)
14699 | 40                    player.s   3069 | Code        | 11 |         |    3 | 00/7B86 : 20 B4 7B    |                          JSR     _SavePrvLootSlot     
14700 | 40                    player.s   3070 | Code        | 11 |         |    3 | 00/7B89 : 20 AB 7E    |                          JSR     DrawSprite           
14701 | 40                    player.s   3071 | Code        | 11 |         |    1 | 00/7B8C : FA          |                          PLX                          
14702 | 40                    player.s   3072 | Code        | 11 |         |    2 | 00/7B8D : 80 08       |                          BRA     _dlNext              
14703 | 40                    player.s   3073 | Empty       | 11 |         |    0 | 00/7B8F               | _dlSkip                                               
14704 | 40                    player.s   3074 | Code        | 11 |         |    1 | 00/7B8F : DA          |                          PHX                          
14705 | 40                    player.s   3075 | Code        | 11 |         |    3 | 00/7B90 : 20 93 7A    |                          JSR     _CartSlotY           
14706 | 40                    player.s   3076 | Code        | 11 |         |    3 | 00/7B93 : 20 D8 7B    |                          JSR     _MarkPrvLootEmpty    
14707 | 40                    player.s   3077 | Code        | 11 |         |    1 | 00/7B96 : FA          |                          PLX                          
14708 | 40                    player.s   3078 | Code        | 11 |         |    1 | 00/7B97 : E8          | _dlNext                  INX                          
14709 | 40                    player.s   3079 | Code        | 11 |         |    2 | 00/7B98 : 80 96       |                          BRA     _dlLoop              
14710 | 40                    player.s   3080 | Code        | 11 |         |    1 | 00/7B9A : 60          | _dlDone                  RTS                          
14711 | 40                    player.s   3081 | Empty       | 11 |         |    0 | 00/7B9B               |                                                       
14712 | 40                    player.s   3082 | Comment     | 11 |         |    0 | 00/7B9B               | *----------------------------------------------
14713 | 40                    player.s   3083 | Comment     | 11 |         |    0 | 00/7B9B               | * ErasePreviewLoot - Erase preview loot at old positions
14714 | 40                    player.s   3084 | Comment     | 11 |         |    0 | 00/7B9B               | *----------------------------------------------
14715 | 40                    player.s   3085 | Empty       | 11 |         |    0 | 00/7B9B               | ErasePreviewLoot                                      
14716 | 40                    player.s   3086 | Code        | 11 |         |    2 | 00/7B9B : A2 00       |                          LDX     #0                   
14717 | 40                    player.s   3087 | Code        | 11 |         |    2 | 00/7B9D : E0 03       | _elLoop                  CPX     #{3}                 
14718 | 40                    player.s   3088 | Code        | 11 |         |    2 | 00/7B9F : B0 12       |                          BCS     _elDone              ; slot 3 skipped
14719 | 40                    player.s   3089 | Code        | 11 |         |    1 | 00/7BA1 : DA          |                          PHX                          
14720 | 40                    player.s   3090 | Code        | 11 |         |    3 | 00/7BA2 : 20 93 7A    |                          JSR     _CartSlotY           
14721 | 40                    player.s   3091 | Code        | 11 |         |    3 | 00/7BA5 : 20 E8 7B    |                          JSR     _LoadPrvLootSlot     
14722 | 40                    player.s   3092 | Code        | 11 |         |    2 | 00/7BA8 : C9 FF       |                          CMP     #$FF                 
14723 | 40                    player.s   3093 | Code        | 11 |         |    2 | 00/7BAA : F0 03       |                          BEQ     _elSkip              
14724 | 40                    player.s   3094 | Code        | 11 |         |    3 | 00/7BAC : 20 08 65    |                          JSR     EraseSpriteArea      
14725 | 40                    player.s   3095 | Code        | 11 |         |    1 | 00/7BAF : FA          | _elSkip                  PLX                          
14726 | 40                    player.s   3096 | Code        | 11 |         |    1 | 00/7BB0 : E8          |                          INX                          
14727 | 40                    player.s   3097 | Code        | 11 |         |    2 | 00/7BB1 : 80 EA       |                          BRA     _elLoop              
14728 | 40                    player.s   3098 | Code        | 11 |         |    1 | 00/7BB3 : 60          | _elDone                  RTS                          
14729 | 40                    player.s   3099 | Empty       | 11 |         |    0 | 00/7BB4               |                                                       
14730 | 40                    player.s   3100 | Comment     | 11 |         |    0 | 00/7BB4               | *----------------------------------------------
14731 | 40                    player.s   3101 | Comment     | 11 |         |    0 | 00/7BB4               | * Preview loot old-pos helpers (same pattern as cart preview)
14732 | 40                    player.s   3102 | Comment     | 11 |         |    0 | 00/7BB4               | *----------------------------------------------
14733 | 40                    player.s   3103 | Empty       | 11 |         |    0 | 00/7BB4               | _SavePrvLootSlot                                      
14734 | 40                    player.s   3104 | Code        | 11 |         |    2 | 00/7BB4 : A5 1E       |                          LDA     {$1E}                
14735 | 40                    player.s   3105 | Code        | 11 |         |    2 | 00/7BB6 : D0 10       |                          BNE     _slP1                
14736 | 40                    player.s   3106 | Code        | 11 |         |    2 | 00/7BB8 : A5 14       |                          LDA     {$14}                
14737 | 40                    player.s   3107 | Code        | 11 |         |    3 | 00/7BBA : 99 58 03    |                          STA     {$0358},Y            
14738 | 40                    player.s   3108 | Code        | 11 |         |    2 | 00/7BBD : A5 15       |                          LDA     {$15}                
14739 | 40                    player.s   3109 | Code        | 11 |         |    3 | 00/7BBF : 99 59 03    |                          STA     {$0358}+1,Y          
14740 | 40                    player.s   3110 | Code        | 11 |         |    2 | 00/7BC2 : A5 16       |                          LDA     {$16}                
14741 | 40                    player.s   3111 | Code        | 11 |         |    3 | 00/7BC4 : 99 5A 03    |                          STA     {$0358}+2,Y          
14742 | 40                    player.s   3112 | Code        | 11 |         |    1 | 00/7BC7 : 60          |                          RTS                          
14743 | 40                    player.s   3113 | Code        | 11 |         |    2 | 00/7BC8 : A5 14       | _slP1                    LDA     {$14}                
14744 | 40                    player.s   3114 | Code        | 11 |         |    3 | 00/7BCA : 99 61 03    |                          STA     {$0361},Y            
14745 | 40                    player.s   3115 | Code        | 11 |         |    2 | 00/7BCD : A5 15       |                          LDA     {$15}                
14746 | 40                    player.s   3116 | Code        | 11 |         |    3 | 00/7BCF : 99 62 03    |                          STA     {$0361}+1,Y          
14747 | 40                    player.s   3117 | Code        | 11 |         |    2 | 00/7BD2 : A5 16       |                          LDA     {$16}                
14748 | 40                    player.s   3118 | Code        | 11 |         |    3 | 00/7BD4 : 99 63 03    |                          STA     {$0361}+2,Y          
14749 | 40                    player.s   3119 | Code        | 11 |         |    1 | 00/7BD7 : 60          |                          RTS                          
14750 | 40                    player.s   3120 | Empty       | 11 |         |    0 | 00/7BD8               |                                                       
14751 | 40                    player.s   3121 | Empty       | 11 |         |    0 | 00/7BD8               | _MarkPrvLootEmpty                                     
14752 | 40                    player.s   3122 | Code        | 11 |         |    2 | 00/7BD8 : A5 1E       |                          LDA     {$1E}                
14753 | 40                    player.s   3123 | Code        | 11 |         |    2 | 00/7BDA : D0 06       |                          BNE     _mlP1                
14754 | 40                    player.s   3124 | Code        | 11 |         |    2 | 00/7BDC : A9 FF       |                          LDA     #$FF                 
14755 | 40                    player.s   3125 | Code        | 11 |         |    3 | 00/7BDE : 99 5A 03    |                          STA     {$0358}+2,Y          
14756 | 40                    player.s   3126 | Code        | 11 |         |    1 | 00/7BE1 : 60          |                          RTS                          
14757 | 40                    player.s   3127 | Code        | 11 |         |    2 | 00/7BE2 : A9 FF       | _mlP1                    LDA     #$FF                 
14758 | 40                    player.s   3128 | Code        | 11 |         |    3 | 00/7BE4 : 99 63 03    |                          STA     {$0361}+2,Y          
14759 | 40                    player.s   3129 | Code        | 11 |         |    1 | 00/7BE7 : 60          |                          RTS                          
14760 | 40                    player.s   3130 | Empty       | 11 |         |    0 | 00/7BE8               |                                                       
14761 | 40                    player.s   3131 | Empty       | 11 |         |    0 | 00/7BE8               | _LoadPrvLootSlot                                      
14762 | 40                    player.s   3132 | Code        | 11 |         |    2 | 00/7BE8 : A5 1E       |                          LDA     {$1E}                
14763 | 40                    player.s   3133 | Code        | 11 |         |    2 | 00/7BEA : D0 16       |                          BNE     _llP1                
14764 | 40                    player.s   3134 | Code        | 11 |         |    3 | 00/7BEC : B9 5A 03    |                          LDA     {$0358}+2,Y          
14765 | 40                    player.s   3135 | Code        | 11 |         |    2 | 00/7BEF : C9 FF       |                          CMP     #$FF                 
14766 | 40                    player.s   3136 | Code        | 11 |         |    2 | 00/7BF1 : F0 25       |                          BEQ     _llEmpty             
14767 | 40                    player.s   3137 | Code        | 11 |         |    2 | 00/7BF3 : 85 16       |                          STA     {$16}                
14768 | 40                    player.s   3138 | Code        | 11 |         |    3 | 00/7BF5 : B9 58 03    |                          LDA     {$0358},Y            
14769 | 40                    player.s   3139 | Code        | 11 |         |    2 | 00/7BF8 : 85 14       |                          STA     {$14}                
14770 | 40                    player.s   3140 | Code        | 11 |         |    3 | 00/7BFA : B9 59 03    |                          LDA     {$0358}+1,Y          
14771 | 40                    player.s   3141 | Code        | 11 |         |    2 | 00/7BFD : 85 15       |                          STA     {$15}                
14772 | 40                    player.s   3142 | Code        | 11 |         |    2 | 00/7BFF : A5 16       |                          LDA     {$16}                
14773 | 40                    player.s   3143 | Code        | 11 |         |    1 | 00/7C01 : 60          |                          RTS                          
14774 | 40                    player.s   3144 | Code        | 11 |         |    3 | 00/7C02 : B9 63 03    | _llP1                    LDA     {$0361}+2,Y          
14775 | 40                    player.s   3145 | Code        | 11 |         |    2 | 00/7C05 : C9 FF       |                          CMP     #$FF                 
14776 | 40                    player.s   3146 | Code        | 11 |         |    2 | 00/7C07 : F0 0F       |                          BEQ     _llEmpty             
14777 | 40                    player.s   3147 | Code        | 11 |         |    2 | 00/7C09 : 85 16       |                          STA     {$16}                
14778 | 40                    player.s   3148 | Code        | 11 |         |    3 | 00/7C0B : B9 61 03    |                          LDA     {$0361},Y            
14779 | 40                    player.s   3149 | Code        | 11 |         |    2 | 00/7C0E : 85 14       |                          STA     {$14}                
14780 | 40                    player.s   3150 | Code        | 11 |         |    3 | 00/7C10 : B9 62 03    |                          LDA     {$0361}+1,Y          
14781 | 40                    player.s   3151 | Code        | 11 |         |    2 | 00/7C13 : 85 15       |                          STA     {$15}                
14782 | 40                    player.s   3152 | Code        | 11 |         |    2 | 00/7C15 : A5 16       |                          LDA     {$16}                
14783 | 40                    player.s   3153 | Code        | 11 |         |    1 | 00/7C17 : 60          |                          RTS                          
14784 | 40                    player.s   3154 | Code        | 11 |         |    2 | 00/7C18 : A9 FF       | _llEmpty                 LDA     #$FF                 
14785 | 40                    player.s   3155 | Code        | 11 |         |    1 | 00/7C1A : 60          |                          RTS                          
14786 | 40                    player.s   3156 | Empty       | 11 |         |    0 | 00/7C1B               |                                                       
14787 | 40                    player.s   3157 | Empty       | 11 |         |    0 | 00/7C1B               | InitPrvLootOldPos                                     
14788 | 40                    player.s   3158 | Code        | 11 |         |    2 | 00/7C1B : A0 00       |                          LDY     #0                   
14789 | 40                    player.s   3159 | Code        | 11 |         |    2 | 00/7C1D : A9 FF       |                          LDA     #$FF                 
14790 | 40                    player.s   3160 | Code        | 11 |         |    3 | 00/7C1F : 99 5A 03    | _ilLoop                  STA     {$0358}+2,Y          
14791 | 40                    player.s   3161 | Code        | 11 |         |    3 | 00/7C22 : 99 63 03    |                          STA     {$0361}+2,Y          
14792 | 40                    player.s   3162 | Code        | 11 |         |    1 | 00/7C25 : C8          |                          INY                          
14793 | 40                    player.s   3163 | Code        | 11 |         |    1 | 00/7C26 : C8          |                          INY                          
14794 | 40                    player.s   3164 | Code        | 11 |         |    1 | 00/7C27 : C8          |                          INY                          
14795 | 40                    player.s   3165 | Code        | 11 |         |    2 | 00/7C28 : C0 09       |                          CPY     #9                   
14796 | 40                    player.s   3166 | Code        | 11 |         |    2 | 00/7C2A : 90 F3       |                          BCC     _ilLoop              
14797 | 40                    player.s   3167 | Code        | 11 |         |    1 | 00/7C2C : 60          |                          RTS                          
14798 | 40                    player.s   3168 | Empty       | 11 |         |    0 | 00/7C2D               |                                                       
14799 | 40                    player.s   3169 | Comment     | 11 |         |    0 | 00/7C2D               | *----------------------------------------------
14800 | 40                    player.s   3170 | Comment     | 11 |         |    0 | 00/7C2D               | * Preview wheelbarrow rendering
14801 | 40                    player.s   3171 | Comment     | 11 |         |    0 | 00/7C2D               | *----------------------------------------------
14802 | 40                    player.s   3172 | Empty       | 11 |         |    0 | 00/7C2D               |                                                       
14803 | 40                    player.s   3173 | Comment     | 11 |         |    0 | 00/7C2D               | * Per-page old positions for preview WB (1 sprite, 3 bytes each)
14804 | 40                    player.s   3174 | Equivalence | 11 |         |    0 | 00/7C2D               | PrvWBOldP0               =       $036A                ; page 0: X, Y, Fr
14805 | 40                    player.s   3175 | Equivalence | 11 |         |    0 | 00/7C2D               | PrvWBOldP1               =       $036D                ; page 1: X, Y, Fr
14806 | 40                    player.s   3176 | Empty       | 11 |         |    0 | 00/7C2D               |                                                       
14807 | 40                    player.s   3177 | Comment     | 11 |         |    0 | 00/7C2D               | *----------------------------------------------
14808 | 40                    player.s   3178 | Comment     | 11 |         |    0 | 00/7C2D               | * DrawPreviewWB - Draw wheelbarrow from adjacent map in preview area
14809 | 40                    player.s   3179 | Comment     | 11 |         |    0 | 00/7C2D               | *----------------------------------------------
14810 | 40                    player.s   3180 | Empty       | 11 |         |    0 | 00/7C2D               | DrawPreviewWB                                         
14811 | 40                    player.s   3181 | Comment     | 11 |         |    0 | 00/7C2D               | * WB must be on an adjacent map
14812 | 40                    player.s   3182 | Code        | 11 |         |    2 | 00/7C2D : A5 6D       |                          LDA     {$6D}                
14813 | 40                    player.s   3183 | Code        | 11 |         |    2 | 00/7C2F : C5 1C       |                          CMP     {$1C}                
14814 | 40                    player.s   3184 | Code        | 11 |         |    2 | 00/7C31 : F0 3B       |                          BEQ     _dwSkip              
14815 | 40                    player.s   3185 | Comment     | 11 |         |    0 | 00/7C33               | * Check left neighbor
14816 | 40                    player.s   3186 | Code        | 11 |         |    2 | 00/7C33 : A6 1C       |                          LDX     {$1C}                
14817 | 40                    player.s   3187 | Code        | 11 |         |    3 | 00/7C35 : BD B4 77    |                          LDA     CartAdjL,X           
14818 | 40                    player.s   3188 | Code        | 11 |         |    2 | 00/7C38 : C5 6D       |                          CMP     {$6D}                
14819 | 40                    player.s   3189 | Code        | 11 |         |    2 | 00/7C3A : D0 0D       |                          BNE     _dwChkR              
14820 | 40                    player.s   3190 | Comment     | 11 |         |    0 | 00/7C3C               | * Left neighbor: screenX = WBX - PREVIEW_OFS
14821 | 40                    player.s   3191 | Code        | 11 |         |    2 | 00/7C3C : A5 33       |                          LDA     {$33}                
14822 | 40                    player.s   3192 | Code        | 11 |         |    1 | 00/7C3E : 38          |                          SEC                          
14823 | 40                    player.s   3193 | Code        | 11 |         |    2 | 00/7C3F : E9 62       |                          SBC     #{98}                
14824 | 40                    player.s   3194 | Code        | 11 |         |    2 | 00/7C41 : 90 2B       |                          BCC     _dwSkip              
14825 | 40                    player.s   3195 | Code        | 11 |         |    2 | 00/7C43 : C9 86       |                          CMP     #134                 
14826 | 40                    player.s   3196 | Code        | 11 |         |    2 | 00/7C45 : B0 27       |                          BCS     _dwSkip              
14827 | 40                    player.s   3197 | Code        | 11 |         |    2 | 00/7C47 : 80 14       |                          BRA     _dwDraw              
14828 | 40                    player.s   3198 | Empty       | 11 |         |    0 | 00/7C49               | _dwChkR                                               
14829 | 40                    player.s   3199 | Code        | 11 |         |    2 | 00/7C49 : A6 1C       |                          LDX     {$1C}                
14830 | 40                    player.s   3200 | Code        | 11 |         |    3 | 00/7C4B : BD B7 77    |                          LDA     CartAdjR,X           
14831 | 40                    player.s   3201 | Code        | 11 |         |    2 | 00/7C4E : C5 6D       |                          CMP     {$6D}                
14832 | 40                    player.s   3202 | Code        | 11 |         |    2 | 00/7C50 : D0 1C       |                          BNE     _dwSkip              
14833 | 40                    player.s   3203 | Comment     | 11 |         |    0 | 00/7C52               | * Right neighbor: screenX = WBX + PREVIEW_OFS
14834 | 40                    player.s   3204 | Code        | 11 |         |    2 | 00/7C52 : A5 33       |                          LDA     {$33}                
14835 | 40                    player.s   3205 | Code        | 11 |         |    1 | 00/7C54 : 18          |                          CLC                          
14836 | 40                    player.s   3206 | Code        | 11 |         |    2 | 00/7C55 : 69 62       |                          ADC     #{98}                
14837 | 40                    player.s   3207 | Code        | 11 |         |    2 | 00/7C57 : B0 15       |                          BCS     _dwSkip              
14838 | 40                    player.s   3208 | Code        | 11 |         |    2 | 00/7C59 : C9 86       |                          CMP     #134                 
14839 | 40                    player.s   3209 | Code        | 11 |         |    2 | 00/7C5B : B0 11       |                          BCS     _dwSkip              
14840 | 40                    player.s   3210 | Empty       | 11 |         |    0 | 00/7C5D               | _dwDraw                                               
14841 | 40                    player.s   3211 | Code        | 11 |         |    2 | 00/7C5D : 85 14       |                          STA     {$14}                
14842 | 40                    player.s   3212 | Code        | 11 |         |    2 | 00/7C5F : A5 34       |                          LDA     {$34}                
14843 | 40                    player.s   3213 | Code        | 11 |         |    2 | 00/7C61 : 85 15       |                          STA     {$15}                
14844 | 40                    player.s   3214 | Code        | 11 |         |    2 | 00/7C63 : A5 35       |                          LDA     {$35}                
14845 | 40                    player.s   3215 | Code        | 11 |         |    2 | 00/7C65 : 85 16       |                          STA     {$16}                
14846 | 40                    player.s   3216 | Comment     | 11 |         |    0 | 00/7C67               | * Save old-pos before DrawSprite
14847 | 40                    player.s   3217 | Code        | 11 |         |    3 | 00/7C67 : 20 7D 7C    |                          JSR     _SavePrvWB           
14848 | 40                    player.s   3218 | Code        | 11 |         |    3 | 00/7C6A : 20 AB 7E    |                          JSR     DrawSprite           
14849 | 40                    player.s   3219 | Code        | 11 |         |    1 | 00/7C6D : 60          |                          RTS                          
14850 | 40                    player.s   3220 | Empty       | 11 |         |    0 | 00/7C6E               | _dwSkip                                               
14851 | 40                    player.s   3221 | Code        | 11 |         |    3 | 00/7C6E : 20 A1 7C    |                          JSR     _MarkPrvWBEmpty      
14852 | 40                    player.s   3222 | Code        | 11 |         |    1 | 00/7C71 : 60          |                          RTS                          
14853 | 40                    player.s   3223 | Empty       | 11 |         |    0 | 00/7C72               |                                                       
14854 | 40                    player.s   3224 | Comment     | 11 |         |    0 | 00/7C72               | *----------------------------------------------
14855 | 40                    player.s   3225 | Comment     | 11 |         |    0 | 00/7C72               | * ErasePreviewWB - Erase preview WB at old position
14856 | 40                    player.s   3226 | Comment     | 11 |         |    0 | 00/7C72               | *----------------------------------------------
14857 | 40                    player.s   3227 | Empty       | 11 |         |    0 | 00/7C72               | ErasePreviewWB                                        
14858 | 40                    player.s   3228 | Code        | 11 |         |    3 | 00/7C72 : 20 B1 7C    |                          JSR     _LoadPrvWB           
14859 | 40                    player.s   3229 | Code        | 11 |         |    2 | 00/7C75 : C9 FF       |                          CMP     #$FF                 
14860 | 40                    player.s   3230 | Code        | 11 |         |    2 | 00/7C77 : F0 03       |                          BEQ     _ewDone              
14861 | 40                    player.s   3231 | Code        | 11 |         |    3 | 00/7C79 : 20 08 65    |                          JSR     EraseSpriteArea      
14862 | 40                    player.s   3232 | Code        | 11 |         |    1 | 00/7C7C : 60          | _ewDone                  RTS                          
14863 | 40                    player.s   3233 | Empty       | 11 |         |    0 | 00/7C7D               |                                                       
14864 | 40                    player.s   3234 | Empty       | 11 |         |    0 | 00/7C7D               | _SavePrvWB                                            
14865 | 40                    player.s   3235 | Code        | 11 |         |    2 | 00/7C7D : A5 1E       |                          LDA     {$1E}                
14866 | 40                    player.s   3236 | Code        | 11 |         |    2 | 00/7C7F : D0 10       |                          BNE     _swP1                
14867 | 40                    player.s   3237 | Code        | 11 |         |    2 | 00/7C81 : A5 14       |                          LDA     {$14}                
14868 | 40                    player.s   3238 | Code        | 11 |         |    3 | 00/7C83 : 8D 6A 03    |                          STA     {$036A}              
14869 | 40                    player.s   3239 | Code        | 11 |         |    2 | 00/7C86 : A5 15       |                          LDA     {$15}                
14870 | 40                    player.s   3240 | Code        | 11 |         |    3 | 00/7C88 : 8D 6B 03    |                          STA     {$036A}+1            
14871 | 40                    player.s   3241 | Code        | 11 |         |    2 | 00/7C8B : A5 16       |                          LDA     {$16}                
14872 | 40                    player.s   3242 | Code        | 11 |         |    3 | 00/7C8D : 8D 6C 03    |                          STA     {$036A}+2            
14873 | 40                    player.s   3243 | Code        | 11 |         |    1 | 00/7C90 : 60          |                          RTS                          
14874 | 40                    player.s   3244 | Code        | 11 |         |    2 | 00/7C91 : A5 14       | _swP1                    LDA     {$14}                
14875 | 40                    player.s   3245 | Code        | 11 |         |    3 | 00/7C93 : 8D 6D 03    |                          STA     {$036D}              
14876 | 40                    player.s   3246 | Code        | 11 |         |    2 | 00/7C96 : A5 15       |                          LDA     {$15}                
14877 | 40                    player.s   3247 | Code        | 11 |         |    3 | 00/7C98 : 8D 6E 03    |                          STA     {$036D}+1            
14878 | 40                    player.s   3248 | Code        | 11 |         |    2 | 00/7C9B : A5 16       |                          LDA     {$16}                
14879 | 40                    player.s   3249 | Code        | 11 |         |    3 | 00/7C9D : 8D 6F 03    |                          STA     {$036D}+2            
14880 | 40                    player.s   3250 | Code        | 11 |         |    1 | 00/7CA0 : 60          |                          RTS                          
14881 | 40                    player.s   3251 | Empty       | 11 |         |    0 | 00/7CA1               |                                                       
14882 | 40                    player.s   3252 | Empty       | 11 |         |    0 | 00/7CA1               | _MarkPrvWBEmpty                                       
14883 | 40                    player.s   3253 | Code        | 11 |         |    2 | 00/7CA1 : A5 1E       |                          LDA     {$1E}                
14884 | 40                    player.s   3254 | Code        | 11 |         |    2 | 00/7CA3 : D0 06       |                          BNE     _mwP1                
14885 | 40                    player.s   3255 | Code        | 11 |         |    2 | 00/7CA5 : A9 FF       |                          LDA     #$FF                 
14886 | 40                    player.s   3256 | Code        | 11 |         |    3 | 00/7CA7 : 8D 6C 03    |                          STA     {$036A}+2            
14887 | 40                    player.s   3257 | Code        | 11 |         |    1 | 00/7CAA : 60          |                          RTS                          
14888 | 40                    player.s   3258 | Code        | 11 |         |    2 | 00/7CAB : A9 FF       | _mwP1                    LDA     #$FF                 
14889 | 40                    player.s   3259 | Code        | 11 |         |    3 | 00/7CAD : 8D 6F 03    |                          STA     {$036D}+2            
14890 | 40                    player.s   3260 | Code        | 11 |         |    1 | 00/7CB0 : 60          |                          RTS                          
14891 | 40                    player.s   3261 | Empty       | 11 |         |    0 | 00/7CB1               |                                                       
14892 | 40                    player.s   3262 | Empty       | 11 |         |    0 | 00/7CB1               | _LoadPrvWB                                            
14893 | 40                    player.s   3263 | Code        | 11 |         |    2 | 00/7CB1 : A5 1E       |                          LDA     {$1E}                
14894 | 40                    player.s   3264 | Code        | 11 |         |    2 | 00/7CB3 : D0 16       |                          BNE     _lwP1                
14895 | 40                    player.s   3265 | Code        | 11 |         |    3 | 00/7CB5 : AD 6C 03    |                          LDA     {$036A}+2            
14896 | 40                    player.s   3266 | Code        | 11 |         |    2 | 00/7CB8 : C9 FF       |                          CMP     #$FF                 
14897 | 40                    player.s   3267 | Code        | 11 |         |    2 | 00/7CBA : F0 25       |                          BEQ     _lwEmpty             
14898 | 40                    player.s   3268 | Code        | 11 |         |    2 | 00/7CBC : 85 16       |                          STA     {$16}                
14899 | 40                    player.s   3269 | Code        | 11 |         |    3 | 00/7CBE : AD 6A 03    |                          LDA     {$036A}              
14900 | 40                    player.s   3270 | Code        | 11 |         |    2 | 00/7CC1 : 85 14       |                          STA     {$14}                
14901 | 40                    player.s   3271 | Code        | 11 |         |    3 | 00/7CC3 : AD 6B 03    |                          LDA     {$036A}+1            
14902 | 40                    player.s   3272 | Code        | 11 |         |    2 | 00/7CC6 : 85 15       |                          STA     {$15}                
14903 | 40                    player.s   3273 | Code        | 11 |         |    2 | 00/7CC8 : A5 16       |                          LDA     {$16}                
14904 | 40                    player.s   3274 | Code        | 11 |         |    1 | 00/7CCA : 60          |                          RTS                          
14905 | 40                    player.s   3275 | Code        | 11 |         |    3 | 00/7CCB : AD 6F 03    | _lwP1                    LDA     {$036D}+2            
14906 | 40                    player.s   3276 | Code        | 11 |         |    2 | 00/7CCE : C9 FF       |                          CMP     #$FF                 
14907 | 40                    player.s   3277 | Code        | 11 |         |    2 | 00/7CD0 : F0 0F       |                          BEQ     _lwEmpty             
14908 | 40                    player.s   3278 | Code        | 11 |         |    2 | 00/7CD2 : 85 16       |                          STA     {$16}                
14909 | 40                    player.s   3279 | Code        | 11 |         |    3 | 00/7CD4 : AD 6D 03    |                          LDA     {$036D}              
14910 | 40                    player.s   3280 | Code        | 11 |         |    2 | 00/7CD7 : 85 14       |                          STA     {$14}                
14911 | 40                    player.s   3281 | Code        | 11 |         |    3 | 00/7CD9 : AD 6E 03    |                          LDA     {$036D}+1            
14912 | 40                    player.s   3282 | Code        | 11 |         |    2 | 00/7CDC : 85 15       |                          STA     {$15}                
14913 | 40                    player.s   3283 | Code        | 11 |         |    2 | 00/7CDE : A5 16       |                          LDA     {$16}                
14914 | 40                    player.s   3284 | Code        | 11 |         |    1 | 00/7CE0 : 60          |                          RTS                          
14915 | 40                    player.s   3285 | Code        | 11 |         |    2 | 00/7CE1 : A9 FF       | _lwEmpty                 LDA     #$FF                 
14916 | 40                    player.s   3286 | Code        | 11 |         |    1 | 00/7CE3 : 60          |                          RTS                          
14917 | 40                    player.s   3287 | Empty       | 11 |         |    0 | 00/7CE4               |                                                       
14918 | 40                    player.s   3288 | Empty       | 11 |         |    0 | 00/7CE4               | InitPrvWBOldPos                                       
14919 | 40                    player.s   3289 | Code        | 11 |         |    2 | 00/7CE4 : A9 FF       |                          LDA     #$FF                 
14920 | 40                    player.s   3290 | Code        | 11 |         |    3 | 00/7CE6 : 8D 6C 03    |                          STA     {$036A}+2            
14921 | 40                    player.s   3291 | Code        | 11 |         |    3 | 00/7CE9 : 8D 6F 03    |                          STA     {$036D}+2            
14922 | 40                    player.s   3292 | Code        | 11 |         |    1 | 00/7CEC : 60          |                          RTS                          
14923 | 40                    player.s   3293 | Empty       | 11 |         |    0 | 00/7CED               |                                                       
14924 | 40                    player.s   3294 | Comment     | 11 |         |    0 | 00/7CED               | *----------------------------------------------
14925 | 40                    player.s   3295 | Comment     | 11 |         |    0 | 00/7CED               | * Divide-by-7 lookup table for X→tile column
14926 | 40                    player.s   3296 | Comment     | 11 |         |    0 | 00/7CED               | * (alternative to repeated subtraction, for future optimization)
14927 | 40                    player.s   3297 | Comment     | 11 |         |    0 | 00/7CED               | *----------------------------------------------
14928 | 40                    player.s   3298 | Empty       | 11 |         |    0 | 00/7CED               |                                                       
14929 |  1                    bagman.s    125 | Directive   | 11 |         |    0 | 00/7CED               |                          PUT     render.s             
14930 | 41                    render.s      1 | Comment     | 11 |         |    0 | 00/7CED               | *
14931 | 41                    render.s      2 | Comment     | 11 |         |    0 | 00/7CED               | * Bagman - Tile Map Renderer + Sprite Renderer
14932 | 41                    render.s      3 | Comment     | 11 |         |    0 | 00/7CED               | *
14933 | 41                    render.s      4 | Empty       | 11 |         |    0 | 00/7CED               |                                                       
14934 | 41                    render.s      5 | Comment     | 11 |         |    0 | 00/7CED               | *----------------------------------------------
14935 | 41                    render.s      6 | Comment     | 11 |         |    0 | 00/7CED               | * DrawScreen - Render tile map to DHGR screen
14936 | 41                    render.s      7 | Comment     | 11 |         |    0 | 00/7CED               | *
14937 | 41                    render.s      8 | Comment     | 11 |         |    0 | 00/7CED               | * Input: MapPtr ($08) = pointer to tile map
14938 | 41                    render.s      9 | Comment     | 11 |         |    0 | 00/7CED               | * Clobbers: ScreenPtr, TilePtr, all renderer ZP
14939 | 41                    render.s     10 | Comment     | 11 |         |    0 | 00/7CED               | *----------------------------------------------
14940 | 41                    render.s     11 | Empty       | 11 |         |    0 | 00/7CED               | DrawScreenNoClear                                     
14941 | 41                    render.s     12 | Code        | 11 |         |    2 | 00/7CED : A9 00       |                          LDA     #0                   
14942 | 41                    render.s     13 | Code        | 11 |         |    2 | 00/7CEF : 80 05       |                          BRA     _dsEntry             
14943 | 41                    render.s     14 | Empty       | 11 |         |    0 | 00/7CF1               | DrawScreen                                            
14944 | 41                    render.s     15 | Code        | 11 |         |    3 | 00/7CF1 : 20 DC 0F    |                          JSR     DHGRClear            
14945 | 41                    render.s     16 | Code        | 11 |         |    2 | 00/7CF4 : A9 01       |                          LDA     #1                   
14946 | 41                    render.s     17 | Code        | 11 |         |    3 | 00/7CF6 : 8D 1A 7D    | _dsEntry                 STA     _dsSkip+1            ; SMC: 0=draw all tiles, 1=skip blanks
14947 | 41                    render.s     18 | Empty       | 11 |         |    0 | 00/7CF9               |                                                       
14948 | 41                    render.s     19 | Code        | 11 |         |    2 | 00/7CF9 : 64 0F       |                          STZ     {$0F}                
14949 | 41                    render.s     20 | Code        | 11 |         |    2 | 00/7CFB : 64 0C       |                          STZ     {$0C}                
14950 | 41                    render.s     21 | Empty       | 11 |         |    0 | 00/7CFD               |                                                       
14951 | 41                    render.s     22 | Code        | 11 |         |    2 | 00/7CFD : 64 0D       | ozunid_83                STZ     {$0D}                
14952 | 41                    render.s     23 | Empty       | 11 |         |    0 | 00/7CFF               |                                                       
14953 | 41                    render.s     24 | Empty       | 11 |         |    0 | 00/7CFF               | _subLoop                                              
14954 | 41                    render.s     25 | Comment     | 11 |         |    0 | 00/7CFF               | * Set screen address for this scanline (with page offset)
14955 | 41                    render.s     26 | Code        | 11 |         |    2 | 00/7CFF : A6 0F       |                          LDX     {$0F}                
14956 | 41                    render.s     27 | Code        | 11 |         |    3 | 00/7D01 : BD 26 81    |                          LDA     ScanAdrL,X           
14957 | 41                    render.s     28 | Code        | 11 |         |    2 | 00/7D04 : 85 00       |                          STA     {$00}                
14958 | 41                    render.s     29 | Code        | 11 |         |    3 | 00/7D06 : BD E6 81    |                          LDA     ScanAdrH,X           
14959 | 41                    render.s     30 | Code        | 11 |         |    1 | 00/7D09 : 18          |                          CLC                          
14960 | 41                    render.s     31 | Code        | 11 |         |    2 | 00/7D0A : 65 1E       |                          ADC     {$1E}                ; $00 for page 1, $20 for page 2
14961 | 41                    render.s     32 | Code        | 11 |         |    2 | 00/7D0C : 85 01       |                          STA     {$00}+1              
14962 | 41                    render.s     33 | Empty       | 11 |         |    0 | 00/7D0E               |                                                       
14963 | 41                    render.s     34 | Code        | 11 |         |    2 | 00/7D0E : A9 13       |                          LDA     #19                  
14964 | 41                    render.s     35 | Code        | 11 |         |    2 | 00/7D10 : 85 0E       |                          STA     {$0E}                
14965 | 41                    render.s     36 | Empty       | 11 |         |    0 | 00/7D12               |                                                       
14966 | 41                    render.s     37 | Empty       | 11 |         |    0 | 00/7D12               | _colLoop                                              
14967 | 41                    render.s     38 | Comment     | 11 |         |    0 | 00/7D12               | * Get tile ID from map
14968 | 41                    render.s     39 | Code        | 11 |         |    2 | 00/7D12 : A4 0E       |                          LDY     {$0E}                
14969 | 41                    render.s     40 | Code        | 11 |         |    2 | 00/7D14 : B1 08       |                          LDA     ({$08}),Y            
14970 | 41                    render.s     41 | Code        | 11 |         |    1 | 00/7D16 : AA          |                          TAX                          
14971 | 41                    render.s     42 | Code        | 11 |         |    2 | 00/7D17 : D0 04       |                          BNE     _drawTile            
14972 | 41                    render.s     43 | Code        | 11 |         |    2 | 00/7D19 : A9 01       | _dsSkip                  LDA     #1                   ; SMC: 0=draw blank tiles, nonzero=skip
14973 | 41                    render.s     44 | Code        | 11 |         |    2 | 00/7D1B : D0 3B       |                          BNE     _nextCol             
14974 | 41                    render.s     45 | Empty       | 11 |         |    0 | 00/7D1D               | _drawTile                                             
14975 | 41                    render.s     46 | Empty       | 11 |         |    0 | 00/7D1D               |                                                       
14976 | 41                    render.s     47 | Comment     | 11 |         |    0 | 00/7D1D               | * Look up tile atlas address
14977 | 41                    render.s     48 | Code        | 11 |         |    3 | 00/7D1D : BD 7E 85    |                          LDA     TileAddrL,X          
14978 | 41                    render.s     49 | Code        | 11 |         |    2 | 00/7D20 : 85 0A       |                          STA     {$0A}                
14979 | 41                    render.s     50 | Code        | 11 |         |    3 | 00/7D22 : BD 51 86    |                          LDA     TileAddrH,X          
14980 | 41                    render.s     51 | Code        | 11 |         |    2 | 00/7D25 : 85 0B       |                          STA     {$0A}+1              
14981 | 41                    render.s     52 | Empty       | 11 |         |    0 | 00/7D27               |                                                       
14982 | 41                    render.s     53 | Comment     | 11 |         |    0 | 00/7D27               | * Tile data offset (SubRow = 0,4,8,12,16,20)
14983 | 41                    render.s     54 | Code        | 11 |         |    2 | 00/7D27 : A4 0D       |                          LDY     {$0D}                
14984 | 41                    render.s     55 | Empty       | 11 |         |    0 | 00/7D29               |                                                       
14985 | 41                    render.s     56 | Comment     | 11 |         |    0 | 00/7D29               | * Load 4 bytes of tile data for this sub-row
14986 | 41                    render.s     57 | Code        | 11 |         |    2 | 00/7D29 : B1 0A       |                          LDA     ({$0A}),Y            
14987 | 41                    render.s     58 | Code        | 11 |         |    2 | 00/7D2B : 85 12       |                          STA     {$12}                
14988 | 41                    render.s     59 | Code        | 11 |         |    1 | 00/7D2D : C8          |                          INY                          
14989 | 41                    render.s     60 | Code        | 11 |         |    2 | 00/7D2E : B1 0A       |                          LDA     ({$0A}),Y            
14990 | 41                    render.s     61 | Code        | 11 |         |    2 | 00/7D30 : 85 13       |                          STA     {$13}                
14991 | 41                    render.s     62 | Code        | 11 |         |    1 | 00/7D32 : C8          |                          INY                          
14992 | 41                    render.s     63 | Code        | 11 |         |    2 | 00/7D33 : B1 0A       |                          LDA     ({$0A}),Y            
14993 | 41                    render.s     64 | Code        | 11 |         |    2 | 00/7D35 : 85 18       |                          STA     {$18}                
14994 | 41                    render.s     65 | Code        | 11 |         |    1 | 00/7D37 : C8          |                          INY                          
14995 | 41                    render.s     66 | Code        | 11 |         |    2 | 00/7D38 : B1 0A       |                          LDA     ({$0A}),Y            
14996 | 41                    render.s     67 | Code        | 11 |         |    2 | 00/7D3A : 85 19       |                          STA     {$19}                
14997 | 41                    render.s     68 | Empty       | 11 |         |    0 | 00/7D3C               |                                                       
14998 | 41                    render.s     69 | Comment     | 11 |         |    0 | 00/7D3C               | * Screen byte column = tile_col * 2
14999 | 41                    render.s     70 | Code        | 11 |         |    2 | 00/7D3C : A5 0E       |                          LDA     {$0E}                
15000 | 41                    render.s     71 | Code        | 11 |         |    1 | 00/7D3E : 0A          |                          ASL                          
15001 | 41                    render.s     72 | Code        | 11 |         |    1 | 00/7D3F : A8          |                          TAY                          
15002 | 41                    render.s     73 | Empty       | 11 |         |    0 | 00/7D40               |                                                       
15003 | 41                    render.s     74 | Comment     | 11 |         |    0 | 00/7D40               | * Write aux+main: aux0, aux1, main1, main0 (minimizes Y changes)
15004 | 41                    render.s     75 | Code        | 11 |         |    3 | 00/7D40 : 8D 05 C0    |                          STA     {$C005}              
15005 | 41                    render.s     76 | Code        | 11 |         |    2 | 00/7D43 : A5 12       |                          LDA     {$12}                
15006 | 41                    render.s     77 | Code        | 11 |         |    2 | 00/7D45 : 91 00       |                          STA     ({$00}),Y            ; aux byte 0
15007 | 41                    render.s     78 | Code        | 11 |         |    1 | 00/7D47 : C8          |                          INY                          
15008 | 41                    render.s     79 | Code        | 11 |         |    2 | 00/7D48 : A5 18       |                          LDA     {$18}                
15009 | 41                    render.s     80 | Code        | 11 |         |    2 | 00/7D4A : 91 00       |                          STA     ({$00}),Y            ; aux byte 1
15010 | 41                    render.s     81 | Code        | 11 |         |    3 | 00/7D4C : 8D 04 C0    |                          STA     {$C004}              
15011 | 41                    render.s     82 | Code        | 11 |         |    2 | 00/7D4F : A5 19       |                          LDA     {$19}                
15012 | 41                    render.s     83 | Code        | 11 |         |    2 | 00/7D51 : 91 00       |                          STA     ({$00}),Y            ; main byte 1
15013 | 41                    render.s     84 | Code        | 11 |         |    1 | 00/7D53 : 88          |                          DEY                          
15014 | 41                    render.s     85 | Code        | 11 |         |    2 | 00/7D54 : A5 13       |                          LDA     {$13}                
15015 | 41                    render.s     86 | Code        | 11 |         |    2 | 00/7D56 : 91 00       |                          STA     ({$00}),Y            ; main byte 0
15016 | 41                    render.s     87 | Empty       | 11 |         |    0 | 00/7D58               |                                                       
15017 | 41                    render.s     88 | Code        | 11 |         |    2 | 00/7D58 : C6 0E       | _nextCol                 DEC     {$0E}                
15018 | 41                    render.s     89 | Code        | 11 |         |    2 | 00/7D5A : 10 B6       |                          BPL     _colLoop             
15019 | 41                    render.s     90 | Empty       | 11 |         |    0 | 00/7D5C               |                                                       
15020 | 41                    render.s     91 | Comment     | 11 |         |    0 | 00/7D5C               | * Next sub-row (advance offset by 4)
15021 | 41                    render.s     92 | Code        | 11 |         |    2 | 00/7D5C : E6 0F       |                          INC     {$0F}                
15022 | 41                    render.s     93 | Code        | 11 |         |    2 | 00/7D5E : A5 0D       |                          LDA     {$0D}                
15023 | 41                    render.s     94 | Code        | 11 |         |    1 | 00/7D60 : 18          |                          CLC                          
15024 | 41                    render.s     95 | Code        | 11 |         |    2 | 00/7D61 : 69 04       |                          ADC     #4                   
15025 | 41                    render.s     96 | Code        | 11 |         |    2 | 00/7D63 : 85 0D       |                          STA     {$0D}                
15026 | 41                    render.s     97 | Code        | 11 |         |    2 | 00/7D65 : C9 18       |                          CMP     #24                  
15027 | 41                    render.s     98 | Code        | 11 |         |    2 | 00/7D67 : D0 96       |                          BNE     _subLoop             
15028 | 41                    render.s     99 | Empty       | 11 |         |    0 | 00/7D69               |                                                       
15029 | 41                    render.s    100 | Comment     | 11 |         |    0 | 00/7D69               | * Advance map pointer to next tile row (+20)
15030 | 41                    render.s    101 | Code        | 11 |         |    1 | 00/7D69 : 18          |                          CLC                          
15031 | 41                    render.s    102 | Code        | 11 |         |    2 | 00/7D6A : A5 08       |                          LDA     {$08}                
15032 | 41                    render.s    103 | Code        | 11 |         |    2 | 00/7D6C : 69 14       |                          ADC     #20                  
15033 | 41                    render.s    104 | Code        | 11 |         |    2 | 00/7D6E : 85 08       |                          STA     {$08}                
15034 | 41                    render.s    105 | Code        | 11 |         |    2 | 00/7D70 : A5 09       |                          LDA     {$08}+1              
15035 | 41                    render.s    106 | Code        | 11 |         |    2 | 00/7D72 : 69 00       |                          ADC     #0                   
15036 | 41                    render.s    107 | Code        | 11 |         |    2 | 00/7D74 : 85 09       |                          STA     {$08}+1              
15037 | 41                    render.s    108 | Empty       | 11 |         |    0 | 00/7D76               |                                                       
15038 | 41                    render.s    109 | Code        | 11 |         |    2 | 00/7D76 : E6 0C       |                          INC     {$0C}                
15039 | 41                    render.s    110 | Code        | 11 |         |    2 | 00/7D78 : A5 0C       |                          LDA     {$0C}                
15040 | 41                    render.s    111 | Code        | 11 |         |    2 | 00/7D7A : C9 20       |                          CMP     #32                  
15041 | 41                    render.s    112 | Code        | 11 |         |    2 | 00/7D7C : F0 03       |                          BEQ     _dsDone              
15042 | 41                    render.s    113 | Code        | 11 |         |    3 | 00/7D7E : 4C FD 7C    |                          JMP     ozunid_83            
15043 | 41                    render.s    114 | Empty       | 11 |         |    0 | 00/7D81               | _dsDone                                               
15044 | 41                    render.s    115 | Code        | 11 |         |    3 | 00/7D81 : 8D 04 C0    |                          STA     {$C004}              ; ensure main writes
15045 | 41                    render.s    116 | Code        | 11 |         |    1 | 00/7D84 : 60          |                          RTS                          
15046 | 41                    render.s    117 | Empty       | 11 |         |    0 | 00/7D85               |                                                       
15047 | 41                    render.s    118 | Comment     | 11 |         |    0 | 00/7D85               | * DrawScreenDelta lives in main LC bank 2 at $D400 (render_lc.s).
15048 | 41                    render.s    119 | Comment     | 11 |         |    0 | 00/7D85               | * LC bank 2 read is enabled during GameInit and stays on.
15049 | 41                    render.s    120 | Empty       | 11 |         |    0 | 00/7D85               |                                                       
15050 | 41                    render.s    121 | Comment     | 11 |         |    0 | 00/7D85               | *----------------------------------------------
15051 | 41                    render.s    122 | Comment     | 11 |         |    0 | 00/7D85               | * Debug: Collision overlay + tile ID display
15052 | 41                    render.s    123 | Comment     | 11 |         |    0 | 00/7D85               | *----------------------------------------------
15053 | 41                    render.s    124 | Directive   | 11 |         |    0 | 00/7D85               |                          DO      {0}                  
15054 | 41                    render.s    563 | Directive   | 11 |         |    0 | 00/7D85               |                          FIN                          ; end DO DEBUG_COLL
15055 | 41                    render.s    564 | Empty       | 11 |         |    0 | 00/7D85               |                                                       
15056 | 41                    render.s    565 | Comment     | 11 |         |    0 | 00/7D85               | *----------------------------------------------
15057 | 41                    render.s    566 | Comment     | 11 |         |    0 | 00/7D85               | * DbgShowTile - Display tile ID + player XY
15058 | 41                    render.s    567 | Comment     | 11 |         |    0 | 00/7D85               | *
15059 | 41                    render.s    568 | Comment     | 11 |         |    0 | 00/7D85               | * Shows tile ID (row 12) and player pixel XY in hex (row 13).
15060 | 41                    render.s    569 | Comment     | 11 |         |    0 | 00/7D85               | * Gated by DEBUG_TILE.
15061 | 41                    render.s    570 | Comment     | 11 |         |    0 | 00/7D85               | *----------------------------------------------
15062 | 41                    render.s    571 | Empty       | 11 |         |    0 | 00/7D85               | DbgShowTile                                           
15063 | 41                    render.s    572 | Comment     | 11 |         |    0 | 00/7D85               | * Tile col = PlayerX / 7
15064 | 41                    render.s    573 | Code        | 11 |         |    2 | 00/7D85 : A5 70       |                          LDA     {$70}                
15065 | 41                    render.s    574 | Code        | 11 |         |    2 | 00/7D87 : A2 00       |                          LDX     #0                   
15066 | 41                    render.s    575 | Code        | 11 |         |    1 | 00/7D89 : 38          |                          SEC                          
15067 | 41                    render.s    576 | Code        | 11 |         |    2 | 00/7D8A : C9 07       | _dtDvX                   CMP     #7                   
15068 | 41                    render.s    577 | Code        | 11 |         |    2 | 00/7D8C : 90 05       |                          BCC     _dtDvXd              
15069 | 41                    render.s    578 | Code        | 11 |         |    2 | 00/7D8E : E9 07       |                          SBC     #7                   
15070 | 41                    render.s    579 | Code        | 11 |         |    1 | 00/7D90 : E8          |                          INX                          
15071 | 41                    render.s    580 | Code        | 11 |         |    2 | 00/7D91 : 80 F7       |                          BRA     _dtDvX               
15072 | 41                    render.s    581 | Code        | 11 |         |    2 | 00/7D93 : 86 18       | _dtDvXd                  STX     {$18}                
15073 | 41                    render.s    582 | Empty       | 11 |         |    0 | 00/7D95               |                                                       
15074 | 41                    render.s    583 | Comment     | 11 |         |    0 | 00/7D95               | * Tile row = (PlayerY + 11) / 6
15075 | 41                    render.s    584 | Code        | 11 |         |    2 | 00/7D95 : A5 71       |                          LDA     {$71}                
15076 | 41                    render.s    585 | Code        | 11 |         |    1 | 00/7D97 : 18          |                          CLC                          
15077 | 41                    render.s    586 | Code        | 11 |         |    2 | 00/7D98 : 69 0B       |                          ADC     #11                  
15078 | 41                    render.s    587 | Code        | 11 |         |    2 | 00/7D9A : A2 00       |                          LDX     #0                   
15079 | 41                    render.s    588 | Code        | 11 |         |    1 | 00/7D9C : 38          |                          SEC                          
15080 | 41                    render.s    589 | Code        | 11 |         |    2 | 00/7D9D : C9 06       | _dtDvY                   CMP     #6                   
15081 | 41                    render.s    590 | Code        | 11 |         |    2 | 00/7D9F : 90 05       |                          BCC     _dtDvYd              
15082 | 41                    render.s    591 | Code        | 11 |         |    2 | 00/7DA1 : E9 06       |                          SBC     #6                   
15083 | 41                    render.s    592 | Code        | 11 |         |    1 | 00/7DA3 : E8          |                          INX                          
15084 | 41                    render.s    593 | Code        | 11 |         |    2 | 00/7DA4 : 80 F7       |                          BRA     _dtDvY               
15085 | 41                    render.s    594 | Code        | 11 |         |    2 | 00/7DA6 : 86 19       | _dtDvYd                  STX     {$19}                
15086 | 41                    render.s    595 | Empty       | 11 |         |    0 | 00/7DA8               |                                                       
15087 | 41                    render.s    596 | Comment     | 11 |         |    0 | 00/7DA8               | * Look up tile map base for current map
15088 | 41                    render.s    597 | Code        | 11 |         |    2 | 00/7DA8 : A5 1C       |                          LDA     {$1C}                
15089 | 41                    render.s    598 | Code        | 11 |         |    1 | 00/7DAA : 0A          |                          ASL                          
15090 | 41                    render.s    599 | Code        | 11 |         |    1 | 00/7DAB : AA          |                          TAX                          
15091 | 41                    render.s    600 | Code        | 11 |         |    3 | 00/7DAC : BD 02 65    |                          LDA     MapPtrTbl,X          
15092 | 41                    render.s    601 | Code        | 11 |         |    2 | 00/7DAF : 85 0A       |                          STA     {$0A}                
15093 | 41                    render.s    602 | Code        | 11 |         |    3 | 00/7DB1 : BD 03 65    |                          LDA     MapPtrTbl+1,X        
15094 | 41                    render.s    603 | Code        | 11 |         |    2 | 00/7DB4 : 85 0B       |                          STA     {$0A}+1              
15095 | 41                    render.s    604 | Comment     | 11 |         |    0 | 00/7DB6               | * Advance to tile row
15096 | 41                    render.s    605 | Code        | 11 |         |    2 | 00/7DB6 : A6 19       |                          LDX     {$19}                
15097 | 41                    render.s    606 | Code        | 11 |         |    2 | 00/7DB8 : F0 10       |                          BEQ     _dtReady             
15098 | 41                    render.s    607 | Code        | 11 |         |    1 | 00/7DBA : 18          | _dtAdv                   CLC                          
15099 | 41                    render.s    608 | Code        | 11 |         |    2 | 00/7DBB : A5 0A       |                          LDA     {$0A}                
15100 | 41                    render.s    609 | Code        | 11 |         |    2 | 00/7DBD : 69 14       |                          ADC     #20                  
15101 | 41                    render.s    610 | Code        | 11 |         |    2 | 00/7DBF : 85 0A       |                          STA     {$0A}                
15102 | 41                    render.s    611 | Code        | 11 |         |    2 | 00/7DC1 : A5 0B       |                          LDA     {$0A}+1              
15103 | 41                    render.s    612 | Code        | 11 |         |    2 | 00/7DC3 : 69 00       |                          ADC     #0                   
15104 | 41                    render.s    613 | Code        | 11 |         |    2 | 00/7DC5 : 85 0B       |                          STA     {$0A}+1              
15105 | 41                    render.s    614 | Code        | 11 |         |    1 | 00/7DC7 : CA          |                          DEX                          
15106 | 41                    render.s    615 | Code        | 11 |         |    2 | 00/7DC8 : D0 F0       |                          BNE     _dtAdv               
15107 | 41                    render.s    616 | Code        | 11 |         |    2 | 00/7DCA : A4 18       | _dtReady                 LDY     {$18}                
15108 | 41                    render.s    617 | Code        | 11 |         |    2 | 00/7DCC : B1 0A       |                          LDA     ({$0A}),Y            ; tile ID
15109 | 41                    render.s    618 | Code        | 11 |         |    2 | 00/7DCE : 85 1A       |                          STA     {$1A}                
15110 | 41                    render.s    619 | Empty       | 11 |         |    0 | 00/7DD0               |                                                       
15111 | 41                    render.s    620 | Comment     | 11 |         |    0 | 00/7DD0               | * Convert to 2 hex ASCII chars
15112 | 41                    render.s    621 | Code        | 11 |         |    1 | 00/7DD0 : 4A          |                          LSR                          
15113 | 41                    render.s    622 | Code        | 11 |         |    1 | 00/7DD1 : 4A          |                          LSR                          
15114 | 41                    render.s    623 | Code        | 11 |         |    1 | 00/7DD2 : 4A          |                          LSR                          
15115 | 41                    render.s    624 | Code        | 11 |         |    1 | 00/7DD3 : 4A          |                          LSR                          
15116 | 41                    render.s    625 | Code        | 11 |         |    3 | 00/7DD4 : 20 9A 7E    |                          JSR     _dtHex               
15117 | 41                    render.s    626 | Code        | 11 |         |    3 | 00/7DD7 : 8D A3 7E    |                          STA     _dtStr               
15118 | 41                    render.s    627 | Code        | 11 |         |    2 | 00/7DDA : A5 1A       |                          LDA     {$1A}                
15119 | 41                    render.s    628 | Code        | 11 |         |    2 | 00/7DDC : 29 0F       |                          AND     #$0F                 
15120 | 41                    render.s    629 | Code        | 11 |         |    3 | 00/7DDE : 20 9A 7E    |                          JSR     _dtHex               
15121 | 41                    render.s    630 | Code        | 11 |         |    3 | 00/7DE1 : 8D A4 7E    |                          STA     _dtStr+1             
15122 | 41                    render.s    631 | Empty       | 11 |         |    0 | 00/7DE4               |                                                       
15123 | 41                    render.s    632 | Comment     | 11 |         |    0 | 00/7DE4               | * Clear text area (rows 12-13: scanlines 96-111, 5 byte cols)
15124 | 41                    render.s    633 | Code        | 11 |         |    2 | 00/7DE4 : A9 60       |                          LDA     #96                  
15125 | 41                    render.s    634 | Code        | 11 |         |    2 | 00/7DE6 : 85 18       |                          STA     {$18}                
15126 | 41                    render.s    635 | Code        | 11 |         |    2 | 00/7DE8 : A9 10       |                          LDA     #16                  ; 2 rows x 8 scanlines
15127 | 41                    render.s    636 | Code        | 11 |         |    2 | 00/7DEA : 85 19       |                          STA     {$19}                
15128 | 41                    render.s    637 | Code        | 11 |         |    2 | 00/7DEC : A6 18       | _dtClr                   LDX     {$18}                
15129 | 41                    render.s    638 | Code        | 11 |         |    2 | 00/7DEE : E0 C0       |                          CPX     #192                 
15130 | 41                    render.s    639 | Code        | 11 |         |    2 | 00/7DF0 : B0 2D       |                          BCS     _dtDraw              
15131 | 41                    render.s    640 | Code        | 11 |         |    3 | 00/7DF2 : BD 26 81    |                          LDA     ScanAdrL,X           
15132 | 41                    render.s    641 | Code        | 11 |         |    2 | 00/7DF5 : 85 00       |                          STA     {$00}                
15133 | 41                    render.s    642 | Code        | 11 |         |    3 | 00/7DF7 : BD E6 81    |                          LDA     ScanAdrH,X           
15134 | 41                    render.s    643 | Code        | 11 |         |    1 | 00/7DFA : 18          |                          CLC                          
15135 | 41                    render.s    644 | Code        | 11 |         |    2 | 00/7DFB : 65 1E       |                          ADC     {$1E}                
15136 | 41                    render.s    645 | Code        | 11 |         |    2 | 00/7DFD : 85 01       |                          STA     {$00}+1              
15137 | 41                    render.s    646 | Code        | 11 |         |    2 | 00/7DFF : A9 00       |                          LDA     #0                   
15138 | 41                    render.s    647 | Code        | 11 |         |    2 | 00/7E01 : A0 00       |                          LDY     #0                   
15139 | 41                    render.s    648 | Code        | 11 |         |    3 | 00/7E03 : 8D 05 C0    |                          STA     {$C005}              
15140 | 41                    render.s    649 | Code        | 11 |         |    2 | 00/7E06 : 91 00       | _dtClA                   STA     ({$00}),Y            
15141 | 41                    render.s    650 | Code        | 11 |         |    1 | 00/7E08 : C8          |                          INY                          
15142 | 41                    render.s    651 | Code        | 11 |         |    2 | 00/7E09 : C0 05       |                          CPY     #5                   
15143 | 41                    render.s    652 | Code        | 11 |         |    2 | 00/7E0B : D0 F9       |                          BNE     _dtClA               
15144 | 41                    render.s    653 | Code        | 11 |         |    3 | 00/7E0D : 8D 04 C0    |                          STA     {$C004}              
15145 | 41                    render.s    654 | Code        | 11 |         |    2 | 00/7E10 : A0 00       |                          LDY     #0                   
15146 | 41                    render.s    655 | Code        | 11 |         |    2 | 00/7E12 : 91 00       | _dtClM                   STA     ({$00}),Y            
15147 | 41                    render.s    656 | Code        | 11 |         |    1 | 00/7E14 : C8          |                          INY                          
15148 | 41                    render.s    657 | Code        | 11 |         |    2 | 00/7E15 : C0 05       |                          CPY     #5                   
15149 | 41                    render.s    658 | Code        | 11 |         |    2 | 00/7E17 : D0 F9       |                          BNE     _dtClM               
15150 | 41                    render.s    659 | Code        | 11 |         |    2 | 00/7E19 : E6 18       |                          INC     {$18}                
15151 | 41                    render.s    660 | Code        | 11 |         |    2 | 00/7E1B : C6 19       |                          DEC     {$19}                
15152 | 41                    render.s    661 | Code        | 11 |         |    2 | 00/7E1D : D0 CD       |                          BNE     _dtClr               
15153 | 41                    render.s    662 | Empty       | 11 |         |    0 | 00/7E1F               |                                                       
15154 | 41                    render.s    663 | Code        | 11 |         |    3 | 00/7E1F : 8D 04 C0    | _dtDraw                  STA     {$C004}              
15155 | 41                    render.s    664 | Comment     | 11 |         |    0 | 00/7E22               | * Draw tile ID on row 12 (DrawText lives in aux LC -> trampoline)
15156 | 41                    render.s    665 | Code        | 11 |         |    2 | 00/7E22 : A5 1E       |                          LDA     {$1E}                
15157 | 41                    render.s    666 | Code        | 11 |         |    3 | 00/7E24 : 8D 0C 03    |                          STA     $030C                ; pass PageOfs to aux-LC DrawText
15158 | 41                    render.s    667 | Code        | 11 |         |    2 | 00/7E27 : A9 A3       |                          LDA     #<_dtStr             
15159 | 41                    render.s    668 | Code        | 11 |         |    3 | 00/7E29 : 8D 06 03    |                          STA     $0306                
15160 | 41                    render.s    669 | Code        | 11 |         |    2 | 00/7E2C : A9 7E       |                          LDA     #>_dtStr             
15161 | 41                    render.s    670 | Code        | 11 |         |    3 | 00/7E2E : 8D 07 03    |                          STA     $0307                
15162 | 41                    render.s    671 | Code        | 11 |         |    2 | 00/7E31 : A9 0C       |                          LDA     #12                  
15163 | 41                    render.s    672 | Code        | 11 |         |    3 | 00/7E33 : 8D 08 03    |                          STA     $0308                ; TextRow
15164 | 41                    render.s    673 | Code        | 11 |         |    2 | 00/7E36 : A9 00       |                          LDA     #0                   
15165 | 41                    render.s    674 | Code        | 11 |         |    3 | 00/7E38 : 8D 09 03    |                          STA     $0309                ; TextCol
15166 | 41                    render.s    675 | Code        | 11 |         |    2 | 00/7E3B : A9 00       |                          LDA     #<AuxDrawText        
15167 | 41                    render.s    676 | Code        | 11 |         |    3 | 00/7E3D : 8D 02 03    |                          STA     $0302                
15168 | 41                    render.s    677 | Code        | 11 |         |    2 | 00/7E40 : A9 D1       |                          LDA     #>AuxDrawText        
15169 | 41                    render.s    678 | Code        | 11 |         |    3 | 00/7E42 : 8D 03 03    |                          STA     $0303                
15170 | 41                    render.s    679 | Code        | 11 |         |    3 | 00/7E45 : 20 1F 09    |                          JSR     AuxLCCall            
15171 | 41                    render.s    680 | Comment     | 11 |         |    0 | 00/7E48               | * Build XY string for row 13: "XX,YY"
15172 | 41                    render.s    681 | Code        | 11 |         |    2 | 00/7E48 : A5 70       |                          LDA     {$70}                
15173 | 41                    render.s    682 | Code        | 11 |         |    1 | 00/7E4A : 4A          |                          LSR                          
15174 | 41                    render.s    683 | Code        | 11 |         |    1 | 00/7E4B : 4A          |                          LSR                          
15175 | 41                    render.s    684 | Code        | 11 |         |    1 | 00/7E4C : 4A          |                          LSR                          
15176 | 41                    render.s    685 | Code        | 11 |         |    1 | 00/7E4D : 4A          |                          LSR                          
15177 | 41                    render.s    686 | Code        | 11 |         |    3 | 00/7E4E : 20 9A 7E    |                          JSR     _dtHex               
15178 | 41                    render.s    687 | Code        | 11 |         |    3 | 00/7E51 : 8D A6 7E    |                          STA     _dtXY                
15179 | 41                    render.s    688 | Code        | 11 |         |    2 | 00/7E54 : A5 70       |                          LDA     {$70}                
15180 | 41                    render.s    689 | Code        | 11 |         |    2 | 00/7E56 : 29 0F       |                          AND     #$0F                 
15181 | 41                    render.s    690 | Code        | 11 |         |    3 | 00/7E58 : 20 9A 7E    |                          JSR     _dtHex               
15182 | 41                    render.s    691 | Code        | 11 |         |    3 | 00/7E5B : 8D A7 7E    |                          STA     _dtXY+1              
15183 | 41                    render.s    692 | Code        | 11 |         |    2 | 00/7E5E : A5 71       |                          LDA     {$71}                
15184 | 41                    render.s    693 | Code        | 11 |         |    1 | 00/7E60 : 4A          |                          LSR                          
15185 | 41                    render.s    694 | Code        | 11 |         |    1 | 00/7E61 : 4A          |                          LSR                          
15186 | 41                    render.s    695 | Code        | 11 |         |    1 | 00/7E62 : 4A          |                          LSR                          
15187 | 41                    render.s    696 | Code        | 11 |         |    1 | 00/7E63 : 4A          |                          LSR                          
15188 | 41                    render.s    697 | Code        | 11 |         |    3 | 00/7E64 : 20 9A 7E    |                          JSR     _dtHex               
15189 | 41                    render.s    698 | Code        | 11 |         |    3 | 00/7E67 : 8D A8 7E    |                          STA     _dtXY+2              
15190 | 41                    render.s    699 | Code        | 11 |         |    2 | 00/7E6A : A5 71       |                          LDA     {$71}                
15191 | 41                    render.s    700 | Code        | 11 |         |    2 | 00/7E6C : 29 0F       |                          AND     #$0F                 
15192 | 41                    render.s    701 | Code        | 11 |         |    3 | 00/7E6E : 20 9A 7E    |                          JSR     _dtHex               
15193 | 41                    render.s    702 | Code        | 11 |         |    3 | 00/7E71 : 8D A9 7E    |                          STA     _dtXY+3              
15194 | 41                    render.s    703 | Comment     | 11 |         |    0 | 00/7E74               | * Draw XY on row 13 (DrawText lives in aux LC -> trampoline)
15195 | 41                    render.s    704 | Code        | 11 |         |    2 | 00/7E74 : A5 1E       |                          LDA     {$1E}                
15196 | 41                    render.s    705 | Code        | 11 |         |    3 | 00/7E76 : 8D 0C 03    |                          STA     $030C                ; pass PageOfs to aux-LC DrawText
15197 | 41                    render.s    706 | Code        | 11 |         |    2 | 00/7E79 : A9 A6       |                          LDA     #<_dtXY              
15198 | 41                    render.s    707 | Code        | 11 |         |    3 | 00/7E7B : 8D 06 03    |                          STA     $0306                
15199 | 41                    render.s    708 | Code        | 11 |         |    2 | 00/7E7E : A9 7E       |                          LDA     #>_dtXY              
15200 | 41                    render.s    709 | Code        | 11 |         |    3 | 00/7E80 : 8D 07 03    |                          STA     $0307                
15201 | 41                    render.s    710 | Code        | 11 |         |    2 | 00/7E83 : A9 0D       |                          LDA     #13                  
15202 | 41                    render.s    711 | Code        | 11 |         |    3 | 00/7E85 : 8D 08 03    |                          STA     $0308                ; TextRow
15203 | 41                    render.s    712 | Code        | 11 |         |    2 | 00/7E88 : A9 00       |                          LDA     #0                   
15204 | 41                    render.s    713 | Code        | 11 |         |    3 | 00/7E8A : 8D 09 03    |                          STA     $0309                ; TextCol
15205 | 41                    render.s    714 | Code        | 11 |         |    2 | 00/7E8D : A9 00       |                          LDA     #<AuxDrawText        
15206 | 41                    render.s    715 | Code        | 11 |         |    3 | 00/7E8F : 8D 02 03    |                          STA     $0302                
15207 | 41                    render.s    716 | Code        | 11 |         |    2 | 00/7E92 : A9 D1       |                          LDA     #>AuxDrawText        
15208 | 41                    render.s    717 | Code        | 11 |         |    3 | 00/7E94 : 8D 03 03    |                          STA     $0303                
15209 | 41                    render.s    718 | Code        | 11 |         |    3 | 00/7E97 : 4C 1F 09    |                          JMP     AuxLCCall            
15210 | 41                    render.s    719 | Empty       | 11 |         |    0 | 00/7E9A               |                                                       
15211 | 41                    render.s    720 | Code        | 11 |         |    2 | 00/7E9A : C9 0A       | _dtHex                   CMP     #$0A                 
15212 | 41                    render.s    721 | Code        | 11 |         |    2 | 00/7E9C : 90 02       |                          BCC     _dtDig               
15213 | 41                    render.s    722 | Code        | 11 |         |    2 | 00/7E9E : 69 06       |                          ADC     #6                   
15214 | 41                    render.s    723 | Code        | 11 |         |    2 | 00/7EA0 : 69 30       | _dtDig                   ADC     #$30                 
15215 | 41                    render.s    724 | Code        | 11 |         |    1 | 00/7EA2 : 60          |                          RTS                          
15216 | 41                    render.s    725 | Empty       | 11 |         |    0 | 00/7EA3               |                                                       
15217 | 41                    render.s    726 | Data        | 11 |         |    2 | 00/7EA3 : 30 30       | _dtStr                   ASC     '00'                 
15218 | 41                    render.s    727 | Data        | 11 |         |    1 | 00/7EA5 : 00          |                          DFB     $00                  
15219 | 41                    render.s    728 | Data        | 11 |         |    4 | 00/7EA6 : 30 30 30 30 | _dtXY                    ASC     '0000'               
15220 | 41                    render.s    729 | Data        | 11 |         |    1 | 00/7EAA : 00          |                          DFB     $00                  
15221 | 41                    render.s    730 | Empty       | 11 |         |    0 | 00/7EAB               |                                                       
15222 | 41                    render.s    731 | Comment     | 11 |         |    0 | 00/7EAB               | *----------------------------------------------
15223 | 41                    render.s    732 | Comment     | 11 |         |    0 | 00/7EAB               | * DrawSprite - Draw pre-shifted sprite with masking
15224 | 41                    render.s    733 | Comment     | 11 |         |    0 | 00/7EAB               | *
15225 | 41                    render.s    734 | Comment     | 11 |         |    0 | 00/7EAB               | * Input: SprFrame = sprite index (0-48)
15226 | 41                    render.s    735 | Comment     | 11 |         |    0 | 00/7EAB               | *        SprX = pixel X position (0-133)
15227 | 41                    render.s    736 | Comment     | 11 |         |    0 | 00/7EAB               | *        SprY = scanline Y position (0-180)
15228 | 41                    render.s    737 | Comment     | 11 |         |    0 | 00/7EAB               | *
15229 | 41                    render.s    738 | Comment     | 11 |         |    0 | 00/7EAB               | * Reads pre-shifted sprite data from aux via RAMRDAUX.
15230 | 41                    render.s    739 | Comment     | 11 |         |    0 | 00/7EAB               | * Composites: screen = (screen AND mask) OR sprite
15231 | 41                    render.s    740 | Comment     | 11 |         |    0 | 00/7EAB               | *----------------------------------------------
15232 | 41                    render.s    741 | Equivalence | 11 |         |    0 | 00/7EAB               | SprBuf                   =       $38                  ; 8 bytes - sprite row data
15233 | 41                    render.s    742 | Equivalence | 11 |         |    0 | 00/7EAB               | MskBuf                   =       $40                  ; 8 bytes - expanded mask
15234 | 41                    render.s    743 | Empty       | 11 |         |    0 | 00/7EAB               |                                                       
15235 | 41                    render.s    744 | Empty       | 11 |         |    0 | 00/7EAB               | DrawSprite                                            
15236 | 41                    render.s    745 | Comment     | 11 |         |    0 | 00/7EAB               | * Compute shift = SprX mod 7, byte column = (SprX / 7) * 2
15237 | 41                    render.s    746 | Code        | 11 |         |    2 | 00/7EAB : A6 14       |                          LDX     {$14}                
15238 | 41                    render.s    747 | Code        | 11 |         |    3 | 00/7EAD : BD 32 83    |                          LDA     XMod7,X              
15239 | 41                    render.s    748 | Code        | 11 |         |    2 | 00/7EB0 : 85 1A       |                          STA     {$1A}                ; shift (0-6)
15240 | 41                    render.s    749 | Code        | 11 |         |    3 | 00/7EB2 : BD A6 82    |                          LDA     XDiv7,X              
15241 | 41                    render.s    750 | Code        | 11 |         |    1 | 00/7EB5 : 0A          |                          ASL                          
15242 | 41                    render.s    751 | Code        | 11 |         |    2 | 00/7EB6 : 85 1B       |                          STA     {$1B}                ; screen byte column
15243 | 41                    render.s    752 | Empty       | 11 |         |    0 | 00/7EB8               |                                                       
15244 | 41                    render.s    753 | Comment     | 11 |         |    0 | 00/7EB8               | * Set up source pointer: SprAuxAddr[frame] + ShiftOfs[shift]
15245 | 41                    render.s    754 | Code        | 11 |         |    2 | 00/7EB8 : A6 16       |                          LDX     {$16}                
15246 | 41                    render.s    755 | Code        | 11 |         |    1 | 00/7EBA : 18          |                          CLC                          
15247 | 41                    render.s    756 | Code        | 11 |         |    3 | 00/7EBB : BD E6 89    |                          LDA     SprAuxAddrL,X        
15248 | 41                    render.s    757 | Code        | 11 |         |    2 | 00/7EBE : 85 04       |                          STA     {$04}                
15249 | 41                    render.s    758 | Code        | 11 |         |    3 | 00/7EC0 : BD 17 8A    |                          LDA     SprAuxAddrH,X        
15250 | 41                    render.s    759 | Code        | 11 |         |    2 | 00/7EC3 : 85 05       |                          STA     {$04}+1              
15251 | 41                    render.s    760 | Empty       | 11 |         |    0 | 00/7EC5               |                                                       
15252 | 41                    render.s    761 | Code        | 11 |         |    2 | 00/7EC5 : A6 1A       |                          LDX     {$1A}                
15253 | 41                    render.s    762 | Code        | 11 |         |    1 | 00/7EC7 : 18          |                          CLC                          
15254 | 41                    render.s    763 | Code        | 11 |         |    2 | 00/7EC8 : A5 04       |                          LDA     {$04}                
15255 | 41                    render.s    764 | Code        | 11 |         |    3 | 00/7ECA : 7D 48 8A    |                          ADC     ShiftOfsL,X          
15256 | 41                    render.s    765 | Code        | 11 |         |    2 | 00/7ECD : 85 04       |                          STA     {$04}                
15257 | 41                    render.s    766 | Code        | 11 |         |    2 | 00/7ECF : A5 05       |                          LDA     {$04}+1              
15258 | 41                    render.s    767 | Code        | 11 |         |    3 | 00/7ED1 : 7D 4F 8A    |                          ADC     ShiftOfsH,X          
15259 | 41                    render.s    768 | Code        | 11 |         |    2 | 00/7ED4 : 85 05       |                          STA     {$04}+1              
15260 | 41                    render.s    769 | Empty       | 11 |         |    0 | 00/7ED6               |                                                       
15261 | 41                    render.s    770 | Comment     | 11 |         |    0 | 00/7ED6               | * Set up compressed mask pointer
15262 | 41                    render.s    771 | Code        | 11 |         |    2 | 00/7ED6 : A6 16       |                          LDX     {$16}                
15263 | 41                    render.s    772 | Code        | 11 |         |    3 | 00/7ED8 : BD 56 8A    |                          LDA     CmpMaskAddrL,X       
15264 | 41                    render.s    773 | Code        | 11 |         |    2 | 00/7EDB : 85 06       |                          STA     {$06}                
15265 | 41                    render.s    774 | Code        | 11 |         |    3 | 00/7EDD : BD 87 8A    |                          LDA     CmpMaskAddrH,X       
15266 | 41                    render.s    775 | Code        | 11 |         |    2 | 00/7EE0 : 85 07       |                          STA     {$06}+1              
15267 | 41                    render.s    776 | Empty       | 11 |         |    0 | 00/7EE2               |                                                       
15268 | 41                    render.s    777 | Comment     | 11 |         |    0 | 00/7EE2               | * Patch mask expansion with sub-table addresses for this shift
15269 | 41                    render.s    778 | Code        | 11 |         |    2 | 00/7EE2 : A6 1A       |                          LDX     {$1A}                ; shift (0-6)
15270 | 41                    render.s    779 | Code        | 11 |         |    3 | 00/7EE4 : BD B6 80    |                          LDA     MskSmAL,X            
15271 | 41                    render.s    780 | Code        | 11 |         |    3 | 00/7EE7 : 8D 6A 7F    |                          STA     _msk0+1              
15272 | 41                    render.s    781 | Code        | 11 |         |    3 | 00/7EEA : BD BD 80    |                          LDA     MskSmAH,X            
15273 | 41                    render.s    782 | Code        | 11 |         |    3 | 00/7EED : 8D 6B 7F    |                          STA     _msk0+2              
15274 | 41                    render.s    783 | Code        | 11 |         |    3 | 00/7EF0 : BD C4 80    |                          LDA     MskSmBL,X            
15275 | 41                    render.s    784 | Code        | 11 |         |    3 | 00/7EF3 : 8D 6F 7F    |                          STA     _msk1+1              
15276 | 41                    render.s    785 | Code        | 11 |         |    3 | 00/7EF6 : BD CB 80    |                          LDA     MskSmBH,X            
15277 | 41                    render.s    786 | Code        | 11 |         |    3 | 00/7EF9 : 8D 70 7F    |                          STA     _msk1+2              
15278 | 41                    render.s    787 | Code        | 11 |         |    3 | 00/7EFC : BD D2 80    |                          LDA     MskSmCL,X            
15279 | 41                    render.s    788 | Code        | 11 |         |    3 | 00/7EFF : 8D 74 7F    |                          STA     _msk2+1              
15280 | 41                    render.s    789 | Code        | 11 |         |    3 | 00/7F02 : BD D9 80    |                          LDA     MskSmCH,X            
15281 | 41                    render.s    790 | Code        | 11 |         |    3 | 00/7F05 : 8D 75 7F    |                          STA     _msk2+2              
15282 | 41                    render.s    791 | Code        | 11 |         |    3 | 00/7F08 : BD E0 80    |                          LDA     MskSmDL,X            
15283 | 41                    render.s    792 | Code        | 11 |         |    3 | 00/7F0B : 8D 79 7F    |                          STA     _msk3+1              
15284 | 41                    render.s    793 | Code        | 11 |         |    3 | 00/7F0E : BD E7 80    |                          LDA     MskSmDH,X            
15285 | 41                    render.s    794 | Code        | 11 |         |    3 | 00/7F11 : 8D 7A 7F    |                          STA     _msk3+2              
15286 | 41                    render.s    795 | Code        | 11 |         |    3 | 00/7F14 : BD EE 80    |                          LDA     MskSmEL,X            
15287 | 41                    render.s    796 | Code        | 11 |         |    3 | 00/7F17 : 8D 7E 7F    |                          STA     _msk4+1              
15288 | 41                    render.s    797 | Code        | 11 |         |    3 | 00/7F1A : BD F5 80    |                          LDA     MskSmEH,X            
15289 | 41                    render.s    798 | Code        | 11 |         |    3 | 00/7F1D : 8D 7F 7F    |                          STA     _msk4+2              
15290 | 41                    render.s    799 | Code        | 11 |         |    3 | 00/7F20 : BD FC 80    |                          LDA     MskSmFL,X            
15291 | 41                    render.s    800 | Code        | 11 |         |    3 | 00/7F23 : 8D 83 7F    |                          STA     _msk5+1              
15292 | 41                    render.s    801 | Code        | 11 |         |    3 | 00/7F26 : BD 03 81    |                          LDA     MskSmFH,X            
15293 | 41                    render.s    802 | Code        | 11 |         |    3 | 00/7F29 : 8D 84 7F    |                          STA     _msk5+2              
15294 | 41                    render.s    803 | Code        | 11 |         |    3 | 00/7F2C : BD 0A 81    |                          LDA     MskSmGL,X            
15295 | 41                    render.s    804 | Code        | 11 |         |    3 | 00/7F2F : 8D 88 7F    |                          STA     _msk6+1              
15296 | 41                    render.s    805 | Code        | 11 |         |    3 | 00/7F32 : BD 11 81    |                          LDA     MskSmGH,X            
15297 | 41                    render.s    806 | Code        | 11 |         |    3 | 00/7F35 : 8D 89 7F    |                          STA     _msk6+2              
15298 | 41                    render.s    807 | Code        | 11 |         |    3 | 00/7F38 : BD 18 81    |                          LDA     MskSmHL,X            
15299 | 41                    render.s    808 | Code        | 11 |         |    3 | 00/7F3B : 8D 8D 7F    |                          STA     _msk7+1              
15300 | 41                    render.s    809 | Code        | 11 |         |    3 | 00/7F3E : BD 1F 81    |                          LDA     MskSmHH,X            
15301 | 41                    render.s    810 | Code        | 11 |         |    3 | 00/7F41 : 8D 8E 7F    |                          STA     _msk7+2              
15302 | 41                    render.s    811 | Empty       | 11 |         |    0 | 00/7F44               |                                                       
15303 | 41                    render.s    812 | Comment     | 11 |         |    0 | 00/7F44               | * Draw 12 rows
15304 | 41                    render.s    813 | Code        | 11 |         |    2 | 00/7F44 : 64 0D       |                          STZ     {$0D}                
15305 | 41                    render.s    814 | Empty       | 11 |         |    0 | 00/7F46               |                                                       
15306 | 41                    render.s    815 | Empty       | 11 |         |    0 | 00/7F46               | _sprRow                                               
15307 | 41                    render.s    816 | Code        | 11 |         |    2 | 00/7F46 : A5 15       |                          LDA     {$15}                
15308 | 41                    render.s    817 | Code        | 11 |         |    1 | 00/7F48 : 18          |                          CLC                          
15309 | 41                    render.s    818 | Code        | 11 |         |    2 | 00/7F49 : 65 0D       |                          ADC     {$0D}                
15310 | 41                    render.s    819 | Code        | 11 |         |    2 | 00/7F4B : C9 C0       |                          CMP     #192                 
15311 | 41                    render.s    820 | Code        | 11 |         |    2 | 00/7F4D : 90 03       |                          BCC     _sprRowOk            
15312 | 41                    render.s    821 | Code        | 11 |         |    3 | 00/7F4F : 4C AA 7F    |                          JMP     ozunid_84            
15313 | 41                    render.s    822 | Empty       | 11 |         |    0 | 00/7F52               | _sprRowOk                                             
15314 | 41                    render.s    823 | Code        | 11 |         |    1 | 00/7F52 : AA          |                          TAX                          
15315 | 41                    render.s    824 | Code        | 11 |         |    3 | 00/7F53 : BD 26 81    |                          LDA     ScanAdrL,X           
15316 | 41                    render.s    825 | Code        | 11 |         |    2 | 00/7F56 : 85 00       |                          STA     {$00}                
15317 | 41                    render.s    826 | Code        | 11 |         |    3 | 00/7F58 : BD E6 81    |                          LDA     ScanAdrH,X           
15318 | 41                    render.s    827 | Code        | 11 |         |    1 | 00/7F5B : 18          |                          CLC                          
15319 | 41                    render.s    828 | Code        | 11 |         |    2 | 00/7F5C : 65 1E       |                          ADC     {$1E}                
15320 | 41                    render.s    829 | Code        | 11 |         |    2 | 00/7F5E : 85 01       |                          STA     {$00}+1              
15321 | 41                    render.s    830 | Empty       | 11 |         |    0 | 00/7F60               |                                                       
15322 | 41                    render.s    831 | Comment     | 11 |         |    0 | 00/7F60               | * Read 8 sprite bytes + 1 mask byte from aux RAM
15323 | 41                    render.s    832 | Code        | 11 |         |    3 | 00/7F60 : 20 C3 D0    |                          JSR     ReadAux2             
15324 | 41                    render.s    833 | Empty       | 11 |         |    0 | 00/7F63               |                                                       
15325 | 41                    render.s    834 | Comment     | 11 |         |    0 | 00/7F63               | * Skip mask expansion + composite if row is fully transparent
15326 | 41                    render.s    835 | Code        | 11 |         |    2 | 00/7F63 : A5 18       |                          LDA     {$18}                
15327 | 41                    render.s    836 | Code        | 11 |         |    2 | 00/7F65 : F0 2D       |                          BEQ     _skipComp            
15328 | 41                    render.s    837 | Empty       | 11 |         |    0 | 00/7F67               |                                                       
15329 | 41                    render.s    838 | Comment     | 11 |         |    0 | 00/7F67               | * Expand compressed mask via self-modifying table lookup
15330 | 41                    render.s    839 | Comment     | 11 |         |    0 | 00/7F67               | * Addresses patched at setup per shift (inactive bytes → MskFFTbl)
15331 | 41                    render.s    840 | Code        | 11 |         |    2 | 00/7F67 : A4 18       |                          LDY     {$18}                ; Y = compressed mask index
15332 | 41                    render.s    841 | Code        | 11 |         |    3 | 00/7F69 : B9 FF FF    | _msk0                    LDA     $FFFF,Y              
15333 | 41                    render.s    842 | Code        | 11 |         |    2 | 00/7F6C : 85 40       |                          STA     {$40}+0              
15334 | 41                    render.s    843 | Code        | 11 |         |    3 | 00/7F6E : B9 FF FF    | _msk1                    LDA     $FFFF,Y              
15335 | 41                    render.s    844 | Code        | 11 |         |    2 | 00/7F71 : 85 41       |                          STA     {$40}+1              
15336 | 41                    render.s    845 | Code        | 11 |         |    3 | 00/7F73 : B9 FF FF    | _msk2                    LDA     $FFFF,Y              
15337 | 41                    render.s    846 | Code        | 11 |         |    2 | 00/7F76 : 85 42       |                          STA     {$40}+2              
15338 | 41                    render.s    847 | Code        | 11 |         |    3 | 00/7F78 : B9 FF FF    | _msk3                    LDA     $FFFF,Y              
15339 | 41                    render.s    848 | Code        | 11 |         |    2 | 00/7F7B : 85 43       |                          STA     {$40}+3              
15340 | 41                    render.s    849 | Code        | 11 |         |    3 | 00/7F7D : B9 FF FF    | _msk4                    LDA     $FFFF,Y              
15341 | 41                    render.s    850 | Code        | 11 |         |    2 | 00/7F80 : 85 44       |                          STA     {$40}+4              
15342 | 41                    render.s    851 | Code        | 11 |         |    3 | 00/7F82 : B9 FF FF    | _msk5                    LDA     $FFFF,Y              
15343 | 41                    render.s    852 | Code        | 11 |         |    2 | 00/7F85 : 85 45       |                          STA     {$40}+5              
15344 | 41                    render.s    853 | Code        | 11 |         |    3 | 00/7F87 : B9 FF FF    | _msk6                    LDA     $FFFF,Y              
15345 | 41                    render.s    854 | Code        | 11 |         |    2 | 00/7F8A : 85 46       |                          STA     {$40}+6              
15346 | 41                    render.s    855 | Code        | 11 |         |    3 | 00/7F8C : B9 FF FF    | _msk7                    LDA     $FFFF,Y              
15347 | 41                    render.s    856 | Code        | 11 |         |    2 | 00/7F8F : 85 47       |                          STA     {$40}+7              
15348 | 41                    render.s    857 | Empty       | 11 |         |    0 | 00/7F91               |                                                       
15349 | 41                    render.s    858 | Comment     | 11 |         |    0 | 00/7F91               | * Composite 8 bytes onto screen via LC routine
15350 | 41                    render.s    859 | Comment     | 11 |         |    0 | 00/7F91               | * Uses RAMRD/RAMWRT (not 80STORE) so display page is unaffected
15351 | 41                    render.s    860 | Code        | 11 |         |    3 | 00/7F91 : 20 80 00    |                          JSR     {$80}                ; routine at $80 in ZP
15352 | 41                    render.s    861 | Empty       | 11 |         |    0 | 00/7F94               |                                                       
15353 | 41                    render.s    862 | Empty       | 11 |         |    0 | 00/7F94               | _skipComp                                             
15354 | 41                    render.s    863 | Comment     | 11 |         |    0 | 00/7F94               | * Advance source pointer by 8 for next row
15355 | 41                    render.s    864 | Code        | 11 |         |    2 | 00/7F94 : A5 04       |                          LDA     {$04}                
15356 | 41                    render.s    865 | Code        | 11 |         |    1 | 00/7F96 : 18          |                          CLC                          
15357 | 41                    render.s    866 | Code        | 11 |         |    2 | 00/7F97 : 69 08       |                          ADC     #8                   
15358 | 41                    render.s    867 | Code        | 11 |         |    2 | 00/7F99 : 85 04       |                          STA     {$04}                
15359 | 41                    render.s    868 | Code        | 11 |         |    2 | 00/7F9B : 90 02       |                          BCC     _noSrcPg             
15360 | 41                    render.s    869 | Code        | 11 |         |    2 | 00/7F9D : E6 05       |                          INC     {$04}+1              
15361 | 41                    render.s    870 | Empty       | 11 |         |    0 | 00/7F9F               | _noSrcPg                                              
15362 | 41                    render.s    871 | Empty       | 11 |         |    0 | 00/7F9F               |                                                       
15363 | 41                    render.s    872 | Comment     | 11 |         |    0 | 00/7F9F               | * Next row
15364 | 41                    render.s    873 | Code        | 11 |         |    2 | 00/7F9F : E6 0D       |                          INC     {$0D}                
15365 | 41                    render.s    874 | Code        | 11 |         |    2 | 00/7FA1 : A5 0D       |                          LDA     {$0D}                
15366 | 41                    render.s    875 | Code        | 11 |         |    2 | 00/7FA3 : C9 0C       |                          CMP     #12                  
15367 | 41                    render.s    876 | Code        | 11 |         |    2 | 00/7FA5 : F0 03       |                          BEQ     ozunid_84            
15368 | 41                    render.s    877 | Code        | 11 |         |    3 | 00/7FA7 : 4C 46 7F    |                          JMP     _sprRow              
15369 | 41                    render.s    878 | Empty       | 11 |         |    0 | 00/7FAA               |                                                       
15370 | 41                    render.s    879 | Code        | 11 |         |    3 | 00/7FAA : 8D 04 C0    | ozunid_84                STA     {$C004}              
15371 | 41                    render.s    880 | Code        | 11 |         |    1 | 00/7FAD : 60          |                          RTS                          
15372 | 41                    render.s    881 | Empty       | 11 |         |    0 | 00/7FAE               |                                                       
15373 | 41                    render.s    882 | Comment     | 11 |         |    0 | 00/7FAE               | *----------------------------------------------
15374 | 41                    render.s    883 | Comment     | 11 |         |    0 | 00/7FAE               | * DrawSpriteSolid - Draw sprite assuming solid black background.
15375 | 41                    render.s    884 | Comment     | 11 |         |    0 | 00/7FAE               | *
15376 | 41                    render.s    885 | Comment     | 11 |         |    0 | 00/7FAE               | * Input: SprFrame, SprX, SprY (same as DrawSprite)
15377 | 41                    render.s    886 | Comment     | 11 |         |    0 | 00/7FAE               | * Skips mask lookup, mask expansion, and AND/OR composite.
15378 | 41                    render.s    887 | Comment     | 11 |         |    0 | 00/7FAE               | * Writes pre-shifted sprite bytes directly to aux+main screen.
15379 | 41                    render.s    888 | Comment     | 11 |         |    0 | 00/7FAE               | *
15380 | 41                    render.s    889 | Comment     | 11 |         |    0 | 00/7FAE               | * Restrictions:
15381 | 41                    render.s    890 | Comment     | 11 |         |    0 | 00/7FAE               | *   - Background behind every pixel of the sprite footprint must be
15382 | 41                    render.s    891 | Comment     | 11 |         |    0 | 00/7FAE               | *     solid $80 (black). Transparent sprite bytes are $00 and produce
15383 | 41                    render.s    892 | Comment     | 11 |         |    0 | 00/7FAE               | *     visually identical black in that region.
15384 | 41                    render.s    893 | Comment     | 11 |         |    0 | 00/7FAE               | *   - Sprite must fit in 14 px wide at shift 0 (elevator car). Only
15385 | 41                    render.s    894 | Comment     | 11 |         |    0 | 00/7FAE               | *     SprBuf+0..+3 are emitted — 2 aux + 2 main bytes per row.
15386 | 41                    render.s    895 | Comment     | 11 |         |    0 | 00/7FAE               | *   - Sprite data must live in aux $0200-$BFFF.
15387 | 41                    render.s    896 | Comment     | 11 |         |    0 | 00/7FAE               | *----------------------------------------------
15388 | 41                    render.s    897 | Empty       | 11 |         |    0 | 00/7FAE               | DrawSpriteSolid                                       
15389 | 41                    render.s    898 | Comment     | 11 |         |    0 | 00/7FAE               | * Compute shift = SprX mod 7, byte column = (SprX / 7) * 2
15390 | 41                    render.s    899 | Code        | 11 |         |    2 | 00/7FAE : A6 14       |                          LDX     {$14}                
15391 | 41                    render.s    900 | Code        | 11 |         |    3 | 00/7FB0 : BD 32 83    |                          LDA     XMod7,X              
15392 | 41                    render.s    901 | Code        | 11 |         |    2 | 00/7FB3 : 85 1A       |                          STA     {$1A}                ; shift (0-6)
15393 | 41                    render.s    902 | Code        | 11 |         |    3 | 00/7FB5 : BD A6 82    |                          LDA     XDiv7,X              
15394 | 41                    render.s    903 | Code        | 11 |         |    1 | 00/7FB8 : 0A          |                          ASL                          
15395 | 41                    render.s    904 | Code        | 11 |         |    2 | 00/7FB9 : 85 1B       |                          STA     {$1B}                ; screen byte column
15396 | 41                    render.s    905 | Empty       | 11 |         |    0 | 00/7FBB               |                                                       
15397 | 41                    render.s    906 | Comment     | 11 |         |    0 | 00/7FBB               | * Set up source pointer: SprAuxAddr[frame] + ShiftOfs[shift]
15398 | 41                    render.s    907 | Code        | 11 |         |    2 | 00/7FBB : A6 16       |                          LDX     {$16}                
15399 | 41                    render.s    908 | Code        | 11 |         |    1 | 00/7FBD : 18          |                          CLC                          
15400 | 41                    render.s    909 | Code        | 11 |         |    3 | 00/7FBE : BD E6 89    |                          LDA     SprAuxAddrL,X        
15401 | 41                    render.s    910 | Code        | 11 |         |    2 | 00/7FC1 : 85 04       |                          STA     {$04}                
15402 | 41                    render.s    911 | Code        | 11 |         |    3 | 00/7FC3 : BD 17 8A    |                          LDA     SprAuxAddrH,X        
15403 | 41                    render.s    912 | Code        | 11 |         |    2 | 00/7FC6 : 85 05       |                          STA     {$04}+1              
15404 | 41                    render.s    913 | Empty       | 11 |         |    0 | 00/7FC8               |                                                       
15405 | 41                    render.s    914 | Code        | 11 |         |    2 | 00/7FC8 : A6 1A       |                          LDX     {$1A}                
15406 | 41                    render.s    915 | Code        | 11 |         |    1 | 00/7FCA : 18          |                          CLC                          
15407 | 41                    render.s    916 | Code        | 11 |         |    2 | 00/7FCB : A5 04       |                          LDA     {$04}                
15408 | 41                    render.s    917 | Code        | 11 |         |    3 | 00/7FCD : 7D 48 8A    |                          ADC     ShiftOfsL,X          
15409 | 41                    render.s    918 | Code        | 11 |         |    2 | 00/7FD0 : 85 04       |                          STA     {$04}                
15410 | 41                    render.s    919 | Code        | 11 |         |    2 | 00/7FD2 : A5 05       |                          LDA     {$04}+1              
15411 | 41                    render.s    920 | Code        | 11 |         |    3 | 00/7FD4 : 7D 4F 8A    |                          ADC     ShiftOfsH,X          
15412 | 41                    render.s    921 | Code        | 11 |         |    2 | 00/7FD7 : 85 05       |                          STA     {$04}+1              
15413 | 41                    render.s    922 | Empty       | 11 |         |    0 | 00/7FD9               |                                                       
15414 | 41                    render.s    923 | Comment     | 11 |         |    0 | 00/7FD9               | * Point DstPtr at a safe address so ReadAux's mask read lands somewhere
15415 | 41                    render.s    924 | Comment     | 11 |         |    0 | 00/7FD9               | * valid. Its result in Temp1 is a don't-care for the solid draw path.
15416 | 41                    render.s    925 | Code        | 11 |         |    2 | 00/7FD9 : A5 04       |                          LDA     {$04}                
15417 | 41                    render.s    926 | Code        | 11 |         |    2 | 00/7FDB : 85 06       |                          STA     {$06}                
15418 | 41                    render.s    927 | Code        | 11 |         |    2 | 00/7FDD : A5 05       |                          LDA     {$04}+1              
15419 | 41                    render.s    928 | Code        | 11 |         |    2 | 00/7FDF : 85 07       |                          STA     {$06}+1              
15420 | 41                    render.s    929 | Empty       | 11 |         |    0 | 00/7FE1               |                                                       
15421 | 41                    render.s    930 | Comment     | 11 |         |    0 | 00/7FE1               | * Draw 12 rows
15422 | 41                    render.s    931 | Code        | 11 |         |    2 | 00/7FE1 : 64 0D       |                          STZ     {$0D}                
15423 | 41                    render.s    932 | Empty       | 11 |         |    0 | 00/7FE3               |                                                       
15424 | 41                    render.s    933 | Empty       | 11 |         |    0 | 00/7FE3               | _dssRow                                               
15425 | 41                    render.s    934 | Code        | 11 |         |    2 | 00/7FE3 : A5 15       |                          LDA     {$15}                
15426 | 41                    render.s    935 | Code        | 11 |         |    1 | 00/7FE5 : 18          |                          CLC                          
15427 | 41                    render.s    936 | Code        | 11 |         |    2 | 00/7FE6 : 65 0D       |                          ADC     {$0D}                
15428 | 41                    render.s    937 | Code        | 11 |         |    2 | 00/7FE8 : C9 C0       |                          CMP     #192                 
15429 | 41                    render.s    938 | Code        | 11 |         |    2 | 00/7FEA : 90 03       |                          BCC     _dssRowOk            
15430 | 41                    render.s    939 | Code        | 11 |         |    3 | 00/7FEC : 4C 32 80    |                          JMP     _dssDone             
15431 | 41                    render.s    940 | Empty       | 11 |         |    0 | 00/7FEF               | _dssRowOk                                             
15432 | 41                    render.s    941 | Code        | 11 |         |    1 | 00/7FEF : AA          |                          TAX                          
15433 | 41                    render.s    942 | Code        | 11 |         |    3 | 00/7FF0 : BD 26 81    |                          LDA     ScanAdrL,X           
15434 | 41                    render.s    943 | Code        | 11 |         |    2 | 00/7FF3 : 85 00       |                          STA     {$00}                
15435 | 41                    render.s    944 | Code        | 11 |         |    3 | 00/7FF5 : BD E6 81    |                          LDA     ScanAdrH,X           
15436 | 41                    render.s    945 | Code        | 11 |         |    1 | 00/7FF8 : 18          |                          CLC                          
15437 | 41                    render.s    946 | Code        | 11 |         |    2 | 00/7FF9 : 65 1E       |                          ADC     {$1E}                
15438 | 41                    render.s    947 | Code        | 11 |         |    2 | 00/7FFB : 85 01       |                          STA     {$00}+1              
15439 | 41                    render.s    948 | Empty       | 11 |         |    0 | 00/7FFD               |                                                       
15440 | 41                    render.s    949 | Comment     | 11 |         |    0 | 00/7FFD               | * Read 8 sprite bytes from aux into SprBuf via fast LC trampoline.
15441 | 41                    render.s    950 | Comment     | 11 |         |    0 | 00/7FFD               | * Inline STA RAMRDAUX would break instruction fetch for code in main RAM.
15442 | 41                    render.s    951 | Code        | 11 |         |    3 | 00/7FFD : 20 C3 D0    |                          JSR     ReadAux2             
15443 | 41                    render.s    952 | Empty       | 11 |         |    0 | 00/8000               |                                                       
15444 | 41                    render.s    953 | Comment     | 11 |         |    0 | 00/8000               | * Write 2 aux bytes (SprBuf+0, SprBuf+2) at Temp4..Temp4+1
15445 | 41                    render.s    954 | Code        | 11 |         |    2 | 00/8000 : A4 1B       |                          LDY     {$1B}                
15446 | 41                    render.s    955 | Code        | 11 |         |    3 | 00/8002 : 8D 05 C0    |                          STA     {$C005}              
15447 | 41                    render.s    956 | Code        | 11 |         |    2 | 00/8005 : A5 38       |                          LDA     {$38}+0              
15448 | 41                    render.s    957 | Code        | 11 |         |    2 | 00/8007 : 91 00       |                          STA     ({$00}),Y            
15449 | 41                    render.s    958 | Code        | 11 |         |    1 | 00/8009 : C8          |                          INY                          
15450 | 41                    render.s    959 | Code        | 11 |         |    2 | 00/800A : A5 3A       |                          LDA     {$38}+2              
15451 | 41                    render.s    960 | Code        | 11 |         |    2 | 00/800C : 91 00       |                          STA     ({$00}),Y            
15452 | 41                    render.s    961 | Empty       | 11 |         |    0 | 00/800E               |                                                       
15453 | 41                    render.s    962 | Comment     | 11 |         |    0 | 00/800E               | * Write 2 main bytes (SprBuf+1, SprBuf+3) at Temp4..Temp4+1
15454 | 41                    render.s    963 | Code        | 11 |         |    3 | 00/800E : 8D 04 C0    |                          STA     {$C004}              
15455 | 41                    render.s    964 | Code        | 11 |         |    2 | 00/8011 : A4 1B       |                          LDY     {$1B}                
15456 | 41                    render.s    965 | Code        | 11 |         |    2 | 00/8013 : A5 39       |                          LDA     {$38}+1              
15457 | 41                    render.s    966 | Code        | 11 |         |    2 | 00/8015 : 91 00       |                          STA     ({$00}),Y            
15458 | 41                    render.s    967 | Code        | 11 |         |    1 | 00/8017 : C8          |                          INY                          
15459 | 41                    render.s    968 | Code        | 11 |         |    2 | 00/8018 : A5 3B       |                          LDA     {$38}+3              
15460 | 41                    render.s    969 | Code        | 11 |         |    2 | 00/801A : 91 00       |                          STA     ({$00}),Y            
15461 | 41                    render.s    970 | Empty       | 11 |         |    0 | 00/801C               |                                                       
15462 | 41                    render.s    971 | Comment     | 11 |         |    0 | 00/801C               | * Advance source pointer by 8 for next row
15463 | 41                    render.s    972 | Code        | 11 |         |    2 | 00/801C : A5 04       |                          LDA     {$04}                
15464 | 41                    render.s    973 | Code        | 11 |         |    1 | 00/801E : 18          |                          CLC                          
15465 | 41                    render.s    974 | Code        | 11 |         |    2 | 00/801F : 69 08       |                          ADC     #8                   
15466 | 41                    render.s    975 | Code        | 11 |         |    2 | 00/8021 : 85 04       |                          STA     {$04}                
15467 | 41                    render.s    976 | Code        | 11 |         |    2 | 00/8023 : 90 02       |                          BCC     _dssNoSrcPg          
15468 | 41                    render.s    977 | Code        | 11 |         |    2 | 00/8025 : E6 05       |                          INC     {$04}+1              
15469 | 41                    render.s    978 | Empty       | 11 |         |    0 | 00/8027               | _dssNoSrcPg                                           
15470 | 41                    render.s    979 | Empty       | 11 |         |    0 | 00/8027               |                                                       
15471 | 41                    render.s    980 | Comment     | 11 |         |    0 | 00/8027               | * Next row
15472 | 41                    render.s    981 | Code        | 11 |         |    2 | 00/8027 : E6 0D       |                          INC     {$0D}                
15473 | 41                    render.s    982 | Code        | 11 |         |    2 | 00/8029 : A5 0D       |                          LDA     {$0D}                
15474 | 41                    render.s    983 | Code        | 11 |         |    2 | 00/802B : C9 0C       |                          CMP     #12                  
15475 | 41                    render.s    984 | Code        | 11 |         |    2 | 00/802D : F0 03       |                          BEQ     _dssDone             
15476 | 41                    render.s    985 | Code        | 11 |         |    3 | 00/802F : 4C E3 7F    |                          JMP     _dssRow              
15477 | 41                    render.s    986 | Empty       | 11 |         |    0 | 00/8032               |                                                       
15478 | 41                    render.s    987 | Code        | 11 |         |    3 | 00/8032 : 8D 04 C0    | _dssDone                 STA     {$C004}              
15479 | 41                    render.s    988 | Code        | 11 |         |    1 | 00/8035 : 60          |                          RTS                          
15480 | 41                    render.s    989 | Empty       | 11 |         |    0 | 00/8036               |                                                       
15481 | 41                    render.s    990 | Comment     | 11 |         |    0 | 00/8036               | *----------------------------------------------
15482 | 41                    render.s    991 | Comment     | 11 |         |    0 | 00/8036               | * Self-modifying mask expansion tables
15483 | 41                    render.s    992 | Comment     | 11 |         |    0 | 00/8036               | *----------------------------------------------
15484 | 41                    render.s    993 | Empty       | 11 |         |    0 | 00/8036               |                                                       
15485 | 41                    render.s    994 | Comment     | 11 |         |    0 | 00/8036               | * All-$FF mask table for inactive byte positions (128 bytes)
15486 | 41                    render.s    995 | Empty       | 11 |         |    0 | 00/8036               | MskFFTbl                                              
15487 | 41                    render.s    996 | Data        | 11 |         |   16 | 00/8036 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
15488 | 41                    render.s    997 | Data        | 11 |         |   16 | 00/8046 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
15489 | 41                    render.s    998 | Data        | 11 |         |   16 | 00/8056 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
15490 | 41                    render.s    999 | Data        | 11 |         |   16 | 00/8066 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
15491 | 41                    render.s   1000 | Data        | 11 |         |   16 | 00/8076 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
15492 | 41                    render.s   1001 | Data        | 11 |         |   16 | 00/8086 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
15493 | 41                    render.s   1002 | Data        | 11 |         |   16 | 00/8096 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
15494 | 41                    render.s   1003 | Data        | 11 |         |   16 | 00/80A6 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
15495 | 41                    render.s   1004 | Empty       | 11 |         |    0 | 00/80B6               |                                                       
15496 | 41                    render.s   1005 | Comment     | 11 |         |    0 | 00/80B6               | * Address tables: L/H pair per byte position, 7 entries each (shifts 0-6)
15497 | 41                    render.s   1006 | Comment     | 11 |         |    0 | 00/80B6               | * Points to the real MaskExpTbl sub-table if active, or MskFFTbl if inactive
15498 | 41                    render.s   1007 | Comment     | 11 |         |    0 | 00/80B6               | *
15499 | 41                    render.s   1008 | Comment     | 11 |         |    0 | 00/80B6               | * Shift active byte ranges:
15500 | 41                    render.s   1009 | Comment     | 11 |         |    0 | 00/80B6               | *   s0=0-3  s1=0-4  s2=1-5  s3=1-5  s4=2-6  s5=2-6  s6=3-7
15501 | 41                    render.s   1010 | Empty       | 11 |         |    0 | 00/80B6               |                                                       
15502 | 41                    render.s   1011 | Equivalence | 11 |         |    0 | 00/80B6               | _FF                      =       MskFFTbl             
15503 | 41                    render.s   1012 | Empty       | 11 |         |    0 | 00/80B6               |                                                       
15504 | 41                    render.s   1013 | Comment     | 11 |         |    0 | 00/80B6               | * Byte position 0 (active: s0,s1)
15505 | 41                    render.s   1014 | Data        | 11 |         |    7 | 00/80B6 : D4 D4 36 36 | MskSmAL                  DFB     <MaskExpTbl+$0000,<MaskExpTbl+$0200,<{MskFFTbl},<{MskFFTbl},<{MskFFTbl},<{MskFFTbl},<{MskFFTbl}
      |                                       |             |    |         |      |           36 36 36    |
15506 | 41                    render.s   1015 | Data        | 11 |         |    7 | 00/80BD : 8A 8C 80 80 | MskSmAH                  DFB     >MaskExpTbl+$0000,>MaskExpTbl+$0200,>{MskFFTbl},>{MskFFTbl},>{MskFFTbl},>{MskFFTbl},>{MskFFTbl}
      |                                       |             |    |         |      |           80 80 80    |
15507 | 41                    render.s   1016 | Comment     | 11 |         |    0 | 00/80C4               | * Byte position 1 (active: s0,s1,s2,s3)
15508 | 41                    render.s   1017 | Data        | 11 |         |    7 | 00/80C4 : 54 54 54 D4 | MskSmBL                  DFB     <MaskExpTbl+$0080,<MaskExpTbl+$0280,<MaskExpTbl+$0480,<MaskExpTbl+$0700,<{MskFFTbl},<{MskFFTbl},<{MskFFTbl}
      |                                       |             |    |         |      |           36 36 36    |
15509 | 41                    render.s   1018 | Data        | 11 |         |    7 | 00/80CB : 8B 8D 8F 91 | MskSmBH                  DFB     >MaskExpTbl+$0080,>MaskExpTbl+$0280,>MaskExpTbl+$0480,>MaskExpTbl+$0700,>{MskFFTbl},>{MskFFTbl},>{MskFFTbl}
      |                                       |             |    |         |      |           80 80 80    |
15510 | 41                    render.s   1019 | Comment     | 11 |         |    0 | 00/80D2               | * Byte position 2 (active: s0,s1,s2,s3,s4,s5)
15511 | 41                    render.s   1020 | Data        | 11 |         |    7 | 00/80D2 : D4 D4 D4 54 | MskSmCL                  DFB     <MaskExpTbl+$0100,<MaskExpTbl+$0300,<MaskExpTbl+$0500,<MaskExpTbl+$0780,<MaskExpTbl+$0980,<MaskExpTbl+$0C00,<{MskFFTbl}
      |                                       |             |    |         |      |           54 D4 36    |
15512 | 41                    render.s   1021 | Data        | 11 |         |    7 | 00/80D9 : 8B 8D 8F 92 | MskSmCH                  DFB     >MaskExpTbl+$0100,>MaskExpTbl+$0300,>MaskExpTbl+$0500,>MaskExpTbl+$0780,>MaskExpTbl+$0980,>MaskExpTbl+$0C00,>{MskFFTbl}
      |                                       |             |    |         |      |           94 96 80    |
15513 | 41                    render.s   1022 | Comment     | 11 |         |    0 | 00/80E0               | * Byte position 3 (active: all shifts)
15514 | 41                    render.s   1023 | Data        | 11 |         |    7 | 00/80E0 : 54 54 54 D4 | MskSmDL                  DFB     <MaskExpTbl+$0180,<MaskExpTbl+$0380,<MaskExpTbl+$0580,<MaskExpTbl+$0800,<MaskExpTbl+$0A00,<MaskExpTbl+$0C80,<MaskExpTbl+$0E80
      |                                       |             |    |         |      |           D4 54 54    |
15515 | 41                    render.s   1024 | Data        | 11 |         |    7 | 00/80E7 : 8C 8E 90 92 | MskSmDH                  DFB     >MaskExpTbl+$0180,>MaskExpTbl+$0380,>MaskExpTbl+$0580,>MaskExpTbl+$0800,>MaskExpTbl+$0A00,>MaskExpTbl+$0C80,>MaskExpTbl+$0E80
      |                                       |             |    |         |      |           94 97 99    |
15516 | 41                    render.s   1025 | Comment     | 11 |         |    0 | 00/80EE               | * Byte position 4 (active: s1,s2,s3,s4,s5,s6)
15517 | 41                    render.s   1026 | Data        | 11 |         |    7 | 00/80EE : 36 D4 D4 54 | MskSmEL                  DFB     <{MskFFTbl},<MaskExpTbl+$0400,<MaskExpTbl+$0600,<MaskExpTbl+$0880,<MaskExpTbl+$0A80,<MaskExpTbl+$0D00,<MaskExpTbl+$0F00
      |                                       |             |    |         |      |           54 D4 D4    |
15518 | 41                    render.s   1027 | Data        | 11 |         |    7 | 00/80F5 : 80 8E 90 93 | MskSmEH                  DFB     >{MskFFTbl},>MaskExpTbl+$0400,>MaskExpTbl+$0600,>MaskExpTbl+$0880,>MaskExpTbl+$0A80,>MaskExpTbl+$0D00,>MaskExpTbl+$0F00
      |                                       |             |    |         |      |           95 97 99    |
15519 | 41                    render.s   1028 | Comment     | 11 |         |    0 | 00/80FC               | * Byte position 5 (active: s2,s3,s4,s5,s6)
15520 | 41                    render.s   1029 | Data        | 11 |         |    7 | 00/80FC : 36 36 54 D4 | MskSmFL                  DFB     <{MskFFTbl},<{MskFFTbl},<MaskExpTbl+$0680,<MaskExpTbl+$0900,<MaskExpTbl+$0B00,<MaskExpTbl+$0D80,<MaskExpTbl+$0F80
      |                                       |             |    |         |      |           D4 54 54    |
15521 | 41                    render.s   1030 | Data        | 11 |         |    7 | 00/8103 : 80 80 91 93 | MskSmFH                  DFB     >{MskFFTbl},>{MskFFTbl},>MaskExpTbl+$0680,>MaskExpTbl+$0900,>MaskExpTbl+$0B00,>MaskExpTbl+$0D80,>MaskExpTbl+$0F80
      |                                       |             |    |         |      |           95 98 9A    |
15522 | 41                    render.s   1031 | Comment     | 11 |         |    0 | 00/810A               | * Byte position 6 (active: s4,s5,s6)
15523 | 41                    render.s   1032 | Data        | 11 |         |    7 | 00/810A : 36 36 36 36 | MskSmGL                  DFB     <{MskFFTbl},<{MskFFTbl},<{MskFFTbl},<{MskFFTbl},<MaskExpTbl+$0B80,<MaskExpTbl+$0E00,<MaskExpTbl+$1000
      |                                       |             |    |         |      |           54 D4 D4    |
15524 | 41                    render.s   1033 | Data        | 11 |         |    7 | 00/8111 : 80 80 80 80 | MskSmGH                  DFB     >{MskFFTbl},>{MskFFTbl},>{MskFFTbl},>{MskFFTbl},>MaskExpTbl+$0B80,>MaskExpTbl+$0E00,>MaskExpTbl+$1000
      |                                       |             |    |         |      |           96 98 9A    |
15525 | 41                    render.s   1034 | Comment     | 11 |         |    0 | 00/8118               | * Byte position 7 (active: s6)
15526 | 41                    render.s   1035 | Data        | 11 |         |    7 | 00/8118 : 36 36 36 36 | MskSmHL                  DFB     <{MskFFTbl},<{MskFFTbl},<{MskFFTbl},<{MskFFTbl},<{MskFFTbl},<{MskFFTbl},<MaskExpTbl+$1080
      |                                       |             |    |         |      |           36 36 54    |
15527 | 41                    render.s   1036 | Data        | 11 |         |    7 | 00/811F : 80 80 80 80 | MskSmHH                  DFB     >{MskFFTbl},>{MskFFTbl},>{MskFFTbl},>{MskFFTbl},>{MskFFTbl},>{MskFFTbl},>MaskExpTbl+$1080
      |                                       |             |    |         |      |           80 80 9B    |
15528 | 41                    render.s   1037 | Empty       | 11 |         |    0 | 00/8126               |                                                       
15529 | 41                    render.s   1038 | Empty       | 11 |         |    0 | 00/8126               |                                                       
15530 | 41                    render.s   1039 | Empty       | 11 |         |    0 | 00/8126               |                                                       
15531 |  1                    bagman.s    126 | Directive   | 11 |         |    0 | 00/8126               |                          PUT     tables.s             
15532 | 42                    tables.s      1 | Comment     | 11 |         |    0 | 00/8126               | *
15533 | 42                    tables.s      2 | Comment     | 11 |         |    0 | 00/8126               | * Bagman - Lookup Tables
15534 | 42                    tables.s      3 | Comment     | 11 |         |    0 | 00/8126               | *
15535 | 42                    tables.s      4 | Comment     | 11 |         |    0 | 00/8126               | * Precomputed DHGR scanline address table
15536 | 42                    tables.s      5 | Comment     | 11 |         |    0 | 00/8126               | *
15537 | 42                    tables.s      6 | Comment     | 11 |         |    0 | 00/8126               | * Formula: addr = $2000 + (line/64)*$28 + (line%8)*$400 + ((line/8)%8)*$80
15538 | 42                    tables.s      7 | Comment     | 11 |         |    0 | 00/8126               | *
15539 | 42                    tables.s      8 | Empty       | 11 |         |    0 | 00/8126               |                                                       
15540 | 42                    tables.s      9 | Empty       | 11 |         |    0 | 00/8126               | ScanAdrL                                              
15541 | 42                    tables.s     10 | Data        | 11 |         |    8 | 00/8126 : 00 00 00 00 |                          HEX     0000000000000000     ; lines 0-7
      |                                       |             |    |         |      |           00 00 00 00 |
15542 | 42                    tables.s     11 | Data        | 11 |         |    8 | 00/812E : 80 80 80 80 |                          HEX     8080808080808080     ; lines 8-15
      |                                       |             |    |         |      |           80 80 80 80 |
15543 | 42                    tables.s     12 | Data        | 11 |         |    8 | 00/8136 : 00 00 00 00 |                          HEX     0000000000000000     ; lines 16-23
      |                                       |             |    |         |      |           00 00 00 00 |
15544 | 42                    tables.s     13 | Data        | 11 |         |    8 | 00/813E : 80 80 80 80 |                          HEX     8080808080808080     ; lines 24-31
      |                                       |             |    |         |      |           80 80 80 80 |
15545 | 42                    tables.s     14 | Data        | 11 |         |    8 | 00/8146 : 00 00 00 00 |                          HEX     0000000000000000     ; lines 32-39
      |                                       |             |    |         |      |           00 00 00 00 |
15546 | 42                    tables.s     15 | Data        | 11 |         |    8 | 00/814E : 80 80 80 80 |                          HEX     8080808080808080     ; lines 40-47
      |                                       |             |    |         |      |           80 80 80 80 |
15547 | 42                    tables.s     16 | Data        | 11 |         |    8 | 00/8156 : 00 00 00 00 |                          HEX     0000000000000000     ; lines 48-55
      |                                       |             |    |         |      |           00 00 00 00 |
15548 | 42                    tables.s     17 | Data        | 11 |         |    8 | 00/815E : 80 80 80 80 |                          HEX     8080808080808080     ; lines 56-63
      |                                       |             |    |         |      |           80 80 80 80 |
15549 | 42                    tables.s     18 | Data        | 11 |         |    8 | 00/8166 : 28 28 28 28 |                          HEX     2828282828282828     ; lines 64-71
      |                                       |             |    |         |      |           28 28 28 28 |
15550 | 42                    tables.s     19 | Data        | 11 |         |    8 | 00/816E : A8 A8 A8 A8 |                          HEX     A8A8A8A8A8A8A8A8     ; lines 72-79
      |                                       |             |    |         |      |           A8 A8 A8 A8 |
15551 | 42                    tables.s     20 | Data        | 11 |         |    8 | 00/8176 : 28 28 28 28 |                          HEX     2828282828282828     ; lines 80-87
      |                                       |             |    |         |      |           28 28 28 28 |
15552 | 42                    tables.s     21 | Data        | 11 |         |    8 | 00/817E : A8 A8 A8 A8 |                          HEX     A8A8A8A8A8A8A8A8     ; lines 88-95
      |                                       |             |    |         |      |           A8 A8 A8 A8 |
15553 | 42                    tables.s     22 | Data        | 11 |         |    8 | 00/8186 : 28 28 28 28 |                          HEX     2828282828282828     ; lines 96-103
      |                                       |             |    |         |      |           28 28 28 28 |
15554 | 42                    tables.s     23 | Data        | 11 |         |    8 | 00/818E : A8 A8 A8 A8 |                          HEX     A8A8A8A8A8A8A8A8     ; lines 104-111
      |                                       |             |    |         |      |           A8 A8 A8 A8 |
15555 | 42                    tables.s     24 | Data        | 11 |         |    8 | 00/8196 : 28 28 28 28 |                          HEX     2828282828282828     ; lines 112-119
      |                                       |             |    |         |      |           28 28 28 28 |
15556 | 42                    tables.s     25 | Data        | 11 |         |    8 | 00/819E : A8 A8 A8 A8 |                          HEX     A8A8A8A8A8A8A8A8     ; lines 120-127
      |                                       |             |    |         |      |           A8 A8 A8 A8 |
15557 | 42                    tables.s     26 | Data        | 11 |         |    8 | 00/81A6 : 50 50 50 50 |                          HEX     5050505050505050     ; lines 128-135
      |                                       |             |    |         |      |           50 50 50 50 |
15558 | 42                    tables.s     27 | Data        | 11 |         |    8 | 00/81AE : D0 D0 D0 D0 |                          HEX     D0D0D0D0D0D0D0D0     ; lines 136-143
      |                                       |             |    |         |      |           D0 D0 D0 D0 |
15559 | 42                    tables.s     28 | Data        | 11 |         |    8 | 00/81B6 : 50 50 50 50 |                          HEX     5050505050505050     ; lines 144-151
      |                                       |             |    |         |      |           50 50 50 50 |
15560 | 42                    tables.s     29 | Data        | 11 |         |    8 | 00/81BE : D0 D0 D0 D0 |                          HEX     D0D0D0D0D0D0D0D0     ; lines 152-159
      |                                       |             |    |         |      |           D0 D0 D0 D0 |
15561 | 42                    tables.s     30 | Data        | 11 |         |    8 | 00/81C6 : 50 50 50 50 |                          HEX     5050505050505050     ; lines 160-167
      |                                       |             |    |         |      |           50 50 50 50 |
15562 | 42                    tables.s     31 | Data        | 11 |         |    8 | 00/81CE : D0 D0 D0 D0 |                          HEX     D0D0D0D0D0D0D0D0     ; lines 168-175
      |                                       |             |    |         |      |           D0 D0 D0 D0 |
15563 | 42                    tables.s     32 | Data        | 11 |         |    8 | 00/81D6 : 50 50 50 50 |                          HEX     5050505050505050     ; lines 176-183
      |                                       |             |    |         |      |           50 50 50 50 |
15564 | 42                    tables.s     33 | Data        | 11 |         |    8 | 00/81DE : D0 D0 D0 D0 |                          HEX     D0D0D0D0D0D0D0D0     ; lines 184-191
      |                                       |             |    |         |      |           D0 D0 D0 D0 |
15565 | 42                    tables.s     34 | Empty       | 11 |         |    0 | 00/81E6               |                                                       
15566 | 42                    tables.s     35 | Empty       | 11 |         |    0 | 00/81E6               | ScanAdrH                                              
15567 | 42                    tables.s     36 | Data        | 11 |         |    8 | 00/81E6 : 20 24 28 2C |                          HEX     2024282C3034383C     ; lines 0-7
      |                                       |             |    |         |      |           30 34 38 3C |
15568 | 42                    tables.s     37 | Data        | 11 |         |    8 | 00/81EE : 20 24 28 2C |                          HEX     2024282C3034383C     ; lines 8-15
      |                                       |             |    |         |      |           30 34 38 3C |
15569 | 42                    tables.s     38 | Data        | 11 |         |    8 | 00/81F6 : 21 25 29 2D |                          HEX     2125292D3135393D     ; lines 16-23
      |                                       |             |    |         |      |           31 35 39 3D |
15570 | 42                    tables.s     39 | Data        | 11 |         |    8 | 00/81FE : 21 25 29 2D |                          HEX     2125292D3135393D     ; lines 24-31
      |                                       |             |    |         |      |           31 35 39 3D |
15571 | 42                    tables.s     40 | Data        | 11 |         |    8 | 00/8206 : 22 26 2A 2E |                          HEX     22262A2E32363A3E     ; lines 32-39
      |                                       |             |    |         |      |           32 36 3A 3E |
15572 | 42                    tables.s     41 | Data        | 11 |         |    8 | 00/820E : 22 26 2A 2E |                          HEX     22262A2E32363A3E     ; lines 40-47
      |                                       |             |    |         |      |           32 36 3A 3E |
15573 | 42                    tables.s     42 | Data        | 11 |         |    8 | 00/8216 : 23 27 2B 2F |                          HEX     23272B2F33373B3F     ; lines 48-55
      |                                       |             |    |         |      |           33 37 3B 3F |
15574 | 42                    tables.s     43 | Data        | 11 |         |    8 | 00/821E : 23 27 2B 2F |                          HEX     23272B2F33373B3F     ; lines 56-63
      |                                       |             |    |         |      |           33 37 3B 3F |
15575 | 42                    tables.s     44 | Data        | 11 |         |    8 | 00/8226 : 20 24 28 2C |                          HEX     2024282C3034383C     ; lines 64-71
      |                                       |             |    |         |      |           30 34 38 3C |
15576 | 42                    tables.s     45 | Data        | 11 |         |    8 | 00/822E : 20 24 28 2C |                          HEX     2024282C3034383C     ; lines 72-79
      |                                       |             |    |         |      |           30 34 38 3C |
15577 | 42                    tables.s     46 | Data        | 11 |         |    8 | 00/8236 : 21 25 29 2D |                          HEX     2125292D3135393D     ; lines 80-87
      |                                       |             |    |         |      |           31 35 39 3D |
15578 | 42                    tables.s     47 | Data        | 11 |         |    8 | 00/823E : 21 25 29 2D |                          HEX     2125292D3135393D     ; lines 88-95
      |                                       |             |    |         |      |           31 35 39 3D |
15579 | 42                    tables.s     48 | Data        | 11 |         |    8 | 00/8246 : 22 26 2A 2E |                          HEX     22262A2E32363A3E     ; lines 96-103
      |                                       |             |    |         |      |           32 36 3A 3E |
15580 | 42                    tables.s     49 | Data        | 11 |         |    8 | 00/824E : 22 26 2A 2E |                          HEX     22262A2E32363A3E     ; lines 104-111
      |                                       |             |    |         |      |           32 36 3A 3E |
15581 | 42                    tables.s     50 | Data        | 11 |         |    8 | 00/8256 : 23 27 2B 2F |                          HEX     23272B2F33373B3F     ; lines 112-119
      |                                       |             |    |         |      |           33 37 3B 3F |
15582 | 42                    tables.s     51 | Data        | 11 |         |    8 | 00/825E : 23 27 2B 2F |                          HEX     23272B2F33373B3F     ; lines 120-127
      |                                       |             |    |         |      |           33 37 3B 3F |
15583 | 42                    tables.s     52 | Data        | 11 |         |    8 | 00/8266 : 20 24 28 2C |                          HEX     2024282C3034383C     ; lines 128-135
      |                                       |             |    |         |      |           30 34 38 3C |
15584 | 42                    tables.s     53 | Data        | 11 |         |    8 | 00/826E : 20 24 28 2C |                          HEX     2024282C3034383C     ; lines 136-143
      |                                       |             |    |         |      |           30 34 38 3C |
15585 | 42                    tables.s     54 | Data        | 11 |         |    8 | 00/8276 : 21 25 29 2D |                          HEX     2125292D3135393D     ; lines 144-151
      |                                       |             |    |         |      |           31 35 39 3D |
15586 | 42                    tables.s     55 | Data        | 11 |         |    8 | 00/827E : 21 25 29 2D |                          HEX     2125292D3135393D     ; lines 152-159
      |                                       |             |    |         |      |           31 35 39 3D |
15587 | 42                    tables.s     56 | Data        | 11 |         |    8 | 00/8286 : 22 26 2A 2E |                          HEX     22262A2E32363A3E     ; lines 160-167
      |                                       |             |    |         |      |           32 36 3A 3E |
15588 | 42                    tables.s     57 | Data        | 11 |         |    8 | 00/828E : 22 26 2A 2E |                          HEX     22262A2E32363A3E     ; lines 168-175
      |                                       |             |    |         |      |           32 36 3A 3E |
15589 | 42                    tables.s     58 | Data        | 11 |         |    8 | 00/8296 : 23 27 2B 2F |                          HEX     23272B2F33373B3F     ; lines 176-183
      |                                       |             |    |         |      |           33 37 3B 3F |
15590 | 42                    tables.s     59 | Data        | 11 |         |    8 | 00/829E : 23 27 2B 2F |                          HEX     23272B2F33373B3F     ; lines 184-191
      |                                       |             |    |         |      |           33 37 3B 3F |
15591 | 42                    tables.s     60 | Empty       | 11 |         |    0 | 00/82A6               |                                                       
15592 | 42                    tables.s     61 | Comment     | 11 |         |    0 | 00/82A6               | *----------------------------------------------
15593 | 42                    tables.s     62 | Comment     | 11 |         |    0 | 00/82A6               | * Divide/modulo lookup tables for sprite erase
15594 | 42                    tables.s     63 | Comment     | 11 |         |    0 | 00/82A6               | *----------------------------------------------
15595 | 42                    tables.s     64 | Empty       | 11 |         |    0 | 00/82A6               |                                                       
15596 | 42                    tables.s     65 | Comment     | 11 |         |    0 | 00/82A6               | * Divide-by-7 lookup for pixel X (0-139)
15597 | 42                    tables.s     66 | Empty       | 11 |         |    0 | 00/82A6               | XDiv7                                                 
15598 | 42                    tables.s     67 | Data        | 11 |         |   16 | 00/82A6 : 00 00 00 00 |                          HEX     00000000000000010101010101010202
      |                                       |             |    |         |      |           00 00 00 01 |
      |                                       |             |    |         |      |           01 01 01 01 |
      |                                       |             |    |         |      |           01 01 02 02 |
15599 | 42                    tables.s     68 | Data        | 11 |         |   16 | 00/82B6 : 02 02 02 02 |                          HEX     02020202020303030303030304040404
      |                                       |             |    |         |      |           02 03 03 03 |
      |                                       |             |    |         |      |           03 03 03 03 |
      |                                       |             |    |         |      |           04 04 04 04 |
15600 | 42                    tables.s     69 | Data        | 11 |         |   16 | 00/82C6 : 04 04 04 05 |                          HEX     04040405050505050505060606060606
      |                                       |             |    |         |      |           05 05 05 05 |
      |                                       |             |    |         |      |           05 05 06 06 |
      |                                       |             |    |         |      |           06 06 06 06 |
15601 | 42                    tables.s     70 | Data        | 11 |         |   16 | 00/82D6 : 06 07 07 07 |                          HEX     06070707070707070808080808080809
      |                                       |             |    |         |      |           07 07 07 07 |
      |                                       |             |    |         |      |           08 08 08 08 |
      |                                       |             |    |         |      |           08 08 08 09 |
15602 | 42                    tables.s     71 | Data        | 11 |         |   16 | 00/82E6 : 09 09 09 09 |                          HEX     0909090909090A0A0A0A0A0A0A0B0B0B
      |                                       |             |    |         |      |           09 09 0A 0A |
      |                                       |             |    |         |      |           0A 0A 0A 0A |
      |                                       |             |    |         |      |           0A 0B 0B 0B |
15603 | 42                    tables.s     72 | Data        | 11 |         |   16 | 00/82F6 : 0B 0B 0B 0B |                          HEX     0B0B0B0B0C0C0C0C0C0C0C0D0D0D0D0D
      |                                       |             |    |         |      |           0C 0C 0C 0C |
      |                                       |             |    |         |      |           0C 0C 0C 0D |
      |                                       |             |    |         |      |           0D 0D 0D 0D |
15604 | 42                    tables.s     73 | Data        | 11 |         |   16 | 00/8306 : 0D 0D 0E 0E |                          HEX     0D0D0E0E0E0E0E0E0E0F0F0F0F0F0F0F
      |                                       |             |    |         |      |           0E 0E 0E 0E |
      |                                       |             |    |         |      |           0E 0F 0F 0F |
      |                                       |             |    |         |      |           0F 0F 0F 0F |
15605 | 42                    tables.s     74 | Data        | 11 |         |   16 | 00/8316 : 10 10 10 10 |                          HEX     10101010101010111111111111111212
      |                                       |             |    |         |      |           10 10 10 11 |
      |                                       |             |    |         |      |           11 11 11 11 |
      |                                       |             |    |         |      |           11 11 12 12 |
15606 | 42                    tables.s     75 | Data        | 11 |         |   12 | 00/8326 : 12 12 12 12 |                          HEX     121212121213131313131313
      |                                       |             |    |         |      |           12 13 13 13 |
      |                                       |             |    |         |      |           13 13 13 13 |
15607 | 42                    tables.s     76 | Empty       | 11 |         |    0 | 00/8332               |                                                       
15608 | 42                    tables.s     77 | Comment     | 11 |         |    0 | 00/8332               | * Modulo-7 lookup for pixel X (0-139)
15609 | 42                    tables.s     78 | Empty       | 11 |         |    0 | 00/8332               | XMod7                                                 
15610 | 42                    tables.s     79 | Data        | 11 |         |   16 | 00/8332 : 00 01 02 03 |                          HEX     00010203040506000102030405060001
      |                                       |             |    |         |      |           04 05 06 00 |
      |                                       |             |    |         |      |           01 02 03 04 |
      |                                       |             |    |         |      |           05 06 00 01 |
15611 | 42                    tables.s     80 | Data        | 11 |         |   16 | 00/8342 : 02 03 04 05 |                          HEX     02030405060001020304050600010203
      |                                       |             |    |         |      |           06 00 01 02 |
      |                                       |             |    |         |      |           03 04 05 06 |
      |                                       |             |    |         |      |           00 01 02 03 |
15612 | 42                    tables.s     81 | Data        | 11 |         |   16 | 00/8352 : 04 05 06 00 |                          HEX     04050600010203040506000102030405
      |                                       |             |    |         |      |           01 02 03 04 |
      |                                       |             |    |         |      |           05 06 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
15613 | 42                    tables.s     82 | Data        | 11 |         |   16 | 00/8362 : 06 00 01 02 |                          HEX     06000102030405060001020304050600
      |                                       |             |    |         |      |           03 04 05 06 |
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 06 00 |
15614 | 42                    tables.s     83 | Data        | 11 |         |   16 | 00/8372 : 01 02 03 04 |                          HEX     01020304050600010203040506000102
      |                                       |             |    |         |      |           05 06 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           06 00 01 02 |
15615 | 42                    tables.s     84 | Data        | 11 |         |   16 | 00/8382 : 03 04 05 06 |                          HEX     03040506000102030405060001020304
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 06 00 |
      |                                       |             |    |         |      |           01 02 03 04 |
15616 | 42                    tables.s     85 | Data        | 11 |         |   16 | 00/8392 : 05 06 00 01 |                          HEX     05060001020304050600010203040506
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           06 00 01 02 |
      |                                       |             |    |         |      |           03 04 05 06 |
15617 | 42                    tables.s     86 | Data        | 11 |         |   16 | 00/83A2 : 00 01 02 03 |                          HEX     00010203040506000102030405060001
      |                                       |             |    |         |      |           04 05 06 00 |
      |                                       |             |    |         |      |           01 02 03 04 |
      |                                       |             |    |         |      |           05 06 00 01 |
15618 | 42                    tables.s     87 | Data        | 11 |         |   12 | 00/83B2 : 02 03 04 05 |                          HEX     020304050600010203040506
      |                                       |             |    |         |      |           06 00 01 02 |
      |                                       |             |    |         |      |           03 04 05 06 |
15619 | 42                    tables.s     88 | Empty       | 11 |         |    0 | 00/83BE               |                                                       
15620 | 42                    tables.s     89 | Comment     | 11 |         |    0 | 00/83BE               | * Divide-by-6 lookup for scanline Y (0-191)
15621 | 42                    tables.s     90 | Empty       | 11 |         |    0 | 00/83BE               | YDiv6                                                 
15622 | 42                    tables.s     91 | Data        | 11 |         |   16 | 00/83BE : 00 00 00 00 |                          HEX     00000000000001010101010102020202
      |                                       |             |    |         |      |           00 00 01 01 |
      |                                       |             |    |         |      |           01 01 01 01 |
      |                                       |             |    |         |      |           02 02 02 02 |
15623 | 42                    tables.s     92 | Data        | 11 |         |   16 | 00/83CE : 02 02 03 03 |                          HEX     02020303030303030404040404040505
      |                                       |             |    |         |      |           03 03 03 03 |
      |                                       |             |    |         |      |           04 04 04 04 |
      |                                       |             |    |         |      |           04 04 05 05 |
15624 | 42                    tables.s     93 | Data        | 11 |         |   16 | 00/83DE : 05 05 05 05 |                          HEX     05050505060606060606070707070707
      |                                       |             |    |         |      |           06 06 06 06 |
      |                                       |             |    |         |      |           06 06 07 07 |
      |                                       |             |    |         |      |           07 07 07 07 |
15625 | 42                    tables.s     94 | Data        | 11 |         |   16 | 00/83EE : 08 08 08 08 |                          HEX     0808080808080909090909090A0A0A0A
      |                                       |             |    |         |      |           08 08 09 09 |
      |                                       |             |    |         |      |           09 09 09 09 |
      |                                       |             |    |         |      |           0A 0A 0A 0A |
15626 | 42                    tables.s     95 | Data        | 11 |         |   16 | 00/83FE : 0A 0A 0B 0B |                          HEX     0A0A0B0B0B0B0B0B0C0C0C0C0C0C0D0D
      |                                       |             |    |         |      |           0B 0B 0B 0B |
      |                                       |             |    |         |      |           0C 0C 0C 0C |
      |                                       |             |    |         |      |           0C 0C 0D 0D |
15627 | 42                    tables.s     96 | Data        | 11 |         |   16 | 00/840E : 0D 0D 0D 0D |                          HEX     0D0D0D0D0E0E0E0E0E0E0F0F0F0F0F0F
      |                                       |             |    |         |      |           0E 0E 0E 0E |
      |                                       |             |    |         |      |           0E 0E 0F 0F |
      |                                       |             |    |         |      |           0F 0F 0F 0F |
15628 | 42                    tables.s     97 | Data        | 11 |         |   16 | 00/841E : 10 10 10 10 |                          HEX     10101010101011111111111112121212
      |                                       |             |    |         |      |           10 10 11 11 |
      |                                       |             |    |         |      |           11 11 11 11 |
      |                                       |             |    |         |      |           12 12 12 12 |
15629 | 42                    tables.s     98 | Data        | 11 |         |   16 | 00/842E : 12 12 13 13 |                          HEX     12121313131313131414141414141515
      |                                       |             |    |         |      |           13 13 13 13 |
      |                                       |             |    |         |      |           14 14 14 14 |
      |                                       |             |    |         |      |           14 14 15 15 |
15630 | 42                    tables.s     99 | Data        | 11 |         |   16 | 00/843E : 15 15 15 15 |                          HEX     15151515161616161616171717171717
      |                                       |             |    |         |      |           16 16 16 16 |
      |                                       |             |    |         |      |           16 16 17 17 |
      |                                       |             |    |         |      |           17 17 17 17 |
15631 | 42                    tables.s    100 | Data        | 11 |         |   16 | 00/844E : 18 18 18 18 |                          HEX     1818181818181919191919191A1A1A1A
      |                                       |             |    |         |      |           18 18 19 19 |
      |                                       |             |    |         |      |           19 19 19 19 |
      |                                       |             |    |         |      |           1A 1A 1A 1A |
15632 | 42                    tables.s    101 | Data        | 11 |         |   16 | 00/845E : 1A 1A 1B 1B |                          HEX     1A1A1B1B1B1B1B1B1C1C1C1C1C1C1D1D
      |                                       |             |    |         |      |           1B 1B 1B 1B |
      |                                       |             |    |         |      |           1C 1C 1C 1C |
      |                                       |             |    |         |      |           1C 1C 1D 1D |
15633 | 42                    tables.s    102 | Data        | 11 |         |   16 | 00/846E : 1D 1D 1D 1D |                          HEX     1D1D1D1D1E1E1E1E1E1E1F1F1F1F1F1F
      |                                       |             |    |         |      |           1E 1E 1E 1E |
      |                                       |             |    |         |      |           1E 1E 1F 1F |
      |                                       |             |    |         |      |           1F 1F 1F 1F |
15634 | 42                    tables.s    103 | Empty       | 11 |         |    0 | 00/847E               |                                                       
15635 | 42                    tables.s    104 | Comment     | 11 |         |    0 | 00/847E               | * Modulo-6 lookup for scanline Y (0-191)
15636 | 42                    tables.s    105 | Empty       | 11 |         |    0 | 00/847E               | YMod6                                                 
15637 | 42                    tables.s    106 | Data        | 11 |         |   16 | 00/847E : 00 01 02 03 |                          HEX     00010203040500010203040500010203
      |                                       |             |    |         |      |           04 05 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           00 01 02 03 |
15638 | 42                    tables.s    107 | Data        | 11 |         |   16 | 00/848E : 04 05 00 01 |                          HEX     04050001020304050001020304050001
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 00 01 |
15639 | 42                    tables.s    108 | Data        | 11 |         |   16 | 00/849E : 02 03 04 05 |                          HEX     02030405000102030405000102030405
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
15640 | 42                    tables.s    109 | Data        | 11 |         |   16 | 00/84AE : 00 01 02 03 |                          HEX     00010203040500010203040500010203
      |                                       |             |    |         |      |           04 05 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           00 01 02 03 |
15641 | 42                    tables.s    110 | Data        | 11 |         |   16 | 00/84BE : 04 05 00 01 |                          HEX     04050001020304050001020304050001
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 00 01 |
15642 | 42                    tables.s    111 | Data        | 11 |         |   16 | 00/84CE : 02 03 04 05 |                          HEX     02030405000102030405000102030405
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
15643 | 42                    tables.s    112 | Data        | 11 |         |   16 | 00/84DE : 00 01 02 03 |                          HEX     00010203040500010203040500010203
      |                                       |             |    |         |      |           04 05 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           00 01 02 03 |
15644 | 42                    tables.s    113 | Data        | 11 |         |   16 | 00/84EE : 04 05 00 01 |                          HEX     04050001020304050001020304050001
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 00 01 |
15645 | 42                    tables.s    114 | Data        | 11 |         |   16 | 00/84FE : 02 03 04 05 |                          HEX     02030405000102030405000102030405
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
15646 | 42                    tables.s    115 | Data        | 11 |         |   16 | 00/850E : 00 01 02 03 |                          HEX     00010203040500010203040500010203
      |                                       |             |    |         |      |           04 05 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           00 01 02 03 |
15647 | 42                    tables.s    116 | Data        | 11 |         |   16 | 00/851E : 04 05 00 01 |                          HEX     04050001020304050001020304050001
      |                                       |             |    |         |      |           02 03 04 05 |
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 00 01 |
15648 | 42                    tables.s    117 | Data        | 11 |         |   16 | 00/852E : 02 03 04 05 |                          HEX     02030405000102030405000102030405
      |                                       |             |    |         |      |           00 01 02 03 |
      |                                       |             |    |         |      |           04 05 00 01 |
      |                                       |             |    |         |      |           02 03 04 05 |
15649 | 42                    tables.s    118 | Empty       | 11 |         |    0 | 00/853E               |                                                       
15650 | 42                    tables.s    119 | Comment     | 11 |         |    0 | 00/853E               | *----------------------------------------------
15651 | 42                    tables.s    120 | Comment     | 11 |         |    0 | 00/853E               | * Row-times-20 offset table for EraseSpriteArea
15652 | 42                    tables.s    121 | Comment     | 11 |         |    0 | 00/853E               | * RowOfs20[r] = r * 20, split into low/high bytes
15653 | 42                    tables.s    122 | Comment     | 11 |         |    0 | 00/853E               | * Used to replace O(n) MapPtr advancement loop
15654 | 42                    tables.s    123 | Comment     | 11 |         |    0 | 00/853E               | *----------------------------------------------
15655 | 42                    tables.s    124 | Empty       | 11 |         |    0 | 00/853E               | RowOfs20L                                             
15656 | 42                    tables.s    125 | Data        | 11 |         |    8 | 00/853E : 00 14 28 3C |                          HEX     0014283C5064788C     
      |                                       |             |    |         |      |           50 64 78 8C |
15657 | 42                    tables.s    126 | Data        | 11 |         |    8 | 00/8546 : A0 B4 C8 DC |                          HEX     A0B4C8DCF004182C     
      |                                       |             |    |         |      |           F0 04 18 2C |
15658 | 42                    tables.s    127 | Data        | 11 |         |    8 | 00/854E : 40 54 68 7C |                          HEX     4054687C90A4B8CC     
      |                                       |             |    |         |      |           90 A4 B8 CC |
15659 | 42                    tables.s    128 | Data        | 11 |         |    8 | 00/8556 : E0 F4 08 1C |                          HEX     E0F4081C3044586C     
      |                                       |             |    |         |      |           30 44 58 6C |
15660 | 42                    tables.s    129 | Empty       | 11 |         |    0 | 00/855E               | RowOfs20H                                             
15661 | 42                    tables.s    130 | Data        | 11 |         |    8 | 00/855E : 00 00 00 00 |                          HEX     0000000000000000     
      |                                       |             |    |         |      |           00 00 00 00 |
15662 | 42                    tables.s    131 | Data        | 11 |         |    8 | 00/8566 : 00 00 00 00 |                          HEX     0000000000010101     
      |                                       |             |    |         |      |           00 01 01 01 |
15663 | 42                    tables.s    132 | Data        | 11 |         |    8 | 00/856E : 01 01 01 01 |                          HEX     0101010101010101     
      |                                       |             |    |         |      |           01 01 01 01 |
15664 | 42                    tables.s    133 | Data        | 11 |         |    8 | 00/8576 : 01 01 02 02 |                          HEX     0101020202020202     
      |                                       |             |    |         |      |           02 02 02 02 |
15665 | 42                    tables.s    134 | Empty       | 11 |         |    0 | 00/857E               |                                                       
15666 | 42                    tables.s    135 | Empty       | 11 |         |    0 | 00/857E               |                                                       
15667 |  1                    bagman.s    127 | Directive   | 11 |         |    0 | 00/857E               |                          PUT     screendata.s         
15668 | 43                screendata.s      1 | Comment     | 11 |         |    0 | 00/857E               | *
15669 | 43                screendata.s      2 | Comment     | 11 |         |    0 | 00/857E               | * Tile atlas and address tables (MAIN RAM)
15670 | 43                screendata.s      3 | Comment     | 11 |         |    0 | 00/857E               | * 211 unique tiles, 7x6 pixels (4 bytes x 6 rows = 24 bytes/tile)
15671 | 43                screendata.s      4 | Comment     | 11 |         |    0 | 00/857E               | *
15672 | 43                screendata.s      5 | Empty       | 11 |         |    0 | 00/857E               |                                                       
15673 | 43                screendata.s      6 | Equivalence | 11 |         |    0 | 00/857E               | TileCount                =       211                  
15674 | 43                screendata.s      7 | Empty       | 11 |         |    0 | 00/857E               |                                                       
15675 | 43                screendata.s      8 | Comment     | 11 |         |    0 | 00/857E               | * TileAtlas (211*24 = 5064 bytes) is decompressed at boot.
15676 | 43                screendata.s      9 | Comment     | 11 |         |    0 | 00/857E               | * Label reserved via DUM in bagman.s after GameCodeEnd.
15677 | 43                screendata.s     10 | Empty       | 11 |         |    0 | 00/857E               |                                                       
15678 | 43                screendata.s     11 | Comment     | 11 |         |    0 | 00/857E               | * Tile address tables: TileAtlas + tile_id * 24
15679 | 43                screendata.s     12 | Empty       | 11 |         |    0 | 00/857E               | TileAddrL                                             
15680 | 43                screendata.s     13 | Data        | 11 |         |    8 | 00/857E : 36 4E 66 7E |                          DFB     <TileAtlas+0,<TileAtlas+24,<TileAtlas+48,<TileAtlas+72,<TileAtlas+96,<TileAtlas+120,<TileAtlas+144,<TileAtlas+168
      |                                       |             |    |         |      |           96 AE C6 DE |
15681 | 43                screendata.s     14 | Data        | 11 |         |    8 | 00/8586 : F6 0E 26 3E |                          DFB     <TileAtlas+192,<TileAtlas+216,<TileAtlas+240,<TileAtlas+264,<TileAtlas+288,<TileAtlas+312,<TileAtlas+336,<TileAtlas+360
      |                                       |             |    |         |      |           56 6E 86 9E |
15682 | 43                screendata.s     15 | Data        | 11 |         |    8 | 00/858E : B6 CE E6 FE |                          DFB     <TileAtlas+384,<TileAtlas+408,<TileAtlas+432,<TileAtlas+456,<TileAtlas+480,<TileAtlas+504,<TileAtlas+528,<TileAtlas+552
      |                                       |             |    |         |      |           16 2E 46 5E |
15683 | 43                screendata.s     16 | Data        | 11 |         |    8 | 00/8596 : 76 8E A6 BE |                          DFB     <TileAtlas+576,<TileAtlas+600,<TileAtlas+624,<TileAtlas+648,<TileAtlas+672,<TileAtlas+696,<TileAtlas+720,<TileAtlas+744
      |                                       |             |    |         |      |           D6 EE 06 1E |
15684 | 43                screendata.s     17 | Data        | 11 |         |    8 | 00/859E : 36 4E 66 7E |                          DFB     <TileAtlas+768,<TileAtlas+792,<TileAtlas+816,<TileAtlas+840,<TileAtlas+864,<TileAtlas+888,<TileAtlas+912,<TileAtlas+936
      |                                       |             |    |         |      |           96 AE C6 DE |
15685 | 43                screendata.s     18 | Data        | 11 |         |    8 | 00/85A6 : F6 0E 26 3E |                          DFB     <TileAtlas+960,<TileAtlas+984,<TileAtlas+1008,<TileAtlas+1032,<TileAtlas+1056,<TileAtlas+1080,<TileAtlas+1104,<TileAtlas+1128
      |                                       |             |    |         |      |           56 6E 86 9E |
15686 | 43                screendata.s     19 | Data        | 11 |         |    8 | 00/85AE : B6 CE E6 FE |                          DFB     <TileAtlas+1152,<TileAtlas+1176,<TileAtlas+1200,<TileAtlas+1224,<TileAtlas+1248,<TileAtlas+1272,<TileAtlas+1296,<TileAtlas+1320
      |                                       |             |    |         |      |           16 2E 46 5E |
15687 | 43                screendata.s     20 | Data        | 11 |         |    8 | 00/85B6 : 76 8E A6 BE |                          DFB     <TileAtlas+1344,<TileAtlas+1368,<TileAtlas+1392,<TileAtlas+1416,<TileAtlas+1440,<TileAtlas+1464,<TileAtlas+1488,<TileAtlas+1512
      |                                       |             |    |         |      |           D6 EE 06 1E |
15688 | 43                screendata.s     21 | Data        | 11 |         |    8 | 00/85BE : 36 4E 66 7E |                          DFB     <TileAtlas+1536,<TileAtlas+1560,<TileAtlas+1584,<TileAtlas+1608,<TileAtlas+1632,<TileAtlas+1656,<TileAtlas+1680,<TileAtlas+1704
      |                                       |             |    |         |      |           96 AE C6 DE |
15689 | 43                screendata.s     22 | Data        | 11 |         |    8 | 00/85C6 : F6 0E 26 3E |                          DFB     <TileAtlas+1728,<TileAtlas+1752,<TileAtlas+1776,<TileAtlas+1800,<TileAtlas+1824,<TileAtlas+1848,<TileAtlas+1872,<TileAtlas+1896
      |                                       |             |    |         |      |           56 6E 86 9E |
15690 | 43                screendata.s     23 | Data        | 11 |         |    8 | 00/85CE : B6 CE E6 FE |                          DFB     <TileAtlas+1920,<TileAtlas+1944,<TileAtlas+1968,<TileAtlas+1992,<TileAtlas+2016,<TileAtlas+2040,<TileAtlas+2064,<TileAtlas+2088
      |                                       |             |    |         |      |           16 2E 46 5E |
15691 | 43                screendata.s     24 | Data        | 11 |         |    8 | 00/85D6 : 76 8E A6 BE |                          DFB     <TileAtlas+2112,<TileAtlas+2136,<TileAtlas+2160,<TileAtlas+2184,<TileAtlas+2208,<TileAtlas+2232,<TileAtlas+2256,<TileAtlas+2280
      |                                       |             |    |         |      |           D6 EE 06 1E |
15692 | 43                screendata.s     25 | Data        | 11 |         |    8 | 00/85DE : 36 4E 66 7E |                          DFB     <TileAtlas+2304,<TileAtlas+2328,<TileAtlas+2352,<TileAtlas+2376,<TileAtlas+2400,<TileAtlas+2424,<TileAtlas+2448,<TileAtlas+2472
      |                                       |             |    |         |      |           96 AE C6 DE |
15693 | 43                screendata.s     26 | Data        | 11 |         |    8 | 00/85E6 : F6 0E 26 3E |                          DFB     <TileAtlas+2496,<TileAtlas+2520,<TileAtlas+2544,<TileAtlas+2568,<TileAtlas+2592,<TileAtlas+2616,<TileAtlas+2640,<TileAtlas+2664
      |                                       |             |    |         |      |           56 6E 86 9E |
15694 | 43                screendata.s     27 | Data        | 11 |         |    8 | 00/85EE : B6 CE E6 FE |                          DFB     <TileAtlas+2688,<TileAtlas+2712,<TileAtlas+2736,<TileAtlas+2760,<TileAtlas+2784,<TileAtlas+2808,<TileAtlas+2832,<TileAtlas+2856
      |                                       |             |    |         |      |           16 2E 46 5E |
15695 | 43                screendata.s     28 | Data        | 11 |         |    8 | 00/85F6 : 76 8E A6 BE |                          DFB     <TileAtlas+2880,<TileAtlas+2904,<TileAtlas+2928,<TileAtlas+2952,<TileAtlas+2976,<TileAtlas+3000,<TileAtlas+3024,<TileAtlas+3048
      |                                       |             |    |         |      |           D6 EE 06 1E |
15696 | 43                screendata.s     29 | Data        | 11 |         |    8 | 00/85FE : 36 4E 66 7E |                          DFB     <TileAtlas+3072,<TileAtlas+3096,<TileAtlas+3120,<TileAtlas+3144,<TileAtlas+3168,<TileAtlas+3192,<TileAtlas+3216,<TileAtlas+3240
      |                                       |             |    |         |      |           96 AE C6 DE |
15697 | 43                screendata.s     30 | Data        | 11 |         |    8 | 00/8606 : F6 0E 26 3E |                          DFB     <TileAtlas+3264,<TileAtlas+3288,<TileAtlas+3312,<TileAtlas+3336,<TileAtlas+3360,<TileAtlas+3384,<TileAtlas+3408,<TileAtlas+3432
      |                                       |             |    |         |      |           56 6E 86 9E |
15698 | 43                screendata.s     31 | Data        | 11 |         |    8 | 00/860E : B6 CE E6 FE |                          DFB     <TileAtlas+3456,<TileAtlas+3480,<TileAtlas+3504,<TileAtlas+3528,<TileAtlas+3552,<TileAtlas+3576,<TileAtlas+3600,<TileAtlas+3624
      |                                       |             |    |         |      |           16 2E 46 5E |
15699 | 43                screendata.s     32 | Data        | 11 |         |    8 | 00/8616 : 76 8E A6 BE |                          DFB     <TileAtlas+3648,<TileAtlas+3672,<TileAtlas+3696,<TileAtlas+3720,<TileAtlas+3744,<TileAtlas+3768,<TileAtlas+3792,<TileAtlas+3816
      |                                       |             |    |         |      |           D6 EE 06 1E |
15700 | 43                screendata.s     33 | Data        | 11 |         |    8 | 00/861E : 36 4E 66 7E |                          DFB     <TileAtlas+3840,<TileAtlas+3864,<TileAtlas+3888,<TileAtlas+3912,<TileAtlas+3936,<TileAtlas+3960,<TileAtlas+3984,<TileAtlas+4008
      |                                       |             |    |         |      |           96 AE C6 DE |
15701 | 43                screendata.s     34 | Data        | 11 |         |    8 | 00/8626 : F6 0E 26 3E |                          DFB     <TileAtlas+4032,<TileAtlas+4056,<TileAtlas+4080,<TileAtlas+4104,<TileAtlas+4128,<TileAtlas+4152,<TileAtlas+4176,<TileAtlas+4200
      |                                       |             |    |         |      |           56 6E 86 9E |
15702 | 43                screendata.s     35 | Data        | 11 |         |    8 | 00/862E : B6 CE E6 FE |                          DFB     <TileAtlas+4224,<TileAtlas+4248,<TileAtlas+4272,<TileAtlas+4296,<TileAtlas+4320,<TileAtlas+4344,<TileAtlas+4368,<TileAtlas+4392
      |                                       |             |    |         |      |           16 2E 46 5E |
15703 | 43                screendata.s     36 | Data        | 11 |         |    8 | 00/8636 : 76 8E A6 BE |                          DFB     <TileAtlas+4416,<TileAtlas+4440,<TileAtlas+4464,<TileAtlas+4488,<TileAtlas+4512,<TileAtlas+4536,<TileAtlas+4560,<TileAtlas+4584
      |                                       |             |    |         |      |           D6 EE 06 1E |
15704 | 43                screendata.s     37 | Data        | 11 |         |    8 | 00/863E : 36 4E 66 7E |                          DFB     <TileAtlas+4608,<TileAtlas+4632,<TileAtlas+4656,<TileAtlas+4680,<TileAtlas+4704,<TileAtlas+4728,<TileAtlas+4752,<TileAtlas+4776
      |                                       |             |    |         |      |           96 AE C6 DE |
15705 | 43                screendata.s     38 | Data        | 11 |         |    8 | 00/8646 : F6 0E 26 3E |                          DFB     <TileAtlas+4800,<TileAtlas+4824,<TileAtlas+4848,<TileAtlas+4872,<TileAtlas+4896,<TileAtlas+4920,<TileAtlas+4944,<TileAtlas+4968
      |                                       |             |    |         |      |           56 6E 86 9E |
15706 | 43                screendata.s     39 | Data        | 11 |         |    3 | 00/864E : B6 CE E6    |                          DFB     <TileAtlas+4992,<TileAtlas+5016,<TileAtlas+5040
15707 | 43                screendata.s     40 | Empty       | 11 |         |    0 | 00/8651               |                                                       
15708 | 43                screendata.s     41 | Empty       | 11 |         |    0 | 00/8651               | TileAddrH                                             
15709 | 43                screendata.s     42 | Data        | 11 |         |    8 | 00/8651 : 9C 9C 9C 9C |                          DFB     >TileAtlas+0,>TileAtlas+24,>TileAtlas+48,>TileAtlas+72,>TileAtlas+96,>TileAtlas+120,>TileAtlas+144,>TileAtlas+168
      |                                       |             |    |         |      |           9C 9C 9C 9C |
15710 | 43                screendata.s     43 | Data        | 11 |         |    8 | 00/8659 : 9C 9D 9D 9D |                          DFB     >TileAtlas+192,>TileAtlas+216,>TileAtlas+240,>TileAtlas+264,>TileAtlas+288,>TileAtlas+312,>TileAtlas+336,>TileAtlas+360
      |                                       |             |    |         |      |           9D 9D 9D 9D |
15711 | 43                screendata.s     44 | Data        | 11 |         |    8 | 00/8661 : 9D 9D 9D 9D |                          DFB     >TileAtlas+384,>TileAtlas+408,>TileAtlas+432,>TileAtlas+456,>TileAtlas+480,>TileAtlas+504,>TileAtlas+528,>TileAtlas+552
      |                                       |             |    |         |      |           9E 9E 9E 9E |
15712 | 43                screendata.s     45 | Data        | 11 |         |    8 | 00/8669 : 9E 9E 9E 9E |                          DFB     >TileAtlas+576,>TileAtlas+600,>TileAtlas+624,>TileAtlas+648,>TileAtlas+672,>TileAtlas+696,>TileAtlas+720,>TileAtlas+744
      |                                       |             |    |         |      |           9E 9E 9F 9F |
15713 | 43                screendata.s     46 | Data        | 11 |         |    8 | 00/8671 : 9F 9F 9F 9F |                          DFB     >TileAtlas+768,>TileAtlas+792,>TileAtlas+816,>TileAtlas+840,>TileAtlas+864,>TileAtlas+888,>TileAtlas+912,>TileAtlas+936
      |                                       |             |    |         |      |           9F 9F 9F 9F |
15714 | 43                screendata.s     47 | Data        | 11 |         |    8 | 00/8679 : 9F A0 A0 A0 |                          DFB     >TileAtlas+960,>TileAtlas+984,>TileAtlas+1008,>TileAtlas+1032,>TileAtlas+1056,>TileAtlas+1080,>TileAtlas+1104,>TileAtlas+1128
      |                                       |             |    |         |      |           A0 A0 A0 A0 |
15715 | 43                screendata.s     48 | Data        | 11 |         |    8 | 00/8681 : A0 A0 A0 A0 |                          DFB     >TileAtlas+1152,>TileAtlas+1176,>TileAtlas+1200,>TileAtlas+1224,>TileAtlas+1248,>TileAtlas+1272,>TileAtlas+1296,>TileAtlas+1320
      |                                       |             |    |         |      |           A1 A1 A1 A1 |
15716 | 43                screendata.s     49 | Data        | 11 |         |    8 | 00/8689 : A1 A1 A1 A1 |                          DFB     >TileAtlas+1344,>TileAtlas+1368,>TileAtlas+1392,>TileAtlas+1416,>TileAtlas+1440,>TileAtlas+1464,>TileAtlas+1488,>TileAtlas+1512
      |                                       |             |    |         |      |           A1 A1 A2 A2 |
15717 | 43                screendata.s     50 | Data        | 11 |         |    8 | 00/8691 : A2 A2 A2 A2 |                          DFB     >TileAtlas+1536,>TileAtlas+1560,>TileAtlas+1584,>TileAtlas+1608,>TileAtlas+1632,>TileAtlas+1656,>TileAtlas+1680,>TileAtlas+1704
      |                                       |             |    |         |      |           A2 A2 A2 A2 |
15718 | 43                screendata.s     51 | Data        | 11 |         |    8 | 00/8699 : A2 A3 A3 A3 |                          DFB     >TileAtlas+1728,>TileAtlas+1752,>TileAtlas+1776,>TileAtlas+1800,>TileAtlas+1824,>TileAtlas+1848,>TileAtlas+1872,>TileAtlas+1896
      |                                       |             |    |         |      |           A3 A3 A3 A3 |
15719 | 43                screendata.s     52 | Data        | 11 |         |    8 | 00/86A1 : A3 A3 A3 A3 |                          DFB     >TileAtlas+1920,>TileAtlas+1944,>TileAtlas+1968,>TileAtlas+1992,>TileAtlas+2016,>TileAtlas+2040,>TileAtlas+2064,>TileAtlas+2088
      |                                       |             |    |         |      |           A4 A4 A4 A4 |
15720 | 43                screendata.s     53 | Data        | 11 |         |    8 | 00/86A9 : A4 A4 A4 A4 |                          DFB     >TileAtlas+2112,>TileAtlas+2136,>TileAtlas+2160,>TileAtlas+2184,>TileAtlas+2208,>TileAtlas+2232,>TileAtlas+2256,>TileAtlas+2280
      |                                       |             |    |         |      |           A4 A4 A5 A5 |
15721 | 43                screendata.s     54 | Data        | 11 |         |    8 | 00/86B1 : A5 A5 A5 A5 |                          DFB     >TileAtlas+2304,>TileAtlas+2328,>TileAtlas+2352,>TileAtlas+2376,>TileAtlas+2400,>TileAtlas+2424,>TileAtlas+2448,>TileAtlas+2472
      |                                       |             |    |         |      |           A5 A5 A5 A5 |
15722 | 43                screendata.s     55 | Data        | 11 |         |    8 | 00/86B9 : A5 A6 A6 A6 |                          DFB     >TileAtlas+2496,>TileAtlas+2520,>TileAtlas+2544,>TileAtlas+2568,>TileAtlas+2592,>TileAtlas+2616,>TileAtlas+2640,>TileAtlas+2664
      |                                       |             |    |         |      |           A6 A6 A6 A6 |
15723 | 43                screendata.s     56 | Data        | 11 |         |    8 | 00/86C1 : A6 A6 A6 A6 |                          DFB     >TileAtlas+2688,>TileAtlas+2712,>TileAtlas+2736,>TileAtlas+2760,>TileAtlas+2784,>TileAtlas+2808,>TileAtlas+2832,>TileAtlas+2856
      |                                       |             |    |         |      |           A7 A7 A7 A7 |
15724 | 43                screendata.s     57 | Data        | 11 |         |    8 | 00/86C9 : A7 A7 A7 A7 |                          DFB     >TileAtlas+2880,>TileAtlas+2904,>TileAtlas+2928,>TileAtlas+2952,>TileAtlas+2976,>TileAtlas+3000,>TileAtlas+3024,>TileAtlas+3048
      |                                       |             |    |         |      |           A7 A7 A8 A8 |
15725 | 43                screendata.s     58 | Data        | 11 |         |    8 | 00/86D1 : A8 A8 A8 A8 |                          DFB     >TileAtlas+3072,>TileAtlas+3096,>TileAtlas+3120,>TileAtlas+3144,>TileAtlas+3168,>TileAtlas+3192,>TileAtlas+3216,>TileAtlas+3240
      |                                       |             |    |         |      |           A8 A8 A8 A8 |
15726 | 43                screendata.s     59 | Data        | 11 |         |    8 | 00/86D9 : A8 A9 A9 A9 |                          DFB     >TileAtlas+3264,>TileAtlas+3288,>TileAtlas+3312,>TileAtlas+3336,>TileAtlas+3360,>TileAtlas+3384,>TileAtlas+3408,>TileAtlas+3432
      |                                       |             |    |         |      |           A9 A9 A9 A9 |
15727 | 43                screendata.s     60 | Data        | 11 |         |    8 | 00/86E1 : A9 A9 A9 A9 |                          DFB     >TileAtlas+3456,>TileAtlas+3480,>TileAtlas+3504,>TileAtlas+3528,>TileAtlas+3552,>TileAtlas+3576,>TileAtlas+3600,>TileAtlas+3624
      |                                       |             |    |         |      |           AA AA AA AA |
15728 | 43                screendata.s     61 | Data        | 11 |         |    8 | 00/86E9 : AA AA AA AA |                          DFB     >TileAtlas+3648,>TileAtlas+3672,>TileAtlas+3696,>TileAtlas+3720,>TileAtlas+3744,>TileAtlas+3768,>TileAtlas+3792,>TileAtlas+3816
      |                                       |             |    |         |      |           AA AA AB AB |
15729 | 43                screendata.s     62 | Data        | 11 |         |    8 | 00/86F1 : AB AB AB AB |                          DFB     >TileAtlas+3840,>TileAtlas+3864,>TileAtlas+3888,>TileAtlas+3912,>TileAtlas+3936,>TileAtlas+3960,>TileAtlas+3984,>TileAtlas+4008
      |                                       |             |    |         |      |           AB AB AB AB |
15730 | 43                screendata.s     63 | Data        | 11 |         |    8 | 00/86F9 : AB AC AC AC |                          DFB     >TileAtlas+4032,>TileAtlas+4056,>TileAtlas+4080,>TileAtlas+4104,>TileAtlas+4128,>TileAtlas+4152,>TileAtlas+4176,>TileAtlas+4200
      |                                       |             |    |         |      |           AC AC AC AC |
15731 | 43                screendata.s     64 | Data        | 11 |         |    8 | 00/8701 : AC AC AC AC |                          DFB     >TileAtlas+4224,>TileAtlas+4248,>TileAtlas+4272,>TileAtlas+4296,>TileAtlas+4320,>TileAtlas+4344,>TileAtlas+4368,>TileAtlas+4392
      |                                       |             |    |         |      |           AD AD AD AD |
15732 | 43                screendata.s     65 | Data        | 11 |         |    8 | 00/8709 : AD AD AD AD |                          DFB     >TileAtlas+4416,>TileAtlas+4440,>TileAtlas+4464,>TileAtlas+4488,>TileAtlas+4512,>TileAtlas+4536,>TileAtlas+4560,>TileAtlas+4584
      |                                       |             |    |         |      |           AD AD AE AE |
15733 | 43                screendata.s     66 | Data        | 11 |         |    8 | 00/8711 : AE AE AE AE |                          DFB     >TileAtlas+4608,>TileAtlas+4632,>TileAtlas+4656,>TileAtlas+4680,>TileAtlas+4704,>TileAtlas+4728,>TileAtlas+4752,>TileAtlas+4776
      |                                       |             |    |         |      |           AE AE AE AE |
15734 | 43                screendata.s     67 | Data        | 11 |         |    8 | 00/8719 : AE AF AF AF |                          DFB     >TileAtlas+4800,>TileAtlas+4824,>TileAtlas+4848,>TileAtlas+4872,>TileAtlas+4896,>TileAtlas+4920,>TileAtlas+4944,>TileAtlas+4968
      |                                       |             |    |         |      |           AF AF AF AF |
15735 | 43                screendata.s     68 | Data        | 11 |         |    3 | 00/8721 : AF AF AF    |                          DFB     >TileAtlas+4992,>TileAtlas+5016,>TileAtlas+5040
15736 | 43                screendata.s     69 | Empty       | 11 |         |    0 | 00/8724               |                                                       
15737 | 43                screendata.s     70 | Comment     | 11 |         |    0 | 00/8724               | * Tile maps + collision maps: runtime-only buffer
15738 | 43                screendata.s     71 | Comment     | 11 |         |    0 | 00/8724               | * Decompressed from MapDataCmp at boot into $B000+.
15739 | 43                screendata.s     72 | Dum         | 11 |         |    0 | 00/B000               |                          DUM     $B000                
15740 | 43                screendata.s     73 | Dum         | 11 |         |  640 | 00/B000 : 00 00 00 00 | TileMap1                 DS      640                  
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
15741 | 43                screendata.s     74 | Dum         | 11 |         |  640 | 00/B280 : 00 00 00 00 | TileMap2                 DS      640                  
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
15742 | 43                screendata.s     75 | Dum         | 11 |         |  640 | 00/B500 : 00 00 00 00 | TileMap3                 DS      640                  
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
15743 | 43                screendata.s     76 | Dum         | 11 |         |  640 | 00/B780 : 00 00 00 00 | CollMap1                 DS      640                  
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
15744 | 43                screendata.s     77 | Dum         | 11 |         |  640 | 00/BA00 : 00 00 00 00 | CollMap2                 DS      640                  
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
15745 | 43                screendata.s     78 | Dum         | 11 |         |  640 | 00/BC80 : 00 00 00 00 | CollMap3                 DS      640                  
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
15746 | 43                screendata.s     79 | Dum         | 11 |         |    0 | 00/BF00               |                          DEND                         
15747 | 43                screendata.s     80 | Empty       | 11 |         |    0 | 00/8724               |                                                       
15748 | 43                screendata.s     81 | Equivalence | 11 |         |    0 | 00/8724               | SlopeCount               =       19                   
15749 | 43                screendata.s     82 | Empty       | 11 |         |    0 | 00/8724               | SlopeProfiles                                         
15750 | 43                screendata.s     83 | Data        | 11 |         |    7 | 00/8724 : 03 03 03 03 |                          HEX     03030303030303       ; profile 1
      |                                       |             |    |         |      |           03 03 03    |
15751 | 43                screendata.s     84 | Data        | 11 |         |    7 | 00/872B : 03 03 03 03 |                          HEX     03030303030202       ; profile 2
      |                                       |             |    |         |      |           03 02 02    |
15752 | 43                screendata.s     85 | Data        | 11 |         |    7 | 00/8732 : 02 02 02 02 |                          HEX     02020202020101       ; profile 3
      |                                       |             |    |         |      |           02 01 01    |
15753 | 43                screendata.s     86 | Data        | 11 |         |    7 | 00/8739 : 01 01 00 00 |                          HEX     01010000000000       ; profile 4
      |                                       |             |    |         |      |           00 00 00    |
15754 | 43                screendata.s     87 | Data        | 11 |         |    7 | 00/8740 : 06 06 06 06 |                          HEX     06060606060505       ; profile 5
      |                                       |             |    |         |      |           06 05 05    |
15755 | 43                screendata.s     88 | Data        | 11 |         |    7 | 00/8747 : 05 05 05 05 |                          HEX     05050505050404       ; profile 6
      |                                       |             |    |         |      |           05 04 04    |
15756 | 43                screendata.s     89 | Data        | 11 |         |    7 | 00/874E : 04 04 03 03 |                          HEX     04040303030303       ; profile 7
      |                                       |             |    |         |      |           03 03 03    |
15757 | 43                screendata.s     90 | Data        | 11 |         |    7 | 00/8755 : 00 00 00 00 |                          HEX     00000000000101       ; profile 8
      |                                       |             |    |         |      |           00 01 01    |
15758 | 43                screendata.s     91 | Data        | 11 |         |    7 | 00/875C : 01 01 02 02 |                          HEX     01010202020202       ; profile 9
      |                                       |             |    |         |      |           02 02 02    |
15759 | 43                screendata.s     92 | Data        | 11 |         |    7 | 00/8763 : 02 02 03 03 |                          HEX     02020303030303       ; profile 10
      |                                       |             |    |         |      |           03 03 03    |
15760 | 43                screendata.s     93 | Data        | 11 |         |    7 | 00/876A : 03 03 03 03 |                          HEX     03030303030404       ; profile 11
      |                                       |             |    |         |      |           03 04 04    |
15761 | 43                screendata.s     94 | Data        | 11 |         |    7 | 00/8771 : 04 04 05 05 |                          HEX     04040505050505       ; profile 12
      |                                       |             |    |         |      |           05 05 05    |
15762 | 43                screendata.s     95 | Data        | 11 |         |    7 | 00/8778 : 05 05 06 06 |                          HEX     05050606060606       ; profile 13
      |                                       |             |    |         |      |           06 06 06    |
15763 | 43                screendata.s     96 | Data        | 11 |         |    7 | 00/877F : 03 03 03 03 |                          HEX     03030303030606       ; profile 14
      |                                       |             |    |         |      |           03 06 06    |
15764 | 43                screendata.s     97 | Data        | 11 |         |    7 | 00/8786 : 05 05 05 04 |                          HEX     05050504040303       ; profile 15
      |                                       |             |    |         |      |           04 03 03    |
15765 | 43                screendata.s     98 | Data        | 11 |         |    7 | 00/878D : 03 03 03 02 |                          HEX     03030302020202       ; profile 16
      |                                       |             |    |         |      |           02 02 02    |
15766 | 43                screendata.s     99 | Data        | 11 |         |    7 | 00/8794 : 02 02 02 01 |                          HEX     02020201010101       ; profile 17
      |                                       |             |    |         |      |           01 01 01    |
15767 | 43                screendata.s    100 | Data        | 11 |         |    7 | 00/879B : 06 06 06 05 |                          HEX     06060605050505       ; profile 18
      |                                       |             |    |         |      |           05 05 05    |
15768 | 43                screendata.s    101 | Data        | 11 |         |    7 | 00/87A2 : 05 05 05 04 |                          HEX     05050504040404       ; profile 19
      |                                       |             |    |         |      |           04 04 04    |
15769 | 43                screendata.s    102 | Empty       | 11 |         |    0 | 00/87A9               |                                                       
15770 | 43                screendata.s    103 | Empty       | 11 |         |    0 | 00/87A9               | SlopeList1                                            
15771 | 43                screendata.s    104 | Data        | 11 |         |    3 | 00/87A9 : 53 00 01    |                          DFB     <83,>83,1            
15772 | 43                screendata.s    105 | Data        | 11 |         |    3 | 00/87AC : 54 00 01    |                          DFB     <84,>84,1            
15773 | 43                screendata.s    106 | Data        | 11 |         |    3 | 00/87AF : 55 00 01    |                          DFB     <85,>85,1            
15774 | 43                screendata.s    107 | Data        | 11 |         |    3 | 00/87B2 : 57 00 01    |                          DFB     <87,>87,1            
15775 | 43                screendata.s    108 | Data        | 11 |         |    3 | 00/87B5 : 58 00 01    |                          DFB     <88,>88,1            
15776 | 43                screendata.s    109 | Data        | 11 |         |    3 | 00/87B8 : 59 00 01    |                          DFB     <89,>89,1            
15777 | 43                screendata.s    110 | Data        | 11 |         |    3 | 00/87BB : 5A 00 01    |                          DFB     <90,>90,1            
15778 | 43                screendata.s    111 | Data        | 11 |         |    3 | 00/87BE : 5B 00 01    |                          DFB     <91,>91,1            
15779 | 43                screendata.s    112 | Data        | 11 |         |    3 | 00/87C1 : 5C 00 01    |                          DFB     <92,>92,1            
15780 | 43                screendata.s    113 | Data        | 11 |         |    3 | 00/87C4 : 5D 00 01    |                          DFB     <93,>93,1            
15781 | 43                screendata.s    114 | Data        | 11 |         |    3 | 00/87C7 : 5E 00 01    |                          DFB     <94,>94,1            
15782 | 43                screendata.s    115 | Data        | 11 |         |    3 | 00/87CA : 60 00 01    |                          DFB     <96,>96,1            
15783 | 43                screendata.s    116 | Data        | 11 |         |    3 | 00/87CD : E3 00 01    |                          DFB     <227,>227,1          
15784 | 43                screendata.s    117 | Data        | 11 |         |    3 | 00/87D0 : E4 00 01    |                          DFB     <228,>228,1          
15785 | 43                screendata.s    118 | Data        | 11 |         |    3 | 00/87D3 : E5 00 01    |                          DFB     <229,>229,1          
15786 | 43                screendata.s    119 | Data        | 11 |         |    3 | 00/87D6 : E6 00 01    |                          DFB     <230,>230,1          
15787 | 43                screendata.s    120 | Data        | 11 |         |    3 | 00/87D9 : E7 00 01    |                          DFB     <231,>231,1          
15788 | 43                screendata.s    121 | Data        | 11 |         |    3 | 00/87DC : E8 00 01    |                          DFB     <232,>232,1          
15789 | 43                screendata.s    122 | Data        | 11 |         |    3 | 00/87DF : E9 00 01    |                          DFB     <233,>233,1          
15790 | 43                screendata.s    123 | Data        | 11 |         |    3 | 00/87E2 : EA 00 01    |                          DFB     <234,>234,1          
15791 | 43                screendata.s    124 | Data        | 11 |         |    3 | 00/87E5 : EC 00 01    |                          DFB     <236,>236,1          
15792 | 43                screendata.s    125 | Data        | 11 |         |    3 | 00/87E8 : 1F 01 02    |                          DFB     <287,>287,2          
15793 | 43                screendata.s    126 | Data        | 11 |         |    3 | 00/87EB : 20 01 03    |                          DFB     <288,>288,3          
15794 | 43                screendata.s    127 | Data        | 11 |         |    3 | 00/87EE : 21 01 04    |                          DFB     <289,>289,4          
15795 | 43                screendata.s    128 | Data        | 11 |         |    3 | 00/87F1 : 35 01 05    |                          DFB     <309,>309,5          
15796 | 43                screendata.s    129 | Data        | 11 |         |    3 | 00/87F4 : 36 01 06    |                          DFB     <310,>310,6          
15797 | 43                screendata.s    130 | Data        | 11 |         |    3 | 00/87F7 : 37 01 07    |                          DFB     <311,>311,7          
15798 | 43                screendata.s    131 | Data        | 11 |         |    3 | 00/87FA : 45 01 01    |                          DFB     <325,>325,1          
15799 | 43                screendata.s    132 | Data        | 11 |         |    3 | 00/87FD : 8C 01 01    |                          DFB     <396,>396,1          
15800 | 43                screendata.s    133 | Data        | 11 |         |    3 | 00/8800 : 99 01 08    |                          DFB     <409,>409,8          
15801 | 43                screendata.s    134 | Data        | 11 |         |    3 | 00/8803 : 9A 01 09    |                          DFB     <410,>410,9          
15802 | 43                screendata.s    135 | Data        | 11 |         |    3 | 00/8806 : 9B 01 0A    |                          DFB     <411,>411,10         
15803 | 43                screendata.s    136 | Data        | 11 |         |    3 | 00/8809 : 9C 01 01    |                          DFB     <412,>412,1          
15804 | 43                screendata.s    137 | Data        | 11 |         |    3 | 00/880C : 9D 01 01    |                          DFB     <413,>413,1          
15805 | 43                screendata.s    138 | Data        | 11 |         |    3 | 00/880F : 9E 01 01    |                          DFB     <414,>414,1          
15806 | 43                screendata.s    139 | Data        | 11 |         |    3 | 00/8812 : AB 01 0B    |                          DFB     <427,>427,11         
15807 | 43                screendata.s    140 | Data        | 11 |         |    3 | 00/8815 : AC 01 0C    |                          DFB     <428,>428,12         
15808 | 43                screendata.s    141 | Data        | 11 |         |    3 | 00/8818 : AD 01 0D    |                          DFB     <429,>429,13         
15809 | 43                screendata.s    142 | Data        | 11 |         |    3 | 00/881B : E4 01 01    |                          DFB     <484,>484,1          
15810 | 43                screendata.s    143 | Data        | 11 |         |    3 | 00/881E : E5 01 01    |                          DFB     <485,>485,1          
15811 | 43                screendata.s    144 | Data        | 11 |         |    3 | 00/8821 : 0F 02 01    |                          DFB     <527,>527,1          
15812 | 43                screendata.s    145 | Data        | 11 |         |    3 | 00/8824 : 10 02 01    |                          DFB     <528,>528,1          
15813 | 43                screendata.s    146 | Data        | 11 |         |    3 | 00/8827 : 11 02 01    |                          DFB     <529,>529,1          
15814 | 43                screendata.s    147 | Data        | 11 |         |    3 | 00/882A : 12 02 01    |                          DFB     <530,>530,1          
15815 | 43                screendata.s    148 | Data        | 11 |         |    3 | 00/882D : 13 02 01    |                          DFB     <531,>531,1          
15816 | 43                screendata.s    149 | Data        | 11 |         |    3 | 00/8830 : 14 02 01    |                          DFB     <532,>532,1          
15817 | 43                screendata.s    150 | Data        | 11 |         |    3 | 00/8833 : 15 02 01    |                          DFB     <533,>533,1          
15818 | 43                screendata.s    151 | Data        | 11 |         |    3 | 00/8836 : 16 02 01    |                          DFB     <534,>534,1          
15819 | 43                screendata.s    152 | Data        | 11 |         |    3 | 00/8839 : 17 02 01    |                          DFB     <535,>535,1          
15820 | 43                screendata.s    153 | Data        | 11 |         |    3 | 00/883C : 18 02 0E    |                          DFB     <536,>536,14         
15821 | 43                screendata.s    154 | Data        | 11 |         |    3 | 00/883F : 70 02 01    |                          DFB     <624,>624,1          
15822 | 43                screendata.s    155 | Data        | 11 |         |    3 | 00/8842 : 71 02 01    |                          DFB     <625,>625,1          
15823 | 43                screendata.s    156 | Data        | 11 |         |    3 | 00/8845 : 72 02 01    |                          DFB     <626,>626,1          
15824 | 43                screendata.s    157 | Data        | 11 |         |    3 | 00/8848 : 73 02 01    |                          DFB     <627,>627,1          
15825 | 43                screendata.s    158 | Data        | 11 |         |    3 | 00/884B : 74 02 01    |                          DFB     <628,>628,1          
15826 | 43                screendata.s    159 | Data        | 11 |         |    3 | 00/884E : 75 02 01    |                          DFB     <629,>629,1          
15827 | 43                screendata.s    160 | Data        | 11 |         |    3 | 00/8851 : 76 02 01    |                          DFB     <630,>630,1          
15828 | 43                screendata.s    161 | Data        | 11 |         |    3 | 00/8854 : 77 02 01    |                          DFB     <631,>631,1          
15829 | 43                screendata.s    162 | Data        | 11 |         |    3 | 00/8857 : 78 02 01    |                          DFB     <632,>632,1          
15830 | 43                screendata.s    163 | Data        | 11 |         |    3 | 00/885A : 79 02 01    |                          DFB     <633,>633,1          
15831 | 43                screendata.s    164 | Data        | 11 |         |    3 | 00/885D : 7A 02 01    |                          DFB     <634,>634,1          
15832 | 43                screendata.s    165 | Data        | 11 |         |    3 | 00/8860 : 7B 02 01    |                          DFB     <635,>635,1          
15833 | 43                screendata.s    166 | Data        | 11 |         |    3 | 00/8863 : 7C 02 01    |                          DFB     <636,>636,1          
15834 | 43                screendata.s    167 | Data        | 11 |         |    2 | 00/8866 : FF FF       |                          DFB     $FF,$FF              
15835 | 43                screendata.s    168 | Empty       | 11 |         |    0 | 00/8868               | SlopeList2                                            
15836 | 43                screendata.s    169 | Data        | 11 |         |    3 | 00/8868 : 53 00 01    |                          DFB     <83,>83,1            
15837 | 43                screendata.s    170 | Data        | 11 |         |    3 | 00/886B : 54 00 01    |                          DFB     <84,>84,1            
15838 | 43                screendata.s    171 | Data        | 11 |         |    3 | 00/886E : 55 00 01    |                          DFB     <85,>85,1            
15839 | 43                screendata.s    172 | Data        | 11 |         |    3 | 00/8871 : 56 00 01    |                          DFB     <86,>86,1            
15840 | 43                screendata.s    173 | Data        | 11 |         |    3 | 00/8874 : 58 00 01    |                          DFB     <88,>88,1            
15841 | 43                screendata.s    174 | Data        | 11 |         |    3 | 00/8877 : 59 00 01    |                          DFB     <89,>89,1            
15842 | 43                screendata.s    175 | Data        | 11 |         |    3 | 00/887A : 5A 00 01    |                          DFB     <90,>90,1            
15843 | 43                screendata.s    176 | Data        | 11 |         |    3 | 00/887D : 5C 00 01    |                          DFB     <92,>92,1            
15844 | 43                screendata.s    177 | Data        | 11 |         |    3 | 00/8880 : 5D 00 01    |                          DFB     <93,>93,1            
15845 | 43                screendata.s    178 | Data        | 11 |         |    3 | 00/8883 : 5E 00 01    |                          DFB     <94,>94,1            
15846 | 43                screendata.s    179 | Data        | 11 |         |    3 | 00/8886 : 5F 00 01    |                          DFB     <95,>95,1            
15847 | 43                screendata.s    180 | Data        | 11 |         |    3 | 00/8889 : 60 00 01    |                          DFB     <96,>96,1            
15848 | 43                screendata.s    181 | Data        | 11 |         |    3 | 00/888C : 9A 00 01    |                          DFB     <154,>154,1          
15849 | 43                screendata.s    182 | Data        | 11 |         |    3 | 00/888F : 9C 00 01    |                          DFB     <156,>156,1          
15850 | 43                screendata.s    183 | Data        | 11 |         |    3 | 00/8892 : DF 00 01    |                          DFB     <223,>223,1          
15851 | 43                screendata.s    184 | Data        | 11 |         |    3 | 00/8895 : E1 00 01    |                          DFB     <225,>225,1          
15852 | 43                screendata.s    185 | Data        | 11 |         |    3 | 00/8898 : E2 00 01    |                          DFB     <226,>226,1          
15853 | 43                screendata.s    186 | Data        | 11 |         |    3 | 00/889B : E3 00 01    |                          DFB     <227,>227,1          
15854 | 43                screendata.s    187 | Data        | 11 |         |    3 | 00/889E : E4 00 01    |                          DFB     <228,>228,1          
15855 | 43                screendata.s    188 | Data        | 11 |         |    3 | 00/88A1 : E5 00 01    |                          DFB     <229,>229,1          
15856 | 43                screendata.s    189 | Data        | 11 |         |    3 | 00/88A4 : E6 00 01    |                          DFB     <230,>230,1          
15857 | 43                screendata.s    190 | Data        | 11 |         |    3 | 00/88A7 : FD 00 01    |                          DFB     <253,>253,1          
15858 | 43                screendata.s    191 | Data        | 11 |         |    3 | 00/88AA : FE 00 0E    |                          DFB     <254,>254,14         
15859 | 43                screendata.s    192 | Data        | 11 |         |    3 | 00/88AD : 1C 01 01    |                          DFB     <284,>284,1          
15860 | 43                screendata.s    193 | Data        | 11 |         |    3 | 00/88B0 : 1D 01 01    |                          DFB     <285,>285,1          
15861 | 43                screendata.s    194 | Data        | 11 |         |    3 | 00/88B3 : 1E 01 01    |                          DFB     <286,>286,1          
15862 | 43                screendata.s    195 | Data        | 11 |         |    3 | 00/88B6 : 1F 01 01    |                          DFB     <287,>287,1          
15863 | 43                screendata.s    196 | Data        | 11 |         |    3 | 00/88B9 : 20 01 01    |                          DFB     <288,>288,1          
15864 | 43                screendata.s    197 | Data        | 11 |         |    3 | 00/88BC : 21 01 0E    |                          DFB     <289,>289,14         
15865 | 43                screendata.s    198 | Data        | 11 |         |    3 | 00/88BF : 38 01 01    |                          DFB     <312,>312,1          
15866 | 43                screendata.s    199 | Data        | 11 |         |    3 | 00/88C2 : 39 01 01    |                          DFB     <313,>313,1          
15867 | 43                screendata.s    200 | Data        | 11 |         |    3 | 00/88C5 : 3A 01 01    |                          DFB     <314,>314,1          
15868 | 43                screendata.s    201 | Data        | 11 |         |    3 | 00/88C8 : 3B 01 01    |                          DFB     <315,>315,1          
15869 | 43                screendata.s    202 | Data        | 11 |         |    3 | 00/88CB : 7F 01 01    |                          DFB     <383,>383,1          
15870 | 43                screendata.s    203 | Data        | 11 |         |    3 | 00/88CE : 80 01 01    |                          DFB     <384,>384,1          
15871 | 43                screendata.s    204 | Data        | 11 |         |    3 | 00/88D1 : 81 01 01    |                          DFB     <385,>385,1          
15872 | 43                screendata.s    205 | Data        | 11 |         |    3 | 00/88D4 : 82 01 01    |                          DFB     <386,>386,1          
15873 | 43                screendata.s    206 | Data        | 11 |         |    3 | 00/88D7 : 83 01 01    |                          DFB     <387,>387,1          
15874 | 43                screendata.s    207 | Data        | 11 |         |    3 | 00/88DA : 85 01 01    |                          DFB     <389,>389,1          
15875 | 43                screendata.s    208 | Data        | 11 |         |    3 | 00/88DD : 86 01 01    |                          DFB     <390,>390,1          
15876 | 43                screendata.s    209 | Data        | 11 |         |    3 | 00/88E0 : 87 01 01    |                          DFB     <391,>391,1          
15877 | 43                screendata.s    210 | Data        | 11 |         |    3 | 00/88E3 : 88 01 01    |                          DFB     <392,>392,1          
15878 | 43                screendata.s    211 | Data        | 11 |         |    3 | 00/88E6 : 89 01 01    |                          DFB     <393,>393,1          
15879 | 43                screendata.s    212 | Data        | 11 |         |    3 | 00/88E9 : 8B 01 01    |                          DFB     <395,>395,1          
15880 | 43                screendata.s    213 | Data        | 11 |         |    3 | 00/88EC : 8C 01 01    |                          DFB     <396,>396,1          
15881 | 43                screendata.s    214 | Data        | 11 |         |    3 | 00/88EF : E9 01 02    |                          DFB     <489,>489,2          
15882 | 43                screendata.s    215 | Data        | 11 |         |    3 | 00/88F2 : EA 01 03    |                          DFB     <490,>490,3          
15883 | 43                screendata.s    216 | Data        | 11 |         |    3 | 00/88F5 : EB 01 04    |                          DFB     <491,>491,4          
15884 | 43                screendata.s    217 | Data        | 11 |         |    3 | 00/88F8 : FF 01 05    |                          DFB     <511,>511,5          
15885 | 43                screendata.s    218 | Data        | 11 |         |    3 | 00/88FB : 00 02 0F    |                          DFB     <512,>512,15         
15886 | 43                screendata.s    219 | Data        | 11 |         |    3 | 00/88FE : 0C 02 01    |                          DFB     <524,>524,1          
15887 | 43                screendata.s    220 | Data        | 11 |         |    3 | 00/8901 : 0D 02 01    |                          DFB     <525,>525,1          
15888 | 43                screendata.s    221 | Data        | 11 |         |    3 | 00/8904 : 0E 02 01    |                          DFB     <526,>526,1          
15889 | 43                screendata.s    222 | Data        | 11 |         |    3 | 00/8907 : 0F 02 01    |                          DFB     <527,>527,1          
15890 | 43                screendata.s    223 | Data        | 11 |         |    3 | 00/890A : 40 02 01    |                          DFB     <576,>576,1          
15891 | 43                screendata.s    224 | Data        | 11 |         |    3 | 00/890D : 6F 02 01    |                          DFB     <623,>623,1          
15892 | 43                screendata.s    225 | Data        | 11 |         |    3 | 00/8910 : 70 02 01    |                          DFB     <624,>624,1          
15893 | 43                screendata.s    226 | Data        | 11 |         |    3 | 00/8913 : 71 02 01    |                          DFB     <625,>625,1          
15894 | 43                screendata.s    227 | Data        | 11 |         |    3 | 00/8916 : 72 02 01    |                          DFB     <626,>626,1          
15895 | 43                screendata.s    228 | Data        | 11 |         |    3 | 00/8919 : 73 02 01    |                          DFB     <627,>627,1          
15896 | 43                screendata.s    229 | Data        | 11 |         |    3 | 00/891C : 74 02 01    |                          DFB     <628,>628,1          
15897 | 43                screendata.s    230 | Data        | 11 |         |    3 | 00/891F : 75 02 01    |                          DFB     <629,>629,1          
15898 | 43                screendata.s    231 | Data        | 11 |         |    3 | 00/8922 : 76 02 01    |                          DFB     <630,>630,1          
15899 | 43                screendata.s    232 | Data        | 11 |         |    3 | 00/8925 : 77 02 01    |                          DFB     <631,>631,1          
15900 | 43                screendata.s    233 | Data        | 11 |         |    3 | 00/8928 : 78 02 01    |                          DFB     <632,>632,1          
15901 | 43                screendata.s    234 | Data        | 11 |         |    3 | 00/892B : 79 02 01    |                          DFB     <633,>633,1          
15902 | 43                screendata.s    235 | Data        | 11 |         |    3 | 00/892E : 7A 02 01    |                          DFB     <634,>634,1          
15903 | 43                screendata.s    236 | Data        | 11 |         |    3 | 00/8931 : 7B 02 01    |                          DFB     <635,>635,1          
15904 | 43                screendata.s    237 | Data        | 11 |         |    2 | 00/8934 : FF FF       |                          DFB     $FF,$FF              
15905 | 43                screendata.s    238 | Empty       | 11 |         |    0 | 00/8936               | SlopeList3                                            
15906 | 43                screendata.s    239 | Data        | 11 |         |    3 | 00/8936 : 53 00 01    |                          DFB     <83,>83,1            
15907 | 43                screendata.s    240 | Data        | 11 |         |    3 | 00/8939 : 54 00 01    |                          DFB     <84,>84,1            
15908 | 43                screendata.s    241 | Data        | 11 |         |    3 | 00/893C : 56 00 01    |                          DFB     <86,>86,1            
15909 | 43                screendata.s    242 | Data        | 11 |         |    3 | 00/893F : 57 00 01    |                          DFB     <87,>87,1            
15910 | 43                screendata.s    243 | Data        | 11 |         |    3 | 00/8942 : 58 00 01    |                          DFB     <88,>88,1            
15911 | 43                screendata.s    244 | Data        | 11 |         |    3 | 00/8945 : 59 00 01    |                          DFB     <89,>89,1            
15912 | 43                screendata.s    245 | Data        | 11 |         |    3 | 00/8948 : 5A 00 01    |                          DFB     <90,>90,1            
15913 | 43                screendata.s    246 | Data        | 11 |         |    3 | 00/894B : 5B 00 01    |                          DFB     <91,>91,1            
15914 | 43                screendata.s    247 | Data        | 11 |         |    3 | 00/894E : 5C 00 01    |                          DFB     <92,>92,1            
15915 | 43                screendata.s    248 | Data        | 11 |         |    3 | 00/8951 : 5D 00 01    |                          DFB     <93,>93,1            
15916 | 43                screendata.s    249 | Data        | 11 |         |    3 | 00/8954 : 5F 00 01    |                          DFB     <95,>95,1            
15917 | 43                screendata.s    250 | Data        | 11 |         |    3 | 00/8957 : 60 00 01    |                          DFB     <96,>96,1            
15918 | 43                screendata.s    251 | Data        | 11 |         |    3 | 00/895A : 8F 00 01    |                          DFB     <143,>143,1          
15919 | 43                screendata.s    252 | Data        | 11 |         |    3 | 00/895D : 90 00 01    |                          DFB     <144,>144,1          
15920 | 43                screendata.s    253 | Data        | 11 |         |    3 | 00/8960 : 92 00 01    |                          DFB     <146,>146,1          
15921 | 43                screendata.s    254 | Data        | 11 |         |    3 | 00/8963 : 93 00 01    |                          DFB     <147,>147,1          
15922 | 43                screendata.s    255 | Data        | 11 |         |    3 | 00/8966 : 94 00 01    |                          DFB     <148,>148,1          
15923 | 43                screendata.s    256 | Data        | 11 |         |    3 | 00/8969 : 96 00 01    |                          DFB     <150,>150,1          
15924 | 43                screendata.s    257 | Data        | 11 |         |    3 | 00/896C : 97 00 01    |                          DFB     <151,>151,1          
15925 | 43                screendata.s    258 | Data        | 11 |         |    3 | 00/896F : 98 00 01    |                          DFB     <152,>152,1          
15926 | 43                screendata.s    259 | Data        | 11 |         |    3 | 00/8972 : 99 00 01    |                          DFB     <153,>153,1          
15927 | 43                screendata.s    260 | Data        | 11 |         |    3 | 00/8975 : 9A 00 01    |                          DFB     <154,>154,1          
15928 | 43                screendata.s    261 | Data        | 11 |         |    3 | 00/8978 : E5 00 01    |                          DFB     <229,>229,1          
15929 | 43                screendata.s    262 | Data        | 11 |         |    3 | 00/897B : E6 00 01    |                          DFB     <230,>230,1          
15930 | 43                screendata.s    263 | Data        | 11 |         |    3 | 00/897E : E7 00 01    |                          DFB     <231,>231,1          
15931 | 43                screendata.s    264 | Data        | 11 |         |    3 | 00/8981 : E8 00 01    |                          DFB     <232,>232,1          
15932 | 43                screendata.s    265 | Data        | 11 |         |    3 | 00/8984 : E9 00 01    |                          DFB     <233,>233,1          
15933 | 43                screendata.s    266 | Data        | 11 |         |    3 | 00/8987 : EB 00 01    |                          DFB     <235,>235,1          
15934 | 43                screendata.s    267 | Data        | 11 |         |    3 | 00/898A : 46 01 10    |                          DFB     <326,>326,16         
15935 | 43                screendata.s    268 | Data        | 11 |         |    3 | 00/898D : 47 01 11    |                          DFB     <327,>327,17         
15936 | 43                screendata.s    269 | Data        | 11 |         |    3 | 00/8990 : 5C 01 12    |                          DFB     <348,>348,18         
15937 | 43                screendata.s    270 | Data        | 11 |         |    3 | 00/8993 : 5D 01 13    |                          DFB     <349,>349,19         
15938 | 43                screendata.s    271 | Data        | 11 |         |    3 | 00/8996 : 7F 01 01    |                          DFB     <383,>383,1          
15939 | 43                screendata.s    272 | Data        | 11 |         |    3 | 00/8999 : 80 01 01    |                          DFB     <384,>384,1          
15940 | 43                screendata.s    273 | Data        | 11 |         |    3 | 00/899C : 9A 01 01    |                          DFB     <410,>410,1          
15941 | 43                screendata.s    274 | Data        | 11 |         |    3 | 00/899F : 9B 01 01    |                          DFB     <411,>411,1          
15942 | 43                screendata.s    275 | Data        | 11 |         |    3 | 00/89A2 : 9D 01 01    |                          DFB     <413,>413,1          
15943 | 43                screendata.s    276 | Data        | 11 |         |    3 | 00/89A5 : 9E 01 01    |                          DFB     <414,>414,1          
15944 | 43                screendata.s    277 | Data        | 11 |         |    3 | 00/89A8 : D2 01 01    |                          DFB     <466,>466,1          
15945 | 43                screendata.s    278 | Data        | 11 |         |    3 | 00/89AB : D3 01 01    |                          DFB     <467,>467,1          
15946 | 43                screendata.s    279 | Data        | 11 |         |    3 | 00/89AE : D4 01 01    |                          DFB     <468,>468,1          
15947 | 43                screendata.s    280 | Data        | 11 |         |    3 | 00/89B1 : D5 01 01    |                          DFB     <469,>469,1          
15948 | 43                screendata.s    281 | Data        | 11 |         |    3 | 00/89B4 : D7 01 01    |                          DFB     <471,>471,1          
15949 | 43                screendata.s    282 | Data        | 11 |         |    3 | 00/89B7 : D8 01 01    |                          DFB     <472,>472,1          
15950 | 43                screendata.s    283 | Data        | 11 |         |    3 | 00/89BA : 2C 02 0E    |                          DFB     <556,>556,14         
15951 | 43                screendata.s    284 | Data        | 11 |         |    3 | 00/89BD : 33 02 01    |                          DFB     <563,>563,1          
15952 | 43                screendata.s    285 | Data        | 11 |         |    3 | 00/89C0 : 34 02 01    |                          DFB     <564,>564,1          
15953 | 43                screendata.s    286 | Data        | 11 |         |    3 | 00/89C3 : 35 02 01    |                          DFB     <565,>565,1          
15954 | 43                screendata.s    287 | Data        | 11 |         |    3 | 00/89C6 : 36 02 01    |                          DFB     <566,>566,1          
15955 | 43                screendata.s    288 | Data        | 11 |         |    3 | 00/89C9 : 37 02 01    |                          DFB     <567,>567,1          
15956 | 43                screendata.s    289 | Data        | 11 |         |    3 | 00/89CC : 38 02 01    |                          DFB     <568,>568,1          
15957 | 43                screendata.s    290 | Data        | 11 |         |    3 | 00/89CF : 39 02 01    |                          DFB     <569,>569,1          
15958 | 43                screendata.s    291 | Data        | 11 |         |    3 | 00/89D2 : 3A 02 01    |                          DFB     <570,>570,1          
15959 | 43                screendata.s    292 | Data        | 11 |         |    3 | 00/89D5 : 3B 02 01    |                          DFB     <571,>571,1          
15960 | 43                screendata.s    293 | Data        | 11 |         |    3 | 00/89D8 : 3C 02 01    |                          DFB     <572,>572,1          
15961 | 43                screendata.s    294 | Data        | 11 |         |    3 | 00/89DB : 3D 02 01    |                          DFB     <573,>573,1          
15962 | 43                screendata.s    295 | Data        | 11 |         |    3 | 00/89DE : 3E 02 01    |                          DFB     <574,>574,1          
15963 | 43                screendata.s    296 | Data        | 11 |         |    3 | 00/89E1 : 3F 02 01    |                          DFB     <575,>575,1          
15964 | 43                screendata.s    297 | Data        | 11 |         |    2 | 00/89E4 : FF FF       |                          DFB     $FF,$FF              
15965 | 43                screendata.s    298 | Empty       | 11 |         |    0 | 00/89E6               |                                                       
15966 | 43                screendata.s    299 | Empty       | 11 |         |    0 | 00/89E6               |                                                       
15967 |  1                    bagman.s    128 | Directive   | 11 |         |    0 | 00/89E6               |                          PUT     spritedata.s         
15968 | 44                spritedata.s      1 | Comment     | 11 |         |    0 | 00/89E6               | *
15969 | 44                spritedata.s      2 | Comment     | 11 |         |    0 | 00/89E6               | * Sprite runtime tables (kept permanently)
15970 | 44                spritedata.s      3 | Comment     | 11 |         |    0 | 00/89E6               | * Address tables and mask expansion tables for preshifted sprites
15971 | 44                spritedata.s      4 | Comment     | 11 |         |    0 | 00/89E6               | *
15972 | 44                spritedata.s      5 | Empty       | 11 |         |    0 | 00/89E6               |                                                       
15973 | 44                spritedata.s      6 | Equivalence | 11 |         |    0 | 00/89E6               | SpriteCount              =       49                   
15974 | 44                spritedata.s      7 | Equivalence | 11 |         |    0 | 00/89E6               | SprShiftSize             =       96                   
15975 | 44                spritedata.s      8 | Equivalence | 11 |         |    0 | 00/89E6               | SprSetSize               =       672                  
15976 | 44                spritedata.s      9 | Equivalence | 11 |         |    0 | 00/89E6               | CmpMaskBase              =       $B760                
15977 | 44                spritedata.s     10 | Empty       | 11 |         |    0 | 00/89E6               |                                                       
15978 | 44                spritedata.s     11 | Comment     | 11 |         |    0 | 00/89E6               | * Aux RAM base address for each sprite's shifted data
15979 | 44                spritedata.s     12 | Empty       | 11 |         |    0 | 00/89E6               | SprAuxAddrL                                           
15980 | 44                spritedata.s     13 | Data        | 11 |         |    8 | 00/89E6 : 00 A0 40 E0 |                          DFB     $00,$A0,$40,$E0,$80,$20,$C0,$60
      |                                       |             |    |         |      |           80 20 C0 60 |
15981 | 44                spritedata.s     14 | Data        | 11 |         |    8 | 00/89EE : 00 00 A0 40 |                          DFB     $00,$00,$A0,$40,$E0,$80,$20,$C0
      |                                       |             |    |         |      |           E0 80 20 C0 |
15982 | 44                spritedata.s     15 | Data        | 11 |         |    8 | 00/89F6 : 60 00 00 00 |                          DFB     $60,$00,$00,$00,$00,$A0,$40,$E0
      |                                       |             |    |         |      |           00 A0 40 E0 |
15983 | 44                spritedata.s     16 | Data        | 11 |         |    8 | 00/89FE : 80 E0 80 20 |                          DFB     $80,$E0,$80,$20,$C0,$60,$00,$60
      |                                       |             |    |         |      |           C0 60 00 60 |
15984 | 44                spritedata.s     17 | Data        | 11 |         |    8 | 00/8A06 : 00 A0 40 E0 |                          DFB     $00,$A0,$40,$E0,$80,$20,$C0,$60
      |                                       |             |    |         |      |           80 20 C0 60 |
15985 | 44                spritedata.s     18 | Data        | 11 |         |    8 | 00/8A0E : 00 A0 00 00 |                          DFB     $00,$A0,$00,$00,$40,$E0,$80,$20
      |                                       |             |    |         |      |           40 E0 80 20 |
15986 | 44                spritedata.s     19 | Data        | 11 |         |    1 | 00/8A16 : C0          |                          DFB     $C0                  
15987 | 44                spritedata.s     20 | Empty       | 11 |         |    0 | 00/8A17               |                                                       
15988 | 44                spritedata.s     21 | Empty       | 11 |         |    0 | 00/8A17               | SprAuxAddrH                                           
15989 | 44                spritedata.s     22 | Data        | 11 |         |    8 | 00/8A17 : 08 0A 0D 0F |                          DFB     $08,$0A,$0D,$0F,$12,$15,$17,$1A
      |                                       |             |    |         |      |           12 15 17 1A |
15990 | 44                spritedata.s     23 | Data        | 11 |         |    8 | 00/8A1F : 1D 60 62 65 |                          DFB     $1D,$60,$62,$65,$67,$6A,$6D,$6F
      |                                       |             |    |         |      |           67 6A 6D 6F |
15991 | 44                spritedata.s     24 | Data        | 11 |         |    8 | 00/8A27 : 72 00 00 00 |                          DFB     $72,$00,$00,$00,$75,$77,$7A,$7C
      |                                       |             |    |         |      |           75 77 7A 7C |
15992 | 44                spritedata.s     25 | Data        | 11 |         |    8 | 00/8A2F : 7F 7F 82 85 |                          DFB     $7F,$7F,$82,$85,$87,$8A,$8D,$8D
      |                                       |             |    |         |      |           87 8A 8D 8D |
15993 | 44                spritedata.s     26 | Data        | 11 |         |    8 | 00/8A37 : 90 92 95 97 |                          DFB     $90,$92,$95,$97,$9A,$9D,$9F,$A2
      |                                       |             |    |         |      |           9A 9D 9F A2 |
15994 | 44                spritedata.s     27 | Data        | 11 |         |    8 | 00/8A3F : A5 A7 00 00 |                          DFB     $A5,$A7,$00,$00,$AA,$AC,$AF,$B2
      |                                       |             |    |         |      |           AA AC AF B2 |
15995 | 44                spritedata.s     28 | Data        | 11 |         |    1 | 00/8A47 : B4          |                          DFB     $B4                  
15996 | 44                spritedata.s     29 | Empty       | 11 |         |    0 | 00/8A48               |                                                       
15997 | 44                spritedata.s     30 | Comment     | 11 |         |    0 | 00/8A48               | * Byte offset for each shift: shift * 96
15998 | 44                spritedata.s     31 | Empty       | 11 |         |    0 | 00/8A48               | ShiftOfsL                                             
15999 | 44                spritedata.s     32 | Data        | 11 |         |    7 | 00/8A48 : 00 60 C0 20 |                          DFB     $00,$60,$C0,$20,$80,$E0,$40
      |                                       |             |    |         |      |           80 E0 40    |
16000 | 44                spritedata.s     33 | Empty       | 11 |         |    0 | 00/8A4F               | ShiftOfsH                                             
16001 | 44                spritedata.s     34 | Data        | 11 |         |    7 | 00/8A4F : 00 00 00 01 |                          DFB     $00,$00,$00,$01,$01,$01,$02
      |                                       |             |    |         |      |           01 01 02    |
16002 | 44                spritedata.s     35 | Empty       | 11 |         |    0 | 00/8A56               |                                                       
16003 | 44                spritedata.s     36 | Comment     | 11 |         |    0 | 00/8A56               | * Aux address for each sprite's compressed masks (12 bytes each)
16004 | 44                spritedata.s     37 | Comment     | 11 |         |    0 | 00/8A56               | * Unused/compact frames: $0000 (dead)
16005 | 44                spritedata.s     38 | Empty       | 11 |         |    0 | 00/8A56               | CmpMaskAddrL                                          
16006 | 44                spritedata.s     39 | Data        | 11 |         |    8 | 00/8A56 : 60 6C 78 84 |                          DFB     $60,$6C,$78,$84,$90,$9C,$A8,$B4
      |                                       |             |    |         |      |           90 9C A8 B4 |
16007 | 44                spritedata.s     40 | Data        | 11 |         |    8 | 00/8A5E : C0 CC D8 E4 |                          DFB     $C0,$CC,$D8,$E4,$F0,$FC,$08,$14
      |                                       |             |    |         |      |           F0 FC 08 14 |
16008 | 44                spritedata.s     41 | Data        | 11 |         |    8 | 00/8A66 : 20 00 00 00 |                          DFB     $20,$00,$00,$00,$2C,$38,$44,$50
      |                                       |             |    |         |      |           2C 38 44 50 |
16009 | 44                spritedata.s     42 | Data        | 11 |         |    8 | 00/8A6E : 00 5C 68 74 |                          DFB     $00,$5C,$68,$74,$80,$8C,$00,$98
      |                                       |             |    |         |      |           80 8C 00 98 |
16010 | 44                spritedata.s     43 | Data        | 11 |         |    8 | 00/8A76 : A4 B0 BC C8 |                          DFB     $A4,$B0,$BC,$C8,$D4,$E0,$EC,$F8
      |                                       |             |    |         |      |           D4 E0 EC F8 |
16011 | 44                spritedata.s     44 | Data        | 11 |         |    8 | 00/8A7E : 04 10 00 00 |                          DFB     $04,$10,$00,$00,$1C,$28,$34,$40
      |                                       |             |    |         |      |           1C 28 34 40 |
16012 | 44                spritedata.s     45 | Data        | 11 |         |    1 | 00/8A86 : 4C          |                          DFB     $4C                  
16013 | 44                spritedata.s     46 | Empty       | 11 |         |    0 | 00/8A87               |                                                       
16014 | 44                spritedata.s     47 | Empty       | 11 |         |    0 | 00/8A87               | CmpMaskAddrH                                          
16015 | 44                spritedata.s     48 | Data        | 11 |         |    8 | 00/8A87 : B7 B7 B7 B7 |                          DFB     $B7,$B7,$B7,$B7,$B7,$B7,$B7,$B7
      |                                       |             |    |         |      |           B7 B7 B7 B7 |
16016 | 44                spritedata.s     49 | Data        | 11 |         |    8 | 00/8A8F : B7 B7 B7 B7 |                          DFB     $B7,$B7,$B7,$B7,$B7,$B7,$B8,$B8
      |                                       |             |    |         |      |           B7 B7 B8 B8 |
16017 | 44                spritedata.s     50 | Data        | 11 |         |    8 | 00/8A97 : B8 00 00 00 |                          DFB     $B8,$00,$00,$00,$B8,$B8,$B8,$B8
      |                                       |             |    |         |      |           B8 B8 B8 B8 |
16018 | 44                spritedata.s     51 | Data        | 11 |         |    8 | 00/8A9F : 00 B8 B8 B8 |                          DFB     $00,$B8,$B8,$B8,$B8,$B8,$00,$B8
      |                                       |             |    |         |      |           B8 B8 00 B8 |
16019 | 44                spritedata.s     52 | Data        | 11 |         |    8 | 00/8AA7 : B8 B8 B8 B8 |                          DFB     $B8,$B8,$B8,$B8,$B8,$B8,$B8,$B8
      |                                       |             |    |         |      |           B8 B8 B8 B8 |
16020 | 44                spritedata.s     53 | Data        | 11 |         |    8 | 00/8AAF : B9 B9 00 00 |                          DFB     $B9,$B9,$00,$00,$B9,$B9,$B9,$B9
      |                                       |             |    |         |      |           B9 B9 B9 B9 |
16021 | 44                spritedata.s     54 | Data        | 11 |         |    1 | 00/8AB7 : B9          |                          DFB     $B9                  
16022 | 44                spritedata.s     55 | Empty       | 11 |         |    0 | 00/8AB8               |                                                       
16023 | 44                spritedata.s     56 | Comment     | 11 |         |    0 | 00/8AB8               | * Mask expansion: active byte range per shift
16024 | 44                spritedata.s     57 | Empty       | 11 |         |    0 | 00/8AB8               | MskFirstByte                                          
16025 | 44                spritedata.s     58 | Data        | 11 |         |    7 | 00/8AB8 : 00 00 01 01 |                          DFB     0,0,1,1,2,2,3        
      |                                       |             |    |         |      |           02 02 03    |
16026 | 44                spritedata.s     59 | Empty       | 11 |         |    0 | 00/8ABF               | MskLastByte                                           
16027 | 44                spritedata.s     60 | Data        | 11 |         |    7 | 00/8ABF : 03 04 05 05 |                          DFB     3,4,5,5,6,6,7        
      |                                       |             |    |         |      |           06 06 07    |
16028 | 44                spritedata.s     61 | Empty       | 11 |         |    0 | 00/8AC6               |                                                       
16029 | 44                spritedata.s     62 | Comment     | 11 |         |    0 | 00/8AC6               | * Byte offset from MaskExpTbl to each shift's first active sub-table
16030 | 44                spritedata.s     63 | Empty       | 11 |         |    0 | 00/8AC6               | MskShiftOfsL                                          
16031 | 44                spritedata.s     64 | Data        | 11 |         |    7 | 00/8AC6 : 00 00 80 00 |                          DFB     $00,$00,$80,$00,$80,$00,$80
      |                                       |             |    |         |      |           80 00 80    |
16032 | 44                spritedata.s     65 | Empty       | 11 |         |    0 | 00/8ACD               | MskShiftOfsH                                          
16033 | 44                spritedata.s     66 | Data        | 11 |         |    7 | 00/8ACD : 00 02 04 07 |                          DFB     $00,$02,$04,$07,$09,$0C,$0E
      |                                       |             |    |         |      |           09 0C 0E    |
16034 | 44                spritedata.s     67 | Empty       | 11 |         |    0 | 00/8AD4               |                                                       
16035 | 44                spritedata.s     68 | Comment     | 11 |         |    0 | 00/8AD4               | * Trimmed mask expansion tables: 34 active sub-tables x 128 entries = 4352 bytes
16036 | 44                spritedata.s     69 | Comment     | 11 |         |    0 | 00/8AD4               | * (saved 2816 bytes vs full 7168-byte table)
16037 | 44                spritedata.s     70 | Empty       | 11 |         |    0 | 00/8AD4               | MaskExpTbl                                            
16038 | 44                spritedata.s     71 | Comment     | 11 |         |    0 | 00/8AD4               | * shift 0, byte 0
16039 | 44                spritedata.s     72 | Data        | 11 |         |   16 | 00/8AD4 : FF F0 8F 80 |                          HEX     FFF08F80FFF08F80FFF08F80FFF08F80
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
16040 | 44                spritedata.s     73 | Data        | 11 |         |   16 | 00/8AE4 : FF F0 8F 80 |                          HEX     FFF08F80FFF08F80FFF08F80FFF08F80
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
16041 | 44                spritedata.s     74 | Data        | 11 |         |   16 | 00/8AF4 : FF F0 8F 80 |                          HEX     FFF08F80FFF08F80FFF08F80FFF08F80
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
16042 | 44                spritedata.s     75 | Data        | 11 |         |   16 | 00/8B04 : FF F0 8F 80 |                          HEX     FFF08F80FFF08F80FFF08F80FFF08F80
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
16043 | 44                spritedata.s     76 | Data        | 11 |         |   16 | 00/8B14 : FF F0 8F 80 |                          HEX     FFF08F80FFF08F80FFF08F80FFF08F80
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
16044 | 44                spritedata.s     77 | Data        | 11 |         |   16 | 00/8B24 : FF F0 8F 80 |                          HEX     FFF08F80FFF08F80FFF08F80FFF08F80
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
16045 | 44                spritedata.s     78 | Data        | 11 |         |   16 | 00/8B34 : FF F0 8F 80 |                          HEX     FFF08F80FFF08F80FFF08F80FFF08F80
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
16046 | 44                spritedata.s     79 | Data        | 11 |         |   16 | 00/8B44 : FF F0 8F 80 |                          HEX     FFF08F80FFF08F80FFF08F80FFF08F80
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
      |                                       |             |    |         |      |           FF F0 8F 80 |
16047 | 44                spritedata.s     80 | Comment     | 11 |         |    0 | 00/8B54               | * shift 0, byte 1
16048 | 44                spritedata.s     81 | Data        | 11 |         |   16 | 00/8B54 : FF FF FE FE |                          HEX     FFFFFEFEE1E1E0E09F9F9E9E81818080
      |                                       |             |    |         |      |           E1 E1 E0 E0 |
      |                                       |             |    |         |      |           9F 9F 9E 9E |
      |                                       |             |    |         |      |           81 81 80 80 |
16049 | 44                spritedata.s     82 | Data        | 11 |         |   16 | 00/8B64 : FF FF FE FE |                          HEX     FFFFFEFEE1E1E0E09F9F9E9E81818080
      |                                       |             |    |         |      |           E1 E1 E0 E0 |
      |                                       |             |    |         |      |           9F 9F 9E 9E |
      |                                       |             |    |         |      |           81 81 80 80 |
16050 | 44                spritedata.s     83 | Data        | 11 |         |   16 | 00/8B74 : FF FF FE FE |                          HEX     FFFFFEFEE1E1E0E09F9F9E9E81818080
      |                                       |             |    |         |      |           E1 E1 E0 E0 |
      |                                       |             |    |         |      |           9F 9F 9E 9E |
      |                                       |             |    |         |      |           81 81 80 80 |
16051 | 44                spritedata.s     84 | Data        | 11 |         |   16 | 00/8B84 : FF FF FE FE |                          HEX     FFFFFEFEE1E1E0E09F9F9E9E81818080
      |                                       |             |    |         |      |           E1 E1 E0 E0 |
      |                                       |             |    |         |      |           9F 9F 9E 9E |
      |                                       |             |    |         |      |           81 81 80 80 |
16052 | 44                spritedata.s     85 | Data        | 11 |         |   16 | 00/8B94 : FF FF FE FE |                          HEX     FFFFFEFEE1E1E0E09F9F9E9E81818080
      |                                       |             |    |         |      |           E1 E1 E0 E0 |
      |                                       |             |    |         |      |           9F 9F 9E 9E |
      |                                       |             |    |         |      |           81 81 80 80 |
16053 | 44                spritedata.s     86 | Data        | 11 |         |   16 | 00/8BA4 : FF FF FE FE |                          HEX     FFFFFEFEE1E1E0E09F9F9E9E81818080
      |                                       |             |    |         |      |           E1 E1 E0 E0 |
      |                                       |             |    |         |      |           9F 9F 9E 9E |
      |                                       |             |    |         |      |           81 81 80 80 |
16054 | 44                spritedata.s     87 | Data        | 11 |         |   16 | 00/8BB4 : FF FF FE FE |                          HEX     FFFFFEFEE1E1E0E09F9F9E9E81818080
      |                                       |             |    |         |      |           E1 E1 E0 E0 |
      |                                       |             |    |         |      |           9F 9F 9E 9E |
      |                                       |             |    |         |      |           81 81 80 80 |
16055 | 44                spritedata.s     88 | Data        | 11 |         |   16 | 00/8BC4 : FF FF FE FE |                          HEX     FFFFFEFEE1E1E0E09F9F9E9E81818080
      |                                       |             |    |         |      |           E1 E1 E0 E0 |
      |                                       |             |    |         |      |           9F 9F 9E 9E |
      |                                       |             |    |         |      |           81 81 80 80 |
16056 | 44                spritedata.s     89 | Comment     | 11 |         |    0 | 00/8BD4               | * shift 0, byte 2
16057 | 44                spritedata.s     90 | Data        | 11 |         |   16 | 00/8BD4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFC
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
16058 | 44                spritedata.s     91 | Data        | 11 |         |   16 | 00/8BE4 : C3 C3 C3 C3 |                          HEX     C3C3C3C3C3C3C3C3C0C0C0C0C0C0C0C0
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
16059 | 44                spritedata.s     92 | Data        | 11 |         |   16 | 00/8BF4 : BF BF BF BF |                          HEX     BFBFBFBFBFBFBFBFBCBCBCBCBCBCBCBC
      |                                       |             |    |         |      |           BF BF BF BF |
      |                                       |             |    |         |      |           BC BC BC BC |
      |                                       |             |    |         |      |           BC BC BC BC |
16060 | 44                spritedata.s     93 | Data        | 11 |         |   16 | 00/8C04 : 83 83 83 83 |                          HEX     83838383838383838080808080808080
      |                                       |             |    |         |      |           83 83 83 83 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16061 | 44                spritedata.s     94 | Data        | 11 |         |   16 | 00/8C14 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFC
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
16062 | 44                spritedata.s     95 | Data        | 11 |         |   16 | 00/8C24 : C3 C3 C3 C3 |                          HEX     C3C3C3C3C3C3C3C3C0C0C0C0C0C0C0C0
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
16063 | 44                spritedata.s     96 | Data        | 11 |         |   16 | 00/8C34 : BF BF BF BF |                          HEX     BFBFBFBFBFBFBFBFBCBCBCBCBCBCBCBC
      |                                       |             |    |         |      |           BF BF BF BF |
      |                                       |             |    |         |      |           BC BC BC BC |
      |                                       |             |    |         |      |           BC BC BC BC |
16064 | 44                spritedata.s     97 | Data        | 11 |         |   16 | 00/8C44 : 83 83 83 83 |                          HEX     83838383838383838080808080808080
      |                                       |             |    |         |      |           83 83 83 83 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16065 | 44                spritedata.s     98 | Comment     | 11 |         |    0 | 00/8C54               | * shift 0, byte 3
16066 | 44                spritedata.s     99 | Data        | 11 |         |   16 | 00/8C54 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16067 | 44                spritedata.s    100 | Data        | 11 |         |   16 | 00/8C64 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16068 | 44                spritedata.s    101 | Data        | 11 |         |   16 | 00/8C74 : F8 F8 F8 F8 |                          HEX     F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16069 | 44                spritedata.s    102 | Data        | 11 |         |   16 | 00/8C84 : F8 F8 F8 F8 |                          HEX     F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16070 | 44                spritedata.s    103 | Data        | 11 |         |   16 | 00/8C94 : 87 87 87 87 |                          HEX     87878787878787878787878787878787
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           87 87 87 87 |
16071 | 44                spritedata.s    104 | Data        | 11 |         |   16 | 00/8CA4 : 87 87 87 87 |                          HEX     87878787878787878787878787878787
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           87 87 87 87 |
16072 | 44                spritedata.s    105 | Data        | 11 |         |   16 | 00/8CB4 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16073 | 44                spritedata.s    106 | Data        | 11 |         |   16 | 00/8CC4 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16074 | 44                spritedata.s    107 | Comment     | 11 |         |    0 | 00/8CD4               | * shift 1, byte 0
16075 | 44                spritedata.s    108 | Data        | 11 |         |   16 | 00/8CD4 : FF 8F FF 8F |                          HEX     FF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8F
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
16076 | 44                spritedata.s    109 | Data        | 11 |         |   16 | 00/8CE4 : FF 8F FF 8F |                          HEX     FF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8F
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
16077 | 44                spritedata.s    110 | Data        | 11 |         |   16 | 00/8CF4 : FF 8F FF 8F |                          HEX     FF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8F
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
16078 | 44                spritedata.s    111 | Data        | 11 |         |   16 | 00/8D04 : FF 8F FF 8F |                          HEX     FF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8F
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
16079 | 44                spritedata.s    112 | Data        | 11 |         |   16 | 00/8D14 : FF 8F FF 8F |                          HEX     FF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8F
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
16080 | 44                spritedata.s    113 | Data        | 11 |         |   16 | 00/8D24 : FF 8F FF 8F |                          HEX     FF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8F
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
16081 | 44                spritedata.s    114 | Data        | 11 |         |   16 | 00/8D34 : FF 8F FF 8F |                          HEX     FF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8F
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
16082 | 44                spritedata.s    115 | Data        | 11 |         |   16 | 00/8D44 : FF 8F FF 8F |                          HEX     FF8FFF8FFF8FFF8FFF8FFF8FFF8FFF8F
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
      |                                       |             |    |         |      |           FF 8F FF 8F |
16083 | 44                spritedata.s    116 | Comment     | 11 |         |    0 | 00/8D54               | * shift 1, byte 1
16084 | 44                spritedata.s    117 | Data        | 11 |         |   16 | 00/8D54 : FF FE E1 E0 |                          HEX     FFFEE1E09F9E8180FFFEE1E09F9E8180
      |                                       |             |    |         |      |           9F 9E 81 80 |
      |                                       |             |    |         |      |           FF FE E1 E0 |
      |                                       |             |    |         |      |           9F 9E 81 80 |
16085 | 44                spritedata.s    118 | Data        | 11 |         |   16 | 00/8D64 : FF FE E1 E0 |                          HEX     FFFEE1E09F9E8180FFFEE1E09F9E8180
      |                                       |             |    |         |      |           9F 9E 81 80 |
      |                                       |             |    |         |      |           FF FE E1 E0 |
      |                                       |             |    |         |      |           9F 9E 81 80 |
16086 | 44                spritedata.s    119 | Data        | 11 |         |   16 | 00/8D74 : FF FE E1 E0 |                          HEX     FFFEE1E09F9E8180FFFEE1E09F9E8180
      |                                       |             |    |         |      |           9F 9E 81 80 |
      |                                       |             |    |         |      |           FF FE E1 E0 |
      |                                       |             |    |         |      |           9F 9E 81 80 |
16087 | 44                spritedata.s    120 | Data        | 11 |         |   16 | 00/8D84 : FF FE E1 E0 |                          HEX     FFFEE1E09F9E8180FFFEE1E09F9E8180
      |                                       |             |    |         |      |           9F 9E 81 80 |
      |                                       |             |    |         |      |           FF FE E1 E0 |
      |                                       |             |    |         |      |           9F 9E 81 80 |
16088 | 44                spritedata.s    121 | Data        | 11 |         |   16 | 00/8D94 : FF FE E1 E0 |                          HEX     FFFEE1E09F9E8180FFFEE1E09F9E8180
      |                                       |             |    |         |      |           9F 9E 81 80 |
      |                                       |             |    |         |      |           FF FE E1 E0 |
      |                                       |             |    |         |      |           9F 9E 81 80 |
16089 | 44                spritedata.s    122 | Data        | 11 |         |   16 | 00/8DA4 : FF FE E1 E0 |                          HEX     FFFEE1E09F9E8180FFFEE1E09F9E8180
      |                                       |             |    |         |      |           9F 9E 81 80 |
      |                                       |             |    |         |      |           FF FE E1 E0 |
      |                                       |             |    |         |      |           9F 9E 81 80 |
16090 | 44                spritedata.s    123 | Data        | 11 |         |   16 | 00/8DB4 : FF FE E1 E0 |                          HEX     FFFEE1E09F9E8180FFFEE1E09F9E8180
      |                                       |             |    |         |      |           9F 9E 81 80 |
      |                                       |             |    |         |      |           FF FE E1 E0 |
      |                                       |             |    |         |      |           9F 9E 81 80 |
16091 | 44                spritedata.s    124 | Data        | 11 |         |   16 | 00/8DC4 : FF FE E1 E0 |                          HEX     FFFEE1E09F9E8180FFFEE1E09F9E8180
      |                                       |             |    |         |      |           9F 9E 81 80 |
      |                                       |             |    |         |      |           FF FE E1 E0 |
      |                                       |             |    |         |      |           9F 9E 81 80 |
16092 | 44                spritedata.s    125 | Comment     | 11 |         |    0 | 00/8DD4               | * shift 1, byte 2
16093 | 44                spritedata.s    126 | Data        | 11 |         |   16 | 00/8DD4 : FF FF FF FF |                          HEX     FFFFFFFFFCFCFCFCC3C3C3C3C0C0C0C0
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
16094 | 44                spritedata.s    127 | Data        | 11 |         |   16 | 00/8DE4 : BF BF BF BF |                          HEX     BFBFBFBFBCBCBCBC8383838380808080
      |                                       |             |    |         |      |           BC BC BC BC |
      |                                       |             |    |         |      |           83 83 83 83 |
      |                                       |             |    |         |      |           80 80 80 80 |
16095 | 44                spritedata.s    128 | Data        | 11 |         |   16 | 00/8DF4 : FF FF FF FF |                          HEX     FFFFFFFFFCFCFCFCC3C3C3C3C0C0C0C0
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
16096 | 44                spritedata.s    129 | Data        | 11 |         |   16 | 00/8E04 : BF BF BF BF |                          HEX     BFBFBFBFBCBCBCBC8383838380808080
      |                                       |             |    |         |      |           BC BC BC BC |
      |                                       |             |    |         |      |           83 83 83 83 |
      |                                       |             |    |         |      |           80 80 80 80 |
16097 | 44                spritedata.s    130 | Data        | 11 |         |   16 | 00/8E14 : FF FF FF FF |                          HEX     FFFFFFFFFCFCFCFCC3C3C3C3C0C0C0C0
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
16098 | 44                spritedata.s    131 | Data        | 11 |         |   16 | 00/8E24 : BF BF BF BF |                          HEX     BFBFBFBFBCBCBCBC8383838380808080
      |                                       |             |    |         |      |           BC BC BC BC |
      |                                       |             |    |         |      |           83 83 83 83 |
      |                                       |             |    |         |      |           80 80 80 80 |
16099 | 44                spritedata.s    132 | Data        | 11 |         |   16 | 00/8E34 : FF FF FF FF |                          HEX     FFFFFFFFFCFCFCFCC3C3C3C3C0C0C0C0
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
16100 | 44                spritedata.s    133 | Data        | 11 |         |   16 | 00/8E44 : BF BF BF BF |                          HEX     BFBFBFBFBCBCBCBC8383838380808080
      |                                       |             |    |         |      |           BC BC BC BC |
      |                                       |             |    |         |      |           83 83 83 83 |
      |                                       |             |    |         |      |           80 80 80 80 |
16101 | 44                spritedata.s    134 | Comment     | 11 |         |    0 | 00/8E54               | * shift 1, byte 3
16102 | 44                spritedata.s    135 | Data        | 11 |         |   16 | 00/8E54 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16103 | 44                spritedata.s    136 | Data        | 11 |         |   16 | 00/8E64 : F8 F8 F8 F8 |                          HEX     F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16104 | 44                spritedata.s    137 | Data        | 11 |         |   16 | 00/8E74 : 87 87 87 87 |                          HEX     87878787878787878787878787878787
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           87 87 87 87 |
16105 | 44                spritedata.s    138 | Data        | 11 |         |   16 | 00/8E84 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16106 | 44                spritedata.s    139 | Data        | 11 |         |   16 | 00/8E94 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16107 | 44                spritedata.s    140 | Data        | 11 |         |   16 | 00/8EA4 : F8 F8 F8 F8 |                          HEX     F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16108 | 44                spritedata.s    141 | Data        | 11 |         |   16 | 00/8EB4 : 87 87 87 87 |                          HEX     87878787878787878787878787878787
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           87 87 87 87 |
16109 | 44                spritedata.s    142 | Data        | 11 |         |   16 | 00/8EC4 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16110 | 44                spritedata.s    143 | Comment     | 11 |         |    0 | 00/8ED4               | * shift 1, byte 4
16111 | 44                spritedata.s    144 | Data        | 11 |         |   16 | 00/8ED4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16112 | 44                spritedata.s    145 | Data        | 11 |         |   16 | 00/8EE4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16113 | 44                spritedata.s    146 | Data        | 11 |         |   16 | 00/8EF4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16114 | 44                spritedata.s    147 | Data        | 11 |         |   16 | 00/8F04 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16115 | 44                spritedata.s    148 | Data        | 11 |         |   16 | 00/8F14 : F0 F0 F0 F0 |                          HEX     F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16116 | 44                spritedata.s    149 | Data        | 11 |         |   16 | 00/8F24 : F0 F0 F0 F0 |                          HEX     F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16117 | 44                spritedata.s    150 | Data        | 11 |         |   16 | 00/8F34 : F0 F0 F0 F0 |                          HEX     F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16118 | 44                spritedata.s    151 | Data        | 11 |         |   16 | 00/8F44 : F0 F0 F0 F0 |                          HEX     F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16119 | 44                spritedata.s    152 | Comment     | 11 |         |    0 | 00/8F54               | * shift 2, byte 1
16120 | 44                spritedata.s    153 | Data        | 11 |         |   16 | 00/8F54 : FF E1 9F 81 |                          HEX     FFE19F81FFE19F81FFE19F81FFE19F81
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
16121 | 44                spritedata.s    154 | Data        | 11 |         |   16 | 00/8F64 : FF E1 9F 81 |                          HEX     FFE19F81FFE19F81FFE19F81FFE19F81
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
16122 | 44                spritedata.s    155 | Data        | 11 |         |   16 | 00/8F74 : FF E1 9F 81 |                          HEX     FFE19F81FFE19F81FFE19F81FFE19F81
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
16123 | 44                spritedata.s    156 | Data        | 11 |         |   16 | 00/8F84 : FF E1 9F 81 |                          HEX     FFE19F81FFE19F81FFE19F81FFE19F81
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
16124 | 44                spritedata.s    157 | Data        | 11 |         |   16 | 00/8F94 : FF E1 9F 81 |                          HEX     FFE19F81FFE19F81FFE19F81FFE19F81
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
16125 | 44                spritedata.s    158 | Data        | 11 |         |   16 | 00/8FA4 : FF E1 9F 81 |                          HEX     FFE19F81FFE19F81FFE19F81FFE19F81
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
16126 | 44                spritedata.s    159 | Data        | 11 |         |   16 | 00/8FB4 : FF E1 9F 81 |                          HEX     FFE19F81FFE19F81FFE19F81FFE19F81
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
16127 | 44                spritedata.s    160 | Data        | 11 |         |   16 | 00/8FC4 : FF E1 9F 81 |                          HEX     FFE19F81FFE19F81FFE19F81FFE19F81
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
      |                                       |             |    |         |      |           FF E1 9F 81 |
16128 | 44                spritedata.s    161 | Comment     | 11 |         |    0 | 00/8FD4               | * shift 2, byte 2
16129 | 44                spritedata.s    162 | Data        | 11 |         |   16 | 00/8FD4 : FF FF FC FC |                          HEX     FFFFFCFCC3C3C0C0BFBFBCBC83838080
      |                                       |             |    |         |      |           C3 C3 C0 C0 |
      |                                       |             |    |         |      |           BF BF BC BC |
      |                                       |             |    |         |      |           83 83 80 80 |
16130 | 44                spritedata.s    163 | Data        | 11 |         |   16 | 00/8FE4 : FF FF FC FC |                          HEX     FFFFFCFCC3C3C0C0BFBFBCBC83838080
      |                                       |             |    |         |      |           C3 C3 C0 C0 |
      |                                       |             |    |         |      |           BF BF BC BC |
      |                                       |             |    |         |      |           83 83 80 80 |
16131 | 44                spritedata.s    164 | Data        | 11 |         |   16 | 00/8FF4 : FF FF FC FC |                          HEX     FFFFFCFCC3C3C0C0BFBFBCBC83838080
      |                                       |             |    |         |      |           C3 C3 C0 C0 |
      |                                       |             |    |         |      |           BF BF BC BC |
      |                                       |             |    |         |      |           83 83 80 80 |
16132 | 44                spritedata.s    165 | Data        | 11 |         |   16 | 00/9004 : FF FF FC FC |                          HEX     FFFFFCFCC3C3C0C0BFBFBCBC83838080
      |                                       |             |    |         |      |           C3 C3 C0 C0 |
      |                                       |             |    |         |      |           BF BF BC BC |
      |                                       |             |    |         |      |           83 83 80 80 |
16133 | 44                spritedata.s    166 | Data        | 11 |         |   16 | 00/9014 : FF FF FC FC |                          HEX     FFFFFCFCC3C3C0C0BFBFBCBC83838080
      |                                       |             |    |         |      |           C3 C3 C0 C0 |
      |                                       |             |    |         |      |           BF BF BC BC |
      |                                       |             |    |         |      |           83 83 80 80 |
16134 | 44                spritedata.s    167 | Data        | 11 |         |   16 | 00/9024 : FF FF FC FC |                          HEX     FFFFFCFCC3C3C0C0BFBFBCBC83838080
      |                                       |             |    |         |      |           C3 C3 C0 C0 |
      |                                       |             |    |         |      |           BF BF BC BC |
      |                                       |             |    |         |      |           83 83 80 80 |
16135 | 44                spritedata.s    168 | Data        | 11 |         |   16 | 00/9034 : FF FF FC FC |                          HEX     FFFFFCFCC3C3C0C0BFBFBCBC83838080
      |                                       |             |    |         |      |           C3 C3 C0 C0 |
      |                                       |             |    |         |      |           BF BF BC BC |
      |                                       |             |    |         |      |           83 83 80 80 |
16136 | 44                spritedata.s    169 | Data        | 11 |         |   16 | 00/9044 : FF FF FC FC |                          HEX     FFFFFCFCC3C3C0C0BFBFBCBC83838080
      |                                       |             |    |         |      |           C3 C3 C0 C0 |
      |                                       |             |    |         |      |           BF BF BC BC |
      |                                       |             |    |         |      |           83 83 80 80 |
16137 | 44                spritedata.s    170 | Comment     | 11 |         |    0 | 00/9054               | * shift 2, byte 3
16138 | 44                spritedata.s    171 | Data        | 11 |         |   16 | 00/9054 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFF8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16139 | 44                spritedata.s    172 | Data        | 11 |         |   16 | 00/9064 : 87 87 87 87 |                          HEX     87878787878787878080808080808080
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16140 | 44                spritedata.s    173 | Data        | 11 |         |   16 | 00/9074 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFF8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16141 | 44                spritedata.s    174 | Data        | 11 |         |   16 | 00/9084 : 87 87 87 87 |                          HEX     87878787878787878080808080808080
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16142 | 44                spritedata.s    175 | Data        | 11 |         |   16 | 00/9094 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFF8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16143 | 44                spritedata.s    176 | Data        | 11 |         |   16 | 00/90A4 : 87 87 87 87 |                          HEX     87878787878787878080808080808080
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16144 | 44                spritedata.s    177 | Data        | 11 |         |   16 | 00/90B4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFF8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16145 | 44                spritedata.s    178 | Data        | 11 |         |   16 | 00/90C4 : 87 87 87 87 |                          HEX     87878787878787878080808080808080
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16146 | 44                spritedata.s    179 | Comment     | 11 |         |    0 | 00/90D4               | * shift 2, byte 4
16147 | 44                spritedata.s    180 | Data        | 11 |         |   16 | 00/90D4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16148 | 44                spritedata.s    181 | Data        | 11 |         |   16 | 00/90E4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16149 | 44                spritedata.s    182 | Data        | 11 |         |   16 | 00/90F4 : F0 F0 F0 F0 |                          HEX     F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16150 | 44                spritedata.s    183 | Data        | 11 |         |   16 | 00/9104 : F0 F0 F0 F0 |                          HEX     F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16151 | 44                spritedata.s    184 | Data        | 11 |         |   16 | 00/9114 : 8F 8F 8F 8F |                          HEX     8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
16152 | 44                spritedata.s    185 | Data        | 11 |         |   16 | 00/9124 : 8F 8F 8F 8F |                          HEX     8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
16153 | 44                spritedata.s    186 | Data        | 11 |         |   16 | 00/9134 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16154 | 44                spritedata.s    187 | Data        | 11 |         |   16 | 00/9144 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16155 | 44                spritedata.s    188 | Comment     | 11 |         |    0 | 00/9154               | * shift 2, byte 5
16156 | 44                spritedata.s    189 | Data        | 11 |         |   16 | 00/9154 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16157 | 44                spritedata.s    190 | Data        | 11 |         |   16 | 00/9164 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16158 | 44                spritedata.s    191 | Data        | 11 |         |   16 | 00/9174 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16159 | 44                spritedata.s    192 | Data        | 11 |         |   16 | 00/9184 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16160 | 44                spritedata.s    193 | Data        | 11 |         |   16 | 00/9194 : FE FE FE FE |                          HEX     FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
16161 | 44                spritedata.s    194 | Data        | 11 |         |   16 | 00/91A4 : FE FE FE FE |                          HEX     FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
16162 | 44                spritedata.s    195 | Data        | 11 |         |   16 | 00/91B4 : FE FE FE FE |                          HEX     FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
16163 | 44                spritedata.s    196 | Data        | 11 |         |   16 | 00/91C4 : FE FE FE FE |                          HEX     FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
16164 | 44                spritedata.s    197 | Comment     | 11 |         |    0 | 00/91D4               | * shift 3, byte 1
16165 | 44                spritedata.s    198 | Data        | 11 |         |   16 | 00/91D4 : FF 9F FF 9F |                          HEX     FF9FFF9FFF9FFF9FFF9FFF9FFF9FFF9F
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
16166 | 44                spritedata.s    199 | Data        | 11 |         |   16 | 00/91E4 : FF 9F FF 9F |                          HEX     FF9FFF9FFF9FFF9FFF9FFF9FFF9FFF9F
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
16167 | 44                spritedata.s    200 | Data        | 11 |         |   16 | 00/91F4 : FF 9F FF 9F |                          HEX     FF9FFF9FFF9FFF9FFF9FFF9FFF9FFF9F
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
16168 | 44                spritedata.s    201 | Data        | 11 |         |   16 | 00/9204 : FF 9F FF 9F |                          HEX     FF9FFF9FFF9FFF9FFF9FFF9FFF9FFF9F
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
16169 | 44                spritedata.s    202 | Data        | 11 |         |   16 | 00/9214 : FF 9F FF 9F |                          HEX     FF9FFF9FFF9FFF9FFF9FFF9FFF9FFF9F
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
16170 | 44                spritedata.s    203 | Data        | 11 |         |   16 | 00/9224 : FF 9F FF 9F |                          HEX     FF9FFF9FFF9FFF9FFF9FFF9FFF9FFF9F
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
16171 | 44                spritedata.s    204 | Data        | 11 |         |   16 | 00/9234 : FF 9F FF 9F |                          HEX     FF9FFF9FFF9FFF9FFF9FFF9FFF9FFF9F
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
16172 | 44                spritedata.s    205 | Data        | 11 |         |   16 | 00/9244 : FF 9F FF 9F |                          HEX     FF9FFF9FFF9FFF9FFF9FFF9FFF9FFF9F
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
      |                                       |             |    |         |      |           FF 9F FF 9F |
16173 | 44                spritedata.s    206 | Comment     | 11 |         |    0 | 00/9254               | * shift 3, byte 2
16174 | 44                spritedata.s    207 | Data        | 11 |         |   16 | 00/9254 : FF FC C3 C0 |                          HEX     FFFCC3C0BFBC8380FFFCC3C0BFBC8380
      |                                       |             |    |         |      |           BF BC 83 80 |
      |                                       |             |    |         |      |           FF FC C3 C0 |
      |                                       |             |    |         |      |           BF BC 83 80 |
16175 | 44                spritedata.s    208 | Data        | 11 |         |   16 | 00/9264 : FF FC C3 C0 |                          HEX     FFFCC3C0BFBC8380FFFCC3C0BFBC8380
      |                                       |             |    |         |      |           BF BC 83 80 |
      |                                       |             |    |         |      |           FF FC C3 C0 |
      |                                       |             |    |         |      |           BF BC 83 80 |
16176 | 44                spritedata.s    209 | Data        | 11 |         |   16 | 00/9274 : FF FC C3 C0 |                          HEX     FFFCC3C0BFBC8380FFFCC3C0BFBC8380
      |                                       |             |    |         |      |           BF BC 83 80 |
      |                                       |             |    |         |      |           FF FC C3 C0 |
      |                                       |             |    |         |      |           BF BC 83 80 |
16177 | 44                spritedata.s    210 | Data        | 11 |         |   16 | 00/9284 : FF FC C3 C0 |                          HEX     FFFCC3C0BFBC8380FFFCC3C0BFBC8380
      |                                       |             |    |         |      |           BF BC 83 80 |
      |                                       |             |    |         |      |           FF FC C3 C0 |
      |                                       |             |    |         |      |           BF BC 83 80 |
16178 | 44                spritedata.s    211 | Data        | 11 |         |   16 | 00/9294 : FF FC C3 C0 |                          HEX     FFFCC3C0BFBC8380FFFCC3C0BFBC8380
      |                                       |             |    |         |      |           BF BC 83 80 |
      |                                       |             |    |         |      |           FF FC C3 C0 |
      |                                       |             |    |         |      |           BF BC 83 80 |
16179 | 44                spritedata.s    212 | Data        | 11 |         |   16 | 00/92A4 : FF FC C3 C0 |                          HEX     FFFCC3C0BFBC8380FFFCC3C0BFBC8380
      |                                       |             |    |         |      |           BF BC 83 80 |
      |                                       |             |    |         |      |           FF FC C3 C0 |
      |                                       |             |    |         |      |           BF BC 83 80 |
16180 | 44                spritedata.s    213 | Data        | 11 |         |   16 | 00/92B4 : FF FC C3 C0 |                          HEX     FFFCC3C0BFBC8380FFFCC3C0BFBC8380
      |                                       |             |    |         |      |           BF BC 83 80 |
      |                                       |             |    |         |      |           FF FC C3 C0 |
      |                                       |             |    |         |      |           BF BC 83 80 |
16181 | 44                spritedata.s    214 | Data        | 11 |         |   16 | 00/92C4 : FF FC C3 C0 |                          HEX     FFFCC3C0BFBC8380FFFCC3C0BFBC8380
      |                                       |             |    |         |      |           BF BC 83 80 |
      |                                       |             |    |         |      |           FF FC C3 C0 |
      |                                       |             |    |         |      |           BF BC 83 80 |
16182 | 44                spritedata.s    215 | Comment     | 11 |         |    0 | 00/92D4               | * shift 3, byte 3
16183 | 44                spritedata.s    216 | Data        | 11 |         |   16 | 00/92D4 : FF FF FF FF |                          HEX     FFFFFFFFF8F8F8F88787878780808080
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
16184 | 44                spritedata.s    217 | Data        | 11 |         |   16 | 00/92E4 : FF FF FF FF |                          HEX     FFFFFFFFF8F8F8F88787878780808080
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
16185 | 44                spritedata.s    218 | Data        | 11 |         |   16 | 00/92F4 : FF FF FF FF |                          HEX     FFFFFFFFF8F8F8F88787878780808080
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
16186 | 44                spritedata.s    219 | Data        | 11 |         |   16 | 00/9304 : FF FF FF FF |                          HEX     FFFFFFFFF8F8F8F88787878780808080
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
16187 | 44                spritedata.s    220 | Data        | 11 |         |   16 | 00/9314 : FF FF FF FF |                          HEX     FFFFFFFFF8F8F8F88787878780808080
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
16188 | 44                spritedata.s    221 | Data        | 11 |         |   16 | 00/9324 : FF FF FF FF |                          HEX     FFFFFFFFF8F8F8F88787878780808080
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
16189 | 44                spritedata.s    222 | Data        | 11 |         |   16 | 00/9334 : FF FF FF FF |                          HEX     FFFFFFFFF8F8F8F88787878780808080
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
16190 | 44                spritedata.s    223 | Data        | 11 |         |   16 | 00/9344 : FF FF FF FF |                          HEX     FFFFFFFFF8F8F8F88787878780808080
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           87 87 87 87 |
      |                                       |             |    |         |      |           80 80 80 80 |
16191 | 44                spritedata.s    224 | Comment     | 11 |         |    0 | 00/9354               | * shift 3, byte 4
16192 | 44                spritedata.s    225 | Data        | 11 |         |   16 | 00/9354 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16193 | 44                spritedata.s    226 | Data        | 11 |         |   16 | 00/9364 : F0 F0 F0 F0 |                          HEX     F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16194 | 44                spritedata.s    227 | Data        | 11 |         |   16 | 00/9374 : 8F 8F 8F 8F |                          HEX     8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
16195 | 44                spritedata.s    228 | Data        | 11 |         |   16 | 00/9384 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16196 | 44                spritedata.s    229 | Data        | 11 |         |   16 | 00/9394 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16197 | 44                spritedata.s    230 | Data        | 11 |         |   16 | 00/93A4 : F0 F0 F0 F0 |                          HEX     F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16198 | 44                spritedata.s    231 | Data        | 11 |         |   16 | 00/93B4 : 8F 8F 8F 8F |                          HEX     8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
16199 | 44                spritedata.s    232 | Data        | 11 |         |   16 | 00/93C4 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16200 | 44                spritedata.s    233 | Comment     | 11 |         |    0 | 00/93D4               | * shift 3, byte 5
16201 | 44                spritedata.s    234 | Data        | 11 |         |   16 | 00/93D4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16202 | 44                spritedata.s    235 | Data        | 11 |         |   16 | 00/93E4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16203 | 44                spritedata.s    236 | Data        | 11 |         |   16 | 00/93F4 : FE FE FE FE |                          HEX     FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
16204 | 44                spritedata.s    237 | Data        | 11 |         |   16 | 00/9404 : FE FE FE FE |                          HEX     FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
16205 | 44                spritedata.s    238 | Data        | 11 |         |   16 | 00/9414 : E1 E1 E1 E1 |                          HEX     E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
16206 | 44                spritedata.s    239 | Data        | 11 |         |   16 | 00/9424 : E1 E1 E1 E1 |                          HEX     E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
16207 | 44                spritedata.s    240 | Data        | 11 |         |   16 | 00/9434 : E0 E0 E0 E0 |                          HEX     E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
16208 | 44                spritedata.s    241 | Data        | 11 |         |   16 | 00/9444 : E0 E0 E0 E0 |                          HEX     E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
16209 | 44                spritedata.s    242 | Comment     | 11 |         |    0 | 00/9454               | * shift 4, byte 2
16210 | 44                spritedata.s    243 | Data        | 11 |         |   16 | 00/9454 : FF C3 BF 83 |                          HEX     FFC3BF83FFC3BF83FFC3BF83FFC3BF83
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
16211 | 44                spritedata.s    244 | Data        | 11 |         |   16 | 00/9464 : FF C3 BF 83 |                          HEX     FFC3BF83FFC3BF83FFC3BF83FFC3BF83
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
16212 | 44                spritedata.s    245 | Data        | 11 |         |   16 | 00/9474 : FF C3 BF 83 |                          HEX     FFC3BF83FFC3BF83FFC3BF83FFC3BF83
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
16213 | 44                spritedata.s    246 | Data        | 11 |         |   16 | 00/9484 : FF C3 BF 83 |                          HEX     FFC3BF83FFC3BF83FFC3BF83FFC3BF83
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
16214 | 44                spritedata.s    247 | Data        | 11 |         |   16 | 00/9494 : FF C3 BF 83 |                          HEX     FFC3BF83FFC3BF83FFC3BF83FFC3BF83
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
16215 | 44                spritedata.s    248 | Data        | 11 |         |   16 | 00/94A4 : FF C3 BF 83 |                          HEX     FFC3BF83FFC3BF83FFC3BF83FFC3BF83
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
16216 | 44                spritedata.s    249 | Data        | 11 |         |   16 | 00/94B4 : FF C3 BF 83 |                          HEX     FFC3BF83FFC3BF83FFC3BF83FFC3BF83
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
16217 | 44                spritedata.s    250 | Data        | 11 |         |   16 | 00/94C4 : FF C3 BF 83 |                          HEX     FFC3BF83FFC3BF83FFC3BF83FFC3BF83
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
      |                                       |             |    |         |      |           FF C3 BF 83 |
16218 | 44                spritedata.s    251 | Comment     | 11 |         |    0 | 00/94D4               | * shift 4, byte 3
16219 | 44                spritedata.s    252 | Data        | 11 |         |   16 | 00/94D4 : FF FF F8 F8 |                          HEX     FFFFF8F887878080FFFFF8F887878080
      |                                       |             |    |         |      |           87 87 80 80 |
      |                                       |             |    |         |      |           FF FF F8 F8 |
      |                                       |             |    |         |      |           87 87 80 80 |
16220 | 44                spritedata.s    253 | Data        | 11 |         |   16 | 00/94E4 : FF FF F8 F8 |                          HEX     FFFFF8F887878080FFFFF8F887878080
      |                                       |             |    |         |      |           87 87 80 80 |
      |                                       |             |    |         |      |           FF FF F8 F8 |
      |                                       |             |    |         |      |           87 87 80 80 |
16221 | 44                spritedata.s    254 | Data        | 11 |         |   16 | 00/94F4 : FF FF F8 F8 |                          HEX     FFFFF8F887878080FFFFF8F887878080
      |                                       |             |    |         |      |           87 87 80 80 |
      |                                       |             |    |         |      |           FF FF F8 F8 |
      |                                       |             |    |         |      |           87 87 80 80 |
16222 | 44                spritedata.s    255 | Data        | 11 |         |   16 | 00/9504 : FF FF F8 F8 |                          HEX     FFFFF8F887878080FFFFF8F887878080
      |                                       |             |    |         |      |           87 87 80 80 |
      |                                       |             |    |         |      |           FF FF F8 F8 |
      |                                       |             |    |         |      |           87 87 80 80 |
16223 | 44                spritedata.s    256 | Data        | 11 |         |   16 | 00/9514 : FF FF F8 F8 |                          HEX     FFFFF8F887878080FFFFF8F887878080
      |                                       |             |    |         |      |           87 87 80 80 |
      |                                       |             |    |         |      |           FF FF F8 F8 |
      |                                       |             |    |         |      |           87 87 80 80 |
16224 | 44                spritedata.s    257 | Data        | 11 |         |   16 | 00/9524 : FF FF F8 F8 |                          HEX     FFFFF8F887878080FFFFF8F887878080
      |                                       |             |    |         |      |           87 87 80 80 |
      |                                       |             |    |         |      |           FF FF F8 F8 |
      |                                       |             |    |         |      |           87 87 80 80 |
16225 | 44                spritedata.s    258 | Data        | 11 |         |   16 | 00/9534 : FF FF F8 F8 |                          HEX     FFFFF8F887878080FFFFF8F887878080
      |                                       |             |    |         |      |           87 87 80 80 |
      |                                       |             |    |         |      |           FF FF F8 F8 |
      |                                       |             |    |         |      |           87 87 80 80 |
16226 | 44                spritedata.s    259 | Data        | 11 |         |   16 | 00/9544 : FF FF F8 F8 |                          HEX     FFFFF8F887878080FFFFF8F887878080
      |                                       |             |    |         |      |           87 87 80 80 |
      |                                       |             |    |         |      |           FF FF F8 F8 |
      |                                       |             |    |         |      |           87 87 80 80 |
16227 | 44                spritedata.s    260 | Comment     | 11 |         |    0 | 00/9554               | * shift 4, byte 4
16228 | 44                spritedata.s    261 | Data        | 11 |         |   16 | 00/9554 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFF0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16229 | 44                spritedata.s    262 | Data        | 11 |         |   16 | 00/9564 : 8F 8F 8F 8F |                          HEX     8F8F8F8F8F8F8F8F8080808080808080
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16230 | 44                spritedata.s    263 | Data        | 11 |         |   16 | 00/9574 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFF0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16231 | 44                spritedata.s    264 | Data        | 11 |         |   16 | 00/9584 : 8F 8F 8F 8F |                          HEX     8F8F8F8F8F8F8F8F8080808080808080
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16232 | 44                spritedata.s    265 | Data        | 11 |         |   16 | 00/9594 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFF0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16233 | 44                spritedata.s    266 | Data        | 11 |         |   16 | 00/95A4 : 8F 8F 8F 8F |                          HEX     8F8F8F8F8F8F8F8F8080808080808080
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16234 | 44                spritedata.s    267 | Data        | 11 |         |   16 | 00/95B4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFF0F0F0F0F0F0F0F0
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
16235 | 44                spritedata.s    268 | Data        | 11 |         |   16 | 00/95C4 : 8F 8F 8F 8F |                          HEX     8F8F8F8F8F8F8F8F8080808080808080
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16236 | 44                spritedata.s    269 | Comment     | 11 |         |    0 | 00/95D4               | * shift 4, byte 5
16237 | 44                spritedata.s    270 | Data        | 11 |         |   16 | 00/95D4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16238 | 44                spritedata.s    271 | Data        | 11 |         |   16 | 00/95E4 : FE FE FE FE |                          HEX     FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
16239 | 44                spritedata.s    272 | Data        | 11 |         |   16 | 00/95F4 : E1 E1 E1 E1 |                          HEX     E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
16240 | 44                spritedata.s    273 | Data        | 11 |         |   16 | 00/9604 : E0 E0 E0 E0 |                          HEX     E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
16241 | 44                spritedata.s    274 | Data        | 11 |         |   16 | 00/9614 : 9F 9F 9F 9F |                          HEX     9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F
      |                                       |             |    |         |      |           9F 9F 9F 9F |
      |                                       |             |    |         |      |           9F 9F 9F 9F |
      |                                       |             |    |         |      |           9F 9F 9F 9F |
16242 | 44                spritedata.s    275 | Data        | 11 |         |   16 | 00/9624 : 9E 9E 9E 9E |                          HEX     9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E9E
      |                                       |             |    |         |      |           9E 9E 9E 9E |
      |                                       |             |    |         |      |           9E 9E 9E 9E |
      |                                       |             |    |         |      |           9E 9E 9E 9E |
16243 | 44                spritedata.s    276 | Data        | 11 |         |   16 | 00/9634 : 81 81 81 81 |                          HEX     81818181818181818181818181818181
      |                                       |             |    |         |      |           81 81 81 81 |
      |                                       |             |    |         |      |           81 81 81 81 |
      |                                       |             |    |         |      |           81 81 81 81 |
16244 | 44                spritedata.s    277 | Data        | 11 |         |   16 | 00/9644 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16245 | 44                spritedata.s    278 | Comment     | 11 |         |    0 | 00/9654               | * shift 4, byte 6
16246 | 44                spritedata.s    279 | Data        | 11 |         |   16 | 00/9654 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16247 | 44                spritedata.s    280 | Data        | 11 |         |   16 | 00/9664 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16248 | 44                spritedata.s    281 | Data        | 11 |         |   16 | 00/9674 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16249 | 44                spritedata.s    282 | Data        | 11 |         |   16 | 00/9684 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16250 | 44                spritedata.s    283 | Data        | 11 |         |   16 | 00/9694 : FC FC FC FC |                          HEX     FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
16251 | 44                spritedata.s    284 | Data        | 11 |         |   16 | 00/96A4 : FC FC FC FC |                          HEX     FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
16252 | 44                spritedata.s    285 | Data        | 11 |         |   16 | 00/96B4 : FC FC FC FC |                          HEX     FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
16253 | 44                spritedata.s    286 | Data        | 11 |         |   16 | 00/96C4 : FC FC FC FC |                          HEX     FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
16254 | 44                spritedata.s    287 | Comment     | 11 |         |    0 | 00/96D4               | * shift 5, byte 2
16255 | 44                spritedata.s    288 | Data        | 11 |         |   16 | 00/96D4 : FF BF FF BF |                          HEX     FFBFFFBFFFBFFFBFFFBFFFBFFFBFFFBF
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
16256 | 44                spritedata.s    289 | Data        | 11 |         |   16 | 00/96E4 : FF BF FF BF |                          HEX     FFBFFFBFFFBFFFBFFFBFFFBFFFBFFFBF
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
16257 | 44                spritedata.s    290 | Data        | 11 |         |   16 | 00/96F4 : FF BF FF BF |                          HEX     FFBFFFBFFFBFFFBFFFBFFFBFFFBFFFBF
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
16258 | 44                spritedata.s    291 | Data        | 11 |         |   16 | 00/9704 : FF BF FF BF |                          HEX     FFBFFFBFFFBFFFBFFFBFFFBFFFBFFFBF
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
16259 | 44                spritedata.s    292 | Data        | 11 |         |   16 | 00/9714 : FF BF FF BF |                          HEX     FFBFFFBFFFBFFFBFFFBFFFBFFFBFFFBF
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
16260 | 44                spritedata.s    293 | Data        | 11 |         |   16 | 00/9724 : FF BF FF BF |                          HEX     FFBFFFBFFFBFFFBFFFBFFFBFFFBFFFBF
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
16261 | 44                spritedata.s    294 | Data        | 11 |         |   16 | 00/9734 : FF BF FF BF |                          HEX     FFBFFFBFFFBFFFBFFFBFFFBFFFBFFFBF
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
16262 | 44                spritedata.s    295 | Data        | 11 |         |   16 | 00/9744 : FF BF FF BF |                          HEX     FFBFFFBFFFBFFFBFFFBFFFBFFFBFFFBF
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
      |                                       |             |    |         |      |           FF BF FF BF |
16263 | 44                spritedata.s    296 | Comment     | 11 |         |    0 | 00/9754               | * shift 5, byte 3
16264 | 44                spritedata.s    297 | Data        | 11 |         |   16 | 00/9754 : FF F8 87 80 |                          HEX     FFF88780FFF88780FFF88780FFF88780
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
16265 | 44                spritedata.s    298 | Data        | 11 |         |   16 | 00/9764 : FF F8 87 80 |                          HEX     FFF88780FFF88780FFF88780FFF88780
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
16266 | 44                spritedata.s    299 | Data        | 11 |         |   16 | 00/9774 : FF F8 87 80 |                          HEX     FFF88780FFF88780FFF88780FFF88780
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
16267 | 44                spritedata.s    300 | Data        | 11 |         |   16 | 00/9784 : FF F8 87 80 |                          HEX     FFF88780FFF88780FFF88780FFF88780
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
16268 | 44                spritedata.s    301 | Data        | 11 |         |   16 | 00/9794 : FF F8 87 80 |                          HEX     FFF88780FFF88780FFF88780FFF88780
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
16269 | 44                spritedata.s    302 | Data        | 11 |         |   16 | 00/97A4 : FF F8 87 80 |                          HEX     FFF88780FFF88780FFF88780FFF88780
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
16270 | 44                spritedata.s    303 | Data        | 11 |         |   16 | 00/97B4 : FF F8 87 80 |                          HEX     FFF88780FFF88780FFF88780FFF88780
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
16271 | 44                spritedata.s    304 | Data        | 11 |         |   16 | 00/97C4 : FF F8 87 80 |                          HEX     FFF88780FFF88780FFF88780FFF88780
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
      |                                       |             |    |         |      |           FF F8 87 80 |
16272 | 44                spritedata.s    305 | Comment     | 11 |         |    0 | 00/97D4               | * shift 5, byte 4
16273 | 44                spritedata.s    306 | Data        | 11 |         |   16 | 00/97D4 : FF FF FF FF |                          HEX     FFFFFFFFF0F0F0F08F8F8F8F80808080
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
16274 | 44                spritedata.s    307 | Data        | 11 |         |   16 | 00/97E4 : FF FF FF FF |                          HEX     FFFFFFFFF0F0F0F08F8F8F8F80808080
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
16275 | 44                spritedata.s    308 | Data        | 11 |         |   16 | 00/97F4 : FF FF FF FF |                          HEX     FFFFFFFFF0F0F0F08F8F8F8F80808080
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
16276 | 44                spritedata.s    309 | Data        | 11 |         |   16 | 00/9804 : FF FF FF FF |                          HEX     FFFFFFFFF0F0F0F08F8F8F8F80808080
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
16277 | 44                spritedata.s    310 | Data        | 11 |         |   16 | 00/9814 : FF FF FF FF |                          HEX     FFFFFFFFF0F0F0F08F8F8F8F80808080
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
16278 | 44                spritedata.s    311 | Data        | 11 |         |   16 | 00/9824 : FF FF FF FF |                          HEX     FFFFFFFFF0F0F0F08F8F8F8F80808080
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
16279 | 44                spritedata.s    312 | Data        | 11 |         |   16 | 00/9834 : FF FF FF FF |                          HEX     FFFFFFFFF0F0F0F08F8F8F8F80808080
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
16280 | 44                spritedata.s    313 | Data        | 11 |         |   16 | 00/9844 : FF FF FF FF |                          HEX     FFFFFFFFF0F0F0F08F8F8F8F80808080
      |                                       |             |    |         |      |           F0 F0 F0 F0 |
      |                                       |             |    |         |      |           8F 8F 8F 8F |
      |                                       |             |    |         |      |           80 80 80 80 |
16281 | 44                spritedata.s    314 | Comment     | 11 |         |    0 | 00/9854               | * shift 5, byte 5
16282 | 44                spritedata.s    315 | Data        | 11 |         |   16 | 00/9854 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFE
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
16283 | 44                spritedata.s    316 | Data        | 11 |         |   16 | 00/9864 : E1 E1 E1 E1 |                          HEX     E1E1E1E1E1E1E1E1E0E0E0E0E0E0E0E0
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
16284 | 44                spritedata.s    317 | Data        | 11 |         |   16 | 00/9874 : 9F 9F 9F 9F |                          HEX     9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E
      |                                       |             |    |         |      |           9F 9F 9F 9F |
      |                                       |             |    |         |      |           9E 9E 9E 9E |
      |                                       |             |    |         |      |           9E 9E 9E 9E |
16285 | 44                spritedata.s    318 | Data        | 11 |         |   16 | 00/9884 : 81 81 81 81 |                          HEX     81818181818181818080808080808080
      |                                       |             |    |         |      |           81 81 81 81 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16286 | 44                spritedata.s    319 | Data        | 11 |         |   16 | 00/9894 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFE
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           FE FE FE FE |
16287 | 44                spritedata.s    320 | Data        | 11 |         |   16 | 00/98A4 : E1 E1 E1 E1 |                          HEX     E1E1E1E1E1E1E1E1E0E0E0E0E0E0E0E0
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
16288 | 44                spritedata.s    321 | Data        | 11 |         |   16 | 00/98B4 : 9F 9F 9F 9F |                          HEX     9F9F9F9F9F9F9F9F9E9E9E9E9E9E9E9E
      |                                       |             |    |         |      |           9F 9F 9F 9F |
      |                                       |             |    |         |      |           9E 9E 9E 9E |
      |                                       |             |    |         |      |           9E 9E 9E 9E |
16289 | 44                spritedata.s    322 | Data        | 11 |         |   16 | 00/98C4 : 81 81 81 81 |                          HEX     81818181818181818080808080808080
      |                                       |             |    |         |      |           81 81 81 81 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16290 | 44                spritedata.s    323 | Comment     | 11 |         |    0 | 00/98D4               | * shift 5, byte 6
16291 | 44                spritedata.s    324 | Data        | 11 |         |   16 | 00/98D4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16292 | 44                spritedata.s    325 | Data        | 11 |         |   16 | 00/98E4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16293 | 44                spritedata.s    326 | Data        | 11 |         |   16 | 00/98F4 : FC FC FC FC |                          HEX     FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
16294 | 44                spritedata.s    327 | Data        | 11 |         |   16 | 00/9904 : FC FC FC FC |                          HEX     FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
16295 | 44                spritedata.s    328 | Data        | 11 |         |   16 | 00/9914 : C3 C3 C3 C3 |                          HEX     C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
16296 | 44                spritedata.s    329 | Data        | 11 |         |   16 | 00/9924 : C3 C3 C3 C3 |                          HEX     C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
16297 | 44                spritedata.s    330 | Data        | 11 |         |   16 | 00/9934 : C0 C0 C0 C0 |                          HEX     C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
16298 | 44                spritedata.s    331 | Data        | 11 |         |   16 | 00/9944 : C0 C0 C0 C0 |                          HEX     C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
16299 | 44                spritedata.s    332 | Comment     | 11 |         |    0 | 00/9954               | * shift 6, byte 3
16300 | 44                spritedata.s    333 | Data        | 11 |         |   16 | 00/9954 : FF 87 FF 87 |                          HEX     FF87FF87FF87FF87FF87FF87FF87FF87
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
16301 | 44                spritedata.s    334 | Data        | 11 |         |   16 | 00/9964 : FF 87 FF 87 |                          HEX     FF87FF87FF87FF87FF87FF87FF87FF87
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
16302 | 44                spritedata.s    335 | Data        | 11 |         |   16 | 00/9974 : FF 87 FF 87 |                          HEX     FF87FF87FF87FF87FF87FF87FF87FF87
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
16303 | 44                spritedata.s    336 | Data        | 11 |         |   16 | 00/9984 : FF 87 FF 87 |                          HEX     FF87FF87FF87FF87FF87FF87FF87FF87
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
16304 | 44                spritedata.s    337 | Data        | 11 |         |   16 | 00/9994 : FF 87 FF 87 |                          HEX     FF87FF87FF87FF87FF87FF87FF87FF87
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
16305 | 44                spritedata.s    338 | Data        | 11 |         |   16 | 00/99A4 : FF 87 FF 87 |                          HEX     FF87FF87FF87FF87FF87FF87FF87FF87
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
16306 | 44                spritedata.s    339 | Data        | 11 |         |   16 | 00/99B4 : FF 87 FF 87 |                          HEX     FF87FF87FF87FF87FF87FF87FF87FF87
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
16307 | 44                spritedata.s    340 | Data        | 11 |         |   16 | 00/99C4 : FF 87 FF 87 |                          HEX     FF87FF87FF87FF87FF87FF87FF87FF87
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
      |                                       |             |    |         |      |           FF 87 FF 87 |
16308 | 44                spritedata.s    341 | Comment     | 11 |         |    0 | 00/99D4               | * shift 6, byte 4
16309 | 44                spritedata.s    342 | Data        | 11 |         |   16 | 00/99D4 : FF FF F0 F0 |                          HEX     FFFFF0F08F8F8080FFFFF0F08F8F8080
      |                                       |             |    |         |      |           8F 8F 80 80 |
      |                                       |             |    |         |      |           FF FF F0 F0 |
      |                                       |             |    |         |      |           8F 8F 80 80 |
16310 | 44                spritedata.s    343 | Data        | 11 |         |   16 | 00/99E4 : FF FF F0 F0 |                          HEX     FFFFF0F08F8F8080FFFFF0F08F8F8080
      |                                       |             |    |         |      |           8F 8F 80 80 |
      |                                       |             |    |         |      |           FF FF F0 F0 |
      |                                       |             |    |         |      |           8F 8F 80 80 |
16311 | 44                spritedata.s    344 | Data        | 11 |         |   16 | 00/99F4 : FF FF F0 F0 |                          HEX     FFFFF0F08F8F8080FFFFF0F08F8F8080
      |                                       |             |    |         |      |           8F 8F 80 80 |
      |                                       |             |    |         |      |           FF FF F0 F0 |
      |                                       |             |    |         |      |           8F 8F 80 80 |
16312 | 44                spritedata.s    345 | Data        | 11 |         |   16 | 00/9A04 : FF FF F0 F0 |                          HEX     FFFFF0F08F8F8080FFFFF0F08F8F8080
      |                                       |             |    |         |      |           8F 8F 80 80 |
      |                                       |             |    |         |      |           FF FF F0 F0 |
      |                                       |             |    |         |      |           8F 8F 80 80 |
16313 | 44                spritedata.s    346 | Data        | 11 |         |   16 | 00/9A14 : FF FF F0 F0 |                          HEX     FFFFF0F08F8F8080FFFFF0F08F8F8080
      |                                       |             |    |         |      |           8F 8F 80 80 |
      |                                       |             |    |         |      |           FF FF F0 F0 |
      |                                       |             |    |         |      |           8F 8F 80 80 |
16314 | 44                spritedata.s    347 | Data        | 11 |         |   16 | 00/9A24 : FF FF F0 F0 |                          HEX     FFFFF0F08F8F8080FFFFF0F08F8F8080
      |                                       |             |    |         |      |           8F 8F 80 80 |
      |                                       |             |    |         |      |           FF FF F0 F0 |
      |                                       |             |    |         |      |           8F 8F 80 80 |
16315 | 44                spritedata.s    348 | Data        | 11 |         |   16 | 00/9A34 : FF FF F0 F0 |                          HEX     FFFFF0F08F8F8080FFFFF0F08F8F8080
      |                                       |             |    |         |      |           8F 8F 80 80 |
      |                                       |             |    |         |      |           FF FF F0 F0 |
      |                                       |             |    |         |      |           8F 8F 80 80 |
16316 | 44                spritedata.s    349 | Data        | 11 |         |   16 | 00/9A44 : FF FF F0 F0 |                          HEX     FFFFF0F08F8F8080FFFFF0F08F8F8080
      |                                       |             |    |         |      |           8F 8F 80 80 |
      |                                       |             |    |         |      |           FF FF F0 F0 |
      |                                       |             |    |         |      |           8F 8F 80 80 |
16317 | 44                spritedata.s    350 | Comment     | 11 |         |    0 | 00/9A54               | * shift 6, byte 5
16318 | 44                spritedata.s    351 | Data        | 11 |         |   16 | 00/9A54 : FF FF FF FF |                          HEX     FFFFFFFFFEFEFEFEE1E1E1E1E0E0E0E0
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
16319 | 44                spritedata.s    352 | Data        | 11 |         |   16 | 00/9A64 : 9F 9F 9F 9F |                          HEX     9F9F9F9F9E9E9E9E8181818180808080
      |                                       |             |    |         |      |           9E 9E 9E 9E |
      |                                       |             |    |         |      |           81 81 81 81 |
      |                                       |             |    |         |      |           80 80 80 80 |
16320 | 44                spritedata.s    353 | Data        | 11 |         |   16 | 00/9A74 : FF FF FF FF |                          HEX     FFFFFFFFFEFEFEFEE1E1E1E1E0E0E0E0
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
16321 | 44                spritedata.s    354 | Data        | 11 |         |   16 | 00/9A84 : 9F 9F 9F 9F |                          HEX     9F9F9F9F9E9E9E9E8181818180808080
      |                                       |             |    |         |      |           9E 9E 9E 9E |
      |                                       |             |    |         |      |           81 81 81 81 |
      |                                       |             |    |         |      |           80 80 80 80 |
16322 | 44                spritedata.s    355 | Data        | 11 |         |   16 | 00/9A94 : FF FF FF FF |                          HEX     FFFFFFFFFEFEFEFEE1E1E1E1E0E0E0E0
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
16323 | 44                spritedata.s    356 | Data        | 11 |         |   16 | 00/9AA4 : 9F 9F 9F 9F |                          HEX     9F9F9F9F9E9E9E9E8181818180808080
      |                                       |             |    |         |      |           9E 9E 9E 9E |
      |                                       |             |    |         |      |           81 81 81 81 |
      |                                       |             |    |         |      |           80 80 80 80 |
16324 | 44                spritedata.s    357 | Data        | 11 |         |   16 | 00/9AB4 : FF FF FF FF |                          HEX     FFFFFFFFFEFEFEFEE1E1E1E1E0E0E0E0
      |                                       |             |    |         |      |           FE FE FE FE |
      |                                       |             |    |         |      |           E1 E1 E1 E1 |
      |                                       |             |    |         |      |           E0 E0 E0 E0 |
16325 | 44                spritedata.s    358 | Data        | 11 |         |   16 | 00/9AC4 : 9F 9F 9F 9F |                          HEX     9F9F9F9F9E9E9E9E8181818180808080
      |                                       |             |    |         |      |           9E 9E 9E 9E |
      |                                       |             |    |         |      |           81 81 81 81 |
      |                                       |             |    |         |      |           80 80 80 80 |
16326 | 44                spritedata.s    359 | Comment     | 11 |         |    0 | 00/9AD4               | * shift 6, byte 6
16327 | 44                spritedata.s    360 | Data        | 11 |         |   16 | 00/9AD4 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16328 | 44                spritedata.s    361 | Data        | 11 |         |   16 | 00/9AE4 : FC FC FC FC |                          HEX     FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
      |                                       |             |    |         |      |           FC FC FC FC |
16329 | 44                spritedata.s    362 | Data        | 11 |         |   16 | 00/9AF4 : C3 C3 C3 C3 |                          HEX     C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
      |                                       |             |    |         |      |           C3 C3 C3 C3 |
16330 | 44                spritedata.s    363 | Data        | 11 |         |   16 | 00/9B04 : C0 C0 C0 C0 |                          HEX     C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
      |                                       |             |    |         |      |           C0 C0 C0 C0 |
16331 | 44                spritedata.s    364 | Data        | 11 |         |   16 | 00/9B14 : BF BF BF BF |                          HEX     BFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBF
      |                                       |             |    |         |      |           BF BF BF BF |
      |                                       |             |    |         |      |           BF BF BF BF |
      |                                       |             |    |         |      |           BF BF BF BF |
16332 | 44                spritedata.s    365 | Data        | 11 |         |   16 | 00/9B24 : BC BC BC BC |                          HEX     BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
      |                                       |             |    |         |      |           BC BC BC BC |
      |                                       |             |    |         |      |           BC BC BC BC |
      |                                       |             |    |         |      |           BC BC BC BC |
16333 | 44                spritedata.s    366 | Data        | 11 |         |   16 | 00/9B34 : 83 83 83 83 |                          HEX     83838383838383838383838383838383
      |                                       |             |    |         |      |           83 83 83 83 |
      |                                       |             |    |         |      |           83 83 83 83 |
      |                                       |             |    |         |      |           83 83 83 83 |
16334 | 44                spritedata.s    367 | Data        | 11 |         |   16 | 00/9B44 : 80 80 80 80 |                          HEX     80808080808080808080808080808080
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
      |                                       |             |    |         |      |           80 80 80 80 |
16335 | 44                spritedata.s    368 | Comment     | 11 |         |    0 | 00/9B54               | * shift 6, byte 7
16336 | 44                spritedata.s    369 | Data        | 11 |         |   16 | 00/9B54 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16337 | 44                spritedata.s    370 | Data        | 11 |         |   16 | 00/9B64 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16338 | 44                spritedata.s    371 | Data        | 11 |         |   16 | 00/9B74 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16339 | 44                spritedata.s    372 | Data        | 11 |         |   16 | 00/9B84 : FF FF FF FF |                          HEX     FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
      |                                       |             |    |         |      |           FF FF FF FF |
16340 | 44                spritedata.s    373 | Data        | 11 |         |   16 | 00/9B94 : F8 F8 F8 F8 |                          HEX     F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16341 | 44                spritedata.s    374 | Data        | 11 |         |   16 | 00/9BA4 : F8 F8 F8 F8 |                          HEX     F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16342 | 44                spritedata.s    375 | Data        | 11 |         |   16 | 00/9BB4 : F8 F8 F8 F8 |                          HEX     F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16343 | 44                spritedata.s    376 | Data        | 11 |         |   16 | 00/9BC4 : F8 F8 F8 F8 |                          HEX     F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
      |                                       |             |    |         |      |           F8 F8 F8 F8 |
16344 | 44                spritedata.s    377 | Empty       | 11 |         |    0 | 00/9BD4               |                                                       
16345 | 44                spritedata.s    378 | Empty       | 11 |         |    0 | 00/9BD4               |                                                       
16346 |  1                    bagman.s    129 | Directive   | 11 |         |    0 | 00/9BD4               |                          PUT     leaderboard.s        
16347 | 45               leaderboard.s      1 | Comment     | 11 |         |    0 | 00/9BD4               | *
16348 | 45               leaderboard.s      2 | Comment     | 11 |         |    0 | 00/9BD4               | * Bagman - Top 10 Leaderboard (main-RAM MLI half)
16349 | 45               leaderboard.s      3 | Comment     | 11 |         |    0 | 00/9BD4               | *
16350 | 45               leaderboard.s      4 | Comment     | 11 |         |    0 | 00/9BD4               | * Handles boot-time load and runtime save of /BAGMAN/HIGHSCORE
16351 | 45               leaderboard.s      5 | Comment     | 11 |         |    0 | 00/9BD4               | * via ProDOS MLI. The UI (DrawLBFrame, _BuildRow, GoToLeaderboard,
16352 | 45               leaderboard.s      6 | Comment     | 11 |         |    0 | 00/9BD4               | * HiScoreCheck, HiScoreInsert, _AcceptChar) lives in leaderboard_aux.s
16353 | 45               leaderboard.s      7 | Comment     | 11 |         |    0 | 00/9BD4               | * (aux LC cold block) to keep the GameCode block below $B000
16354 | 45               leaderboard.s      8 | Comment     | 11 |         |    0 | 00/9BD4               | * (TileMap1 runtime buffer start).
16355 | 45               leaderboard.s      9 | Comment     | 11 |         |    0 | 00/9BD4               | *
16356 | 45               leaderboard.s     10 | Comment     | 11 |         |    0 | 00/9BD4               | * In-RAM state at $1F23+:
16357 | 45               leaderboard.s     11 | Comment     | 11 |         |    0 | 00/9BD4               | *   HiScoreTbl     = $1F23..$1FE0  (190 bytes: 10 entries x 19 bytes)
16358 | 45               leaderboard.s     12 | Comment     | 11 |         |    0 | 00/9BD4               | *   HiScoreNewRank = $1FE1         ($FF = none, else 0..9)
16359 | 45               leaderboard.s     13 | Comment     | 11 |         |    0 | 00/9BD4               | *   HiScoreCur    = $1FE2          (name-entry cursor)
16360 | 45               leaderboard.s     14 | Comment     | 11 |         |    0 | 00/9BD4               | *   HiScoreRowBuf  = $1FE3..$1FFE  (28-byte row scratch)
16361 | 45               leaderboard.s     15 | Comment     | 11 |         |    0 | 00/9BD4               | *
16362 | 45               leaderboard.s     16 | Empty       | 11 |         |    0 | 00/9BD4               |                                                       
16363 | 45               leaderboard.s     17 | Equivalence | 11 |         |    0 | 00/9BD4               | HiScoreTbl               =       $1F23                
16364 | 45               leaderboard.s     18 | Equivalence | 11 |         |    0 | 00/9BD4               | HiScoreNewRank           =       $1FE1                
16365 | 45               leaderboard.s     19 | Equivalence | 11 |         |    0 | 00/9BD4               | HiScoreCur               =       $1FE2                
16366 | 45               leaderboard.s     20 | Equivalence | 11 |         |    0 | 00/9BD4               | HiScoreRowBuf            =       $1FE3                
16367 | 45               leaderboard.s     21 | Empty       | 11 |         |    0 | 00/9BD4               |                                                       
16368 | 45               leaderboard.s     22 | Comment     | 11 |         |    0 | 00/9BD4               | *----------------------------------------------
16369 | 45               leaderboard.s     23 | Comment     | 11 |         |    0 | 00/9BD4               | * ProDOS MLI pathname (length-prefixed Pascal string).
16370 | 45               leaderboard.s     24 | Comment     | 11 |         |    0 | 00/9BD4               | * Relative path - resolves against the SYS prefix (boot volume).
16371 | 45               leaderboard.s     25 | Comment     | 11 |         |    0 | 00/9BD4               | *----------------------------------------------
16372 | 45               leaderboard.s     26 | Data        | 11 |         |    1 | 00/9BD4 : 09          | HSPath                   DFB     9                    
16373 | 45               leaderboard.s     27 | Data        | 11 |         |    9 | 00/9BD5 : C8 C9 C7 C8 |                          ASC     "HIGHSCORE"          
      |                                       |             |    |         |      |           D3 C3 CF D2 |
      |                                       |             |    |         |      |           C5          |
16374 | 45               leaderboard.s     28 | Empty       | 11 |         |    0 | 00/9BDE               |                                                       
16375 | 45               leaderboard.s     29 | Data        | 11 |         |    1 | 00/9BDE : 03          | OpenParms                DFB     3                    
16376 | 45               leaderboard.s     30 | Data        | 11 |         |    2 | 00/9BDF : D4 9B       | OpenPath                 DA      HSPath               
16377 | 45               leaderboard.s     31 | Data        | 11 |         |    2 | 00/9BE1 : 00 40       | OpenIOBuf                DA      $4000                ; DHGR page 2 main: free at boot, hidden during save
16378 | 45               leaderboard.s     32 | Data        | 11 |         |    1 | 00/9BE3 : 00          | OpenRef                  DFB     0                    
16379 | 45               leaderboard.s     33 | Empty       | 11 |         |    0 | 00/9BE4               |                                                       
16380 | 45               leaderboard.s     34 | Data        | 11 |         |    1 | 00/9BE4 : 04          | RWParms                  DFB     4                    
16381 | 45               leaderboard.s     35 | Data        | 11 |         |    1 | 00/9BE5 : 00          | RWRef                    DFB     0                    
16382 | 45               leaderboard.s     36 | Data        | 11 |         |    2 | 00/9BE6 : 23 1F       | RWBuf                    DA      {$1F23}              
16383 | 45               leaderboard.s     37 | Data        | 11 |         |    2 | 00/9BE8 : BE 00       | RWReq                    DA      190                  
16384 | 45               leaderboard.s     38 | Data        | 11 |         |    2 | 00/9BEA : 00 00       | RWTrans                  DA      0                    
16385 | 45               leaderboard.s     39 | Empty       | 11 |         |    0 | 00/9BEC               |                                                       
16386 | 45               leaderboard.s     40 | Data        | 11 |         |    1 | 00/9BEC : 01          | CloseParms               DFB     1                    
16387 | 45               leaderboard.s     41 | Data        | 11 |         |    1 | 00/9BED : 00          | CloseRef                 DFB     0                    
16388 | 45               leaderboard.s     42 | Empty       | 11 |         |    0 | 00/9BEE               |                                                       
16389 | 45               leaderboard.s     43 | Comment     | 11 |         |    0 | 00/9BEE               | *----------------------------------------------
16390 | 45               leaderboard.s     44 | Comment     | 11 |         |    0 | 00/9BEE               | * LoadHiScores / SaveHiScores - OPEN-{READ|WRITE}-CLOSE HIGHSCORE.
16391 | 45               leaderboard.s     45 | Comment     | 11 |         |    0 | 00/9BEE               | * On FILE NOT FOUND during LOAD, tail-calls CreateAndSeed.
16392 | 45               leaderboard.s     46 | Comment     | 11 |         |    0 | 00/9BEE               | * I/O buffer is $4000 (DHGR page 2 main): junk at boot (post-relocation),
16393 | 45               leaderboard.s     47 | Comment     | 11 |         |    0 | 00/9BEE               | * hidden during save (leaderboard keeps PAGE1 displayed).
16394 | 45               leaderboard.s     48 | Comment     | 11 |         |    0 | 00/9BEE               | * Aux-LC callers use SaveHiScoresFromAux (below) for the ALTZP dance.
16395 | 45               leaderboard.s     49 | Comment     | 11 |         |    0 | 00/9BEE               | *
16396 | 45               leaderboard.s     50 | Comment     | 11 |         |    0 | 00/9BEE               | * ProDOS MLI needs main ZP/stack, main RAM banked in for reads/writes,
16397 | 45               leaderboard.s     51 | Comment     | 11 |         |    0 | 00/9BEE               | * and LC bank 2 read-only (ProDOS lives there). Aux-LC callers come
16398 | 45               leaderboard.s     52 | Comment     | 11 |         |    0 | 00/9BEE               | * in with ALTZP on, LC read+write, and potentially RAMRD/RAMWRT aux
16399 | 45               leaderboard.s     53 | Comment     | 11 |         |    0 | 00/9BEE               | * from prior rendering - so we force the full MLI state here.
16400 | 45               leaderboard.s     54 | Comment     | 11 |         |    0 | 00/9BEE               | *----------------------------------------------
16401 | 45               leaderboard.s     55 | Comment     | 11 |         |    0 | 00/9BEE               | *----------------------------------------------
16402 | 45               leaderboard.s     56 | Comment     | 11 |         |    0 | 00/9BEE               | * SaveHiScoresFromAux - Trampoline for aux-LC callers.
16403 | 45               leaderboard.s     57 | Comment     | 11 |         |    0 | 00/9BEE               | *
16404 | 45               leaderboard.s     58 | Comment     | 11 |         |    0 | 00/9BEE               | * The aux-LC :save block can't toggle ALTZP itself: it lives in aux
16405 | 45               leaderboard.s     59 | Comment     | 11 |         |    0 | 00/9BEE               | * LC at $D8F1, and STA ALTZPOFF at $D8F1 would immediately unmap the
16406 | 45               leaderboard.s     60 | Comment     | 11 |         |    0 | 00/9BEE               | * aux bank we're fetching from, so the next instruction would be read
16407 | 45               leaderboard.s     61 | Comment     | 11 |         |    0 | 00/9BEE               | * from main LC (render_lc / guard_lc code) - crash. Main RAM below
16408 | 45               leaderboard.s     62 | Comment     | 11 |         |    0 | 00/9BEE               | * $C000 is unaffected by ALTZP, so we do the dance here instead.
16409 | 45               leaderboard.s     63 | Comment     | 11 |         |    0 | 00/9BEE               | *
16410 | 45               leaderboard.s     64 | Comment     | 11 |         |    0 | 00/9BEE               | * Stack accounting: caller's JSR pushed aux stack (ALTZP on). We flip
16411 | 45               leaderboard.s     65 | Comment     | 11 |         |    0 | 00/9BEE               | * ALTZP off, JSR SaveHiScores pushes main stack, its RTS pops main,
16412 | 45               leaderboard.s     66 | Comment     | 11 |         |    0 | 00/9BEE               | * we flip ALTZP back on, our RTS pops aux - restoring the caller's
16413 | 45               leaderboard.s     67 | Comment     | 11 |         |    0 | 00/9BEE               | * return frame.
16414 | 45               leaderboard.s     68 | Comment     | 11 |         |    0 | 00/9BEE               | *----------------------------------------------
16415 | 45               leaderboard.s     69 | Empty       | 11 |         |    0 | 00/9BEE               | SaveHiScoresFromAux                                   
16416 | 45               leaderboard.s     70 | Code        | 11 |         |    3 | 00/9BEE : 8D 08 C0    |                          STA     $C008                ; ALTZPOFF (safe: we are in main RAM)
16417 | 45               leaderboard.s     71 | Code        | 11 |         |    3 | 00/9BF1 : 20 FC 9B    |                          JSR     SaveHiScores         
16418 | 45               leaderboard.s     72 | Code        | 11 |         |    3 | 00/9BF4 : 8D 09 C0    |                          STA     $C009                ; ALTZPON (restore aux ZP/stack/LC)
16419 | 45               leaderboard.s     73 | Code        | 11 |         |    1 | 00/9BF7 : 60          |                          RTS                          
16420 | 45               leaderboard.s     74 | Empty       | 11 |         |    0 | 00/9BF8               |                                                       
16421 | 45               leaderboard.s     75 | Empty       | 11 |         |    0 | 00/9BF8               | LoadHiScores                                          
16422 | 45               leaderboard.s     76 | Code        | 11 |         |    2 | 00/9BF8 : A2 CA       |                          LDX     #$CA                 ; READ
16423 | 45               leaderboard.s     77 | Code        | 11 |         |    2 | 00/9BFA : 80 02       |                          BRA     _DoIO                
16424 | 45               leaderboard.s     78 | Empty       | 11 |         |    0 | 00/9BFC               |                                                       
16425 | 45               leaderboard.s     79 | Empty       | 11 |         |    0 | 00/9BFC               | SaveHiScores                                          
16426 | 45               leaderboard.s     80 | Code        | 11 |         |    2 | 00/9BFC : A2 CB       |                          LDX     #$CB                 ; WRITE
16427 | 45               leaderboard.s     81 | Empty       | 11 |         |    0 | 00/9BFE               |                                                       
16428 | 45               leaderboard.s     82 | Empty       | 11 |         |    0 | 00/9BFE               | _DoIO                                                 
16429 | 45               leaderboard.s     83 | Code        | 11 |         |    3 | 00/9BFE : 8E 21 9C    |                          STX     _rwCmd               
16430 | 45               leaderboard.s     84 | Code        | 11 |         |    3 | 00/9C01 : 8D 08 C0    |                          STA     $C008                ; ALTZPOFF (main ZP/stack/LC)
16431 | 45               leaderboard.s     85 | Code        | 11 |         |    3 | 00/9C04 : 8D 02 C0    |                          STA     $C002                ; RAMRDMAIN
16432 | 45               leaderboard.s     86 | Code        | 11 |         |    3 | 00/9C07 : 8D 04 C0    |                          STA     $C004                ; RAMWRTMAIN
16433 | 45               leaderboard.s     87 | Code        | 11 |         |    3 | 00/9C0A : AD 80 C0    |                          LDA     $C080                ; LC bank 2 read-only (ProDOS default)
16434 | 45               leaderboard.s     88 | Code        | 11 |         |    3 | 00/9C0D : 20 00 BF    |                          JSR     $BF00                
16435 | 45               leaderboard.s     89 | Data        | 11 |         |    1 | 00/9C10 : C8          |                          DFB     $C8                  ; OPEN
16436 | 45               leaderboard.s     90 | Data        | 11 |         |    2 | 00/9C11 : DE 9B       |                          DA      OpenParms            
16437 | 45               leaderboard.s     91 | Code        | 11 |         |    2 | 00/9C13 : B0 16       |                          BCS     _noFile              
16438 | 45               leaderboard.s     92 | Code        | 11 |         |    3 | 00/9C15 : AD E3 9B    |                          LDA     OpenRef              
16439 | 45               leaderboard.s     93 | Code        | 11 |         |    3 | 00/9C18 : 8D E5 9B    |                          STA     RWRef                
16440 | 45               leaderboard.s     94 | Code        | 11 |         |    3 | 00/9C1B : 8D ED 9B    |                          STA     CloseRef             
16441 | 45               leaderboard.s     95 | Code        | 11 |         |    3 | 00/9C1E : 20 00 BF    |                          JSR     $BF00                
16442 | 45               leaderboard.s     96 | Data        | 11 |         |    1 | 00/9C21 : 00          | _rwCmd                   DFB     0                    ; READ / WRITE (patched)
16443 | 45               leaderboard.s     97 | Data        | 11 |         |    2 | 00/9C22 : E4 9B       |                          DA      RWParms              
16444 | 45               leaderboard.s     98 | Code        | 11 |         |    3 | 00/9C24 : 20 00 BF    |                          JSR     $BF00                
16445 | 45               leaderboard.s     99 | Data        | 11 |         |    1 | 00/9C27 : CC          |                          DFB     $CC                  ; CLOSE
16446 | 45               leaderboard.s    100 | Data        | 11 |         |    2 | 00/9C28 : EC 9B       |                          DA      CloseParms           
16447 | 45               leaderboard.s    101 | Code        | 11 |         |    1 | 00/9C2A : 60          |                          RTS                          
16448 | 45               leaderboard.s    102 | Empty       | 11 |         |    0 | 00/9C2B               | _noFile                                               
16449 | 45               leaderboard.s    103 | Code        | 11 |         |    3 | 00/9C2B : AD 21 9C    |                          LDA     _rwCmd               
16450 | 45               leaderboard.s    104 | Code        | 11 |         |    2 | 00/9C2E : C9 CA       |                          CMP     #$CA                 ; READ? -> seed; WRITE -> silent fail
16451 | 45               leaderboard.s    105 | Code        | 11 |         |    2 | 00/9C30 : D0 03       |                          BNE     ozunid_85            
16452 | 45               leaderboard.s    106 | Code        | 11 |         |    3 | 00/9C32 : 4C 4A 3C    |                          JMP     CreateAndSeed        ; stub-resident; creates file + seeds
16453 | 45               leaderboard.s    107 | Code        | 11 |         |    1 | 00/9C35 : 60          | ozunid_85                RTS                          
16454 | 45               leaderboard.s    108 | Empty       | 11 |         |    0 | 00/9C36               |                                                       
16455 |  1                    bagman.s    130 | Empty       | 11 |         |    0 | 00/9C36               |                                                       
16456 |  1                    bagman.s    131 | Empty       | 11 |         |    0 | 00/9C36               | GameCodeEnd                                           
16457 |  1                    bagman.s    132 | Equivalence | 11 |         |    0 | 00/9C36               | GameCodeLen              =       GameCodeEnd-{$6000}  
16458 |  1                    bagman.s    133 | Equivalence | 11 |         |    0 | 00/9C36               | CodeSkip                 =       {ozunid_88-$0800}+{ozunid_89-{$D000}}+{ozunid_90-{$D400}}+{ozunid_92-{$D000}}+{ozunid_93-{$D100}}+{ozunid_94-{$E660}}+{ozunid_95-{$EA00}}+{GameCodeEnd-{$6000}}
16459 |  1                    bagman.s    134 | Empty       | 11 |         |    0 | 00/9C36               |                                                       
16460 |  1                    bagman.s    135 | Comment     | 11 |         |    0 | 00/9C36               | * --- Runtime-only tile atlas slot ---
16461 |  1                    bagman.s    136 | Comment     | 11 |         |    0 | 00/9C36               | * TileAtlas (211 tiles * 24 bytes = 5064 bytes) is decompressed at boot
16462 |  1                    bagman.s    137 | Comment     | 11 |         |    0 | 00/9C36               | * from TileAtlasCmp (in the $2000 stub) into the slot above GameCodeEnd.
16463 |  1                    bagman.s    138 | Comment     | 11 |         |    0 | 00/9C36               | * DUM reserves the label without emitting any file bytes, so the compressed
16464 |  1                    bagman.s    139 | Comment     | 11 |         |    0 | 00/9C36               | * blob is the only tile-graphics payload in the SYS image. TileAddrL/H in
16465 |  1                    bagman.s    140 | Comment     | 11 |         |    0 | 00/9C36               | * screendata.s reference TileAtlas via assembly-time <TileAtlas+N math, so
16466 |  1                    bagman.s    141 | Comment     | 11 |         |    0 | 00/9C36               | * the address tables point at wherever the DUM block lands.
16467 |  1                    bagman.s    142 | Empty       | 11 |         |    0 | 00/9C36               | ozunid_96                                             
16468 |  1                    bagman.s    142 | Dum         | 11 |         |    0 | 00/9C36               |                          DUM     ozunid_96            
16469 |  1                    bagman.s    143 | Dum         | 11 |         | 5064 | 00/9C36 : 00 00 00 00 | TileAtlas                DS      211*24               
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
      |                                       |             |    |         |      |           00 00 00 00 |
16470 |  1                    bagman.s    144 | Dum         | 11 |         |    0 | 00/AFFE               | TileAtlasEnd                                          
16471 |  1                    bagman.s    145 | Dum         | 11 |         |    0 | 00/AFFE               |                          DEND                         
16472 |  1                    bagman.s    146 | Empty       | 11 |         |    0 | 00/9C36               |                                                       
16473 |  1                    bagman.s    147 | Empty       | 11 |         |    0 | 00/9C36               |                                                       
------+---------------------------------------+-------------+----+---------+------+-----------------------+----------------------------------------------------------------------
